{"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: Tzeusy/butlers", "shortDescription": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "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: Tzeusy/butlers\nThread: Tzeusy/butlers#9\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#9\nRepo: Tzeusy/butlers\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 20\nEdges: 29\nNode types: {'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: {'chain_has_link_qua"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: Tzeusy/butlers", "shortDescription": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "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: Tzeusy/butlers\nThread: Tzeusy/butlers#9\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#9\nRepo: Tzeusy/butlers\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 20\nEdges: 29\nNode types: {'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: {'chain_has_link"}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: Tzeusy/butlers", "shortDescription": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#58\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: Tzeusy/butlers#58\nRepo: Tzeusy/butlers\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-cb915de543085fb1\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/58#issuecomment-3895404012\",\n    \"text\": \"GitHub fee"}, "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: Tzeusy/butlers", "shortDescription": {"text": "Foundry mined test ci gap after feedback: Tzeusy/butlers"}, "fullDescription": {"text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#8\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#8\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#8\nRepo: Tzeusy/butlers\nIssue/PR number: 8\nGraph consistency label: assumption_check\nNodes: 17\nEdges: 24\nNode types: {'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: {'chain_has_link_quality': 6, 'thread_ha"}, "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: Tzeusy/butlers", "shortDescription": {"text": "Foundry mined schema ui api mismatch: Tzeusy/butlers"}, "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: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#6\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#6\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#6\nRepo: Tzeusy/butlers\nIssue/PR number: 6\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_com"}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: Tzeusy/butlers", "shortDescription": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#9\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: Tzeusy/butlers#9\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 3\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'api_integration_gap': 2}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-07b24fede4871f1b\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/"}, "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: Tzeusy/butlers", "shortDescription": {"text": "Foundry mined security auth guardrail gaps: Tzeusy/butlers"}, "fullDescription": {"text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#7\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#7\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#7\nRepo: Tzeusy/butlers\nIssue/PR number: 7\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 25\nNode types: {'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: {'chain_has_l"}, "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: Tzeusy/butlers", "shortDescription": {"text": "Foundry mined mock as real or placeholder: Tzeusy/butlers"}, "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: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#9\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: Tzeusy/butlers\nThread: Tzeusy/butlers#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#9\nRepo: Tzeusy/butlers\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 20\nEdges: 29\nNode types: {'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge "}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"id": "scanner-944c07d7120e4d15", "name": "Possibly dead Python function: has_column", "shortDescription": {"text": "Possibly dead Python function: has_column"}, "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-ac18bbce21233613", "name": "Possibly dead Python function: has_table", "shortDescription": {"text": "Possibly dead Python function: has_table"}, "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-05dffc1973b8fbd4", "name": "Possibly dead Python function: contact_name_expr", "shortDescription": {"text": "Possibly dead Python function: contact_name_expr"}, "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-c78d397cd45990ff", "name": "Possibly dead Python function: contact_entity_map", "shortDescription": {"text": "Possibly dead Python function: contact_entity_map"}, "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-c0353d56eb9e509b", "name": "Possibly dead Python function: cmd_list", "shortDescription": {"text": "Possibly dead Python function: cmd_list"}, "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-20cf594fecf10920", "name": "Possibly dead Python function: cmd_reply", "shortDescription": {"text": "Possibly dead Python function: cmd_reply"}, "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-dba17fbbb775a305", "name": "Possibly dead Python function: cmd_resolve", "shortDescription": {"text": "Possibly dead Python function: cmd_resolve"}, "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-e51cbb0e604ef8a8", "name": "Possibly dead Python function: run_server", "shortDescription": {"text": "Possibly dead Python function: run_server"}, "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-573a84a6a0697fc4", "name": "Possibly dead Python function: force_end_session", "shortDescription": {"text": "Possibly dead Python function: force_end_session"}, "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-07803e72113b2924", "name": "Possibly dead Python function: run_server", "shortDescription": {"text": "Possibly dead Python function: run_server"}, "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-9ba42fc608d6c9f5", "name": "Possibly dead Python function: time_fired_unix_ms", "shortDescription": {"text": "Possibly dead Python function: time_fired_unix_ms"}, "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-de41c467b1ac17f7", "name": "Possibly dead Python function: connector_setup_role", "shortDescription": {"text": "Possibly dead Python function: connector_setup_role"}, "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-0bfc0b65f1820ed2", "name": "Possibly dead Python function: verify_connector_role", "shortDescription": {"text": "Possibly dead Python function: verify_connector_role"}, "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-016c588f25060ea9", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/layout/CommandPalette.tsx:358", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/layout/CommandPalette.tsx:358"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-79651db8f40d1f0a", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/layout/Sidebar.tsx:402", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/layout/Sidebar.tsx:402"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3b4f7d68ca145378", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/layout/EntityFinder.tsx:184", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/layout/EntityFinder.tsx:184"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f8f41f7b266e69e1", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/notifications/notification-feed.tsx:163", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/notifications/notification-feed.tsx:163"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5138d3872790a21e", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/qa/EvidenceLog.tsx:112", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/qa/EvidenceLog.tsx:112"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b8005cf277f53520", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/qa/CaseDossierHeader.tsx:65", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/qa/CaseDossierHeader.tsx:65"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-90bce6aa58243e9e", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/qa/CaseList.tsx:67", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/qa/CaseList.tsx:67"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-feae293493e80100", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/MealTracker.tsx:122", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/MealTracker.tsx:122"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c7772c89573f0f02", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/MedicationTracker.tsx:149", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/MedicationTracker.tsx:149"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d969821b79373da9", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/MeasurementChart.tsx:282", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/MeasurementChart.tsx:282"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-569eda6d46c64d00", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/SymptomTracker.tsx:135", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/SymptomTracker.tsx:135"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bed5fa90fadd739d", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/ConditionTracker.tsx:126", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/ConditionTracker.tsx:126"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ceef291875c2661d", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/MeasurementTracker.tsx:156", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/MeasurementTracker.tsx:156"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-78cf2224930fb8a4", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/activity/ActivityFeed.tsx:162", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/activity/ActivityFeed.tsx:162"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-11ae3bb255303b82", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/sessions/SessionDetailDrawer.tsx:91", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/sessions/SessionDetailDrawer.tsx:91"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3eabbd27ec0fd926", "name": "Custom React Flow node registered without explicit width/height \u2014 frontend/src/components/timeline/UnifiedTimeline.test.", "shortDescription": {"text": "Custom React Flow node registered without explicit width/height \u2014 frontend/src/components/timeline/UnifiedTimeline.test.tsx:9"}, "fullDescription": {"text": "When you register a custom node type via `nodeTypes`, the RFNode object you build must include `width` and `height` props. Without them, MiniMap renders ZERO mini-nodes for that type and `fitView` underestimates the bounds (cuts off lane labels, etc.). Add `width: \u2026, height: \u2026` to the node object. See P-I.\n\nWhy: P-I in CHECKLIST.md \u2014 RF MiniMap + fitView need explicit dims on custom nodes.\nRule id: fq.rfnode.no-dims"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-21aa2e6001fb7936", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/timeline/UnifiedTimeline.tsx:163", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/timeline/UnifiedTimeline.tsx:163"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f1c6eaedc92f047f", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/chat/ToolCallDetails.tsx:46", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/chat/ToolCallDetails.tsx:46"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa1ca2982a11ad17", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/chat/ConversationHeader.tsx:61", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/chat/ConversationHeader.tsx:61"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b3a0dba4dfe539de", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/audit/AuditLogTable.tsx:107", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/audit/AuditLogTable.tsx:107"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-382341e4136027b7", "name": "React Flow <Controls> without dark theming \u2014 frontend/src/components/education/MindMapGraph.tsx:180", "shortDescription": {"text": "React Flow <Controls> without dark theming \u2014 frontend/src/components/education/MindMapGraph.tsx:180"}, "fullDescription": {"text": "`<Controls>` ships with white buttons. Override `.react-flow__controls` and `.react-flow__controls-button` in your stylesheet or pass a styled wrapper.\n\nWhy: P1 in CHECKLIST.md \u2014 vendor defaults bleed light through.\nRule id: fq.controls.no-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c67ab160438bf8e", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/education/QuizHistoryList.tsx:128", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/education/QuizHistoryList.tsx:128"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ed2f36248d91e69f", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/TimelineTab.tsx:793", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/TimelineTab.tsx:793"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3ec5c258fc498df0", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/ConnectorErrorLog.tsx:74", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/ConnectorErrorLog.tsx:74"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1580916e888e6711", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/connectors/ConnectorRosterRow.tsx", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/connectors/ConnectorRosterRow.tsx:116"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-886e2e1798b439cf", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/connectors/ConnectorDetailView.ts", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/connectors/ConnectorDetailView.tsx:490"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-10767324edbd4723", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/connectors/DormantList.tsx:75", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/connectors/DormantList.tsx:75"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-16a9054ad3ce6f6c", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/timeline/EventDrawer.tsx:124", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/timeline/EventDrawer.tsx:124"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b12c823b56c667ef", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/filters/RuleRow.tsx:72", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/filters/RuleRow.tsx:72"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8959e22ba633355d", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/filters/PrioritySendersBlock.tsx:", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/filters/PrioritySendersBlock.tsx:221"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e65d2b344590b1eb", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/relationship/EntitiesIndexPage.tsx:921", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/relationship/EntitiesIndexPage.tsx:921"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fe9bf916e7f2d6cf", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/relationship/MergeCompareDialog.tsx:192", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/relationship/MergeCompareDialog.tsx:192"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-620c55c9ecf941a1", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/relationship/ContactChannelCard.tsx:738", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/relationship/ContactChannelCard.tsx:738"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0795f2a33211ac04", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/approvals/history-table.tsx:70", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/approvals/history-table.tsx:70"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d0d2e1298ac354bb", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/approvals/rules-table.tsx:59", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/approvals/rules-table.tsx:59"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-21b7be869141c950", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/approvals/action-table.tsx:85", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/approvals/action-table.tsx:85"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-47340055b9798b36", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/memory/FactsRegister.tsx:110", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/memory/FactsRegister.tsx:110"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c09c54da5e02e8df", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/memory/AttentionRail.tsx:141", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/memory/AttentionRail.tsx:141"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-73fa0b6e47525ffe", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/system/ButlerHeartbeatTile.tsx:83", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/system/ButlerHeartbeatTile.tsx:83"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c31ace41e4681638", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/system/DbSizeTile.tsx:77", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/system/DbSizeTile.tsx:77"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-33b85fb0f1a901d3", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerTravelTripsTab.tsx:394", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerTravelTripsTab.tsx:394"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d24c764c0e934c2e", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerRelationshipContactsTab", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerRelationshipContactsTab.tsx:309"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-55af551d8bfa9b18", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/GoogleHealthStatusCard.tsx:15", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/GoogleHealthStatusCard.tsx:154"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fe113ab5863c66b8", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/atoms.tsx:230", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/atoms.tsx:230"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dc526bfa0299b991", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerQaInvestigationsTab.tsx", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerQaInvestigationsTab.tsx:155"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ca2450182346a90", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerCrmTab.tsx:48", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerCrmTab.tsx:48"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7ba491c1fdff173d", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerFinanceFinancesTab.tsx:", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerFinanceFinancesTab.tsx:169"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e5b1b3d10598bd35", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerApprovalsTab.tsx:96", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerApprovalsTab.tsx:96"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f762ff3aee7bc604", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerLifestyleTasteTab.tsx:3", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerLifestyleTasteTab.tsx:317"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e29f53af9a0003f7", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerDetailHeader.tsx:171", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerDetailHeader.tsx:171"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8aad4e4050534a89", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerActivityTab.tsx:52", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerActivityTab.tsx:52"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0276943dd3c778d0", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerOverviewTab.tsx:108", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerOverviewTab.tsx:108"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-07f212997d4d4a12", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerSpendTab.tsx:142", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerSpendTab.tsx:142"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-990bdd3d0e386555", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerChroniclerTimelinesTab.", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerChroniclerTimelinesTab.tsx:299"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-df8d0962178948ed", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerEducationReviewsTab.tsx", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerEducationReviewsTab.tsx:317"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6bbf237ae99ab496", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerHealthMeasurementsTab.t", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerHealthMeasurementsTab.tsx:137"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d51708c7c037b939", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerMessengerConversationsT", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerMessengerConversationsTab.tsx:307"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e854ba72d3884c11", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerGeneralCollectionsTab.t", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerGeneralCollectionsTab.tsx:214"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e0a1f76ea5886e1d", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/SiblingButlerNav.tsx:189", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/SiblingButlerNav.tsx:189"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-853b2d0dec8abeef", "name": "Icon-only button without accessible name \u2014 frontend/src/components/butler-detail/ButlerManagementTab.tsx:326", "shortDescription": {"text": "Icon-only button without accessible name \u2014 frontend/src/components/butler-detail/ButlerManagementTab.tsx:326"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a46922e1a1443f2", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerHomeDevicesTab.tsx:210", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerHomeDevicesTab.tsx:210"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-52479742e1f9ad78", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerConfigTab.tsx:168", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerConfigTab.tsx:168"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-16c27df532e1f968", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerTriggerTab.tsx:269", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerTriggerTab.tsx:269"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4a60cd001581be57", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/SecretsTable.tsx:420", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/SecretsTable.tsx:420"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-960785cc146a612f", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/passport/Spine.tsx:189", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/passport/Spine.tsx:189"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-77828dba34e1c474", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/passport/KV.tsx:50", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/passport/KV.tsx:50"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c4e3016ac81b724e", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/passport/ProviderConfigDrawer.tsx:7", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/passport/ProviderConfigDrawer.tsx:768"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7de0e855d938739d", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/passport/pages.tsx:381", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/passport/pages.tsx:381"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d871fa1dee8e6c7a", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/switchboard/RegistryTable.tsx:144", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/switchboard/RegistryTable.tsx:144"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-98cf956da8be7b28", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/switchboard/RoutingLogTable.tsx:171", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/switchboard/RoutingLogTable.tsx:171"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1b5a80573739462c", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/switchboard/BackfillHistoryTab.tsx:146", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/switchboard/BackfillHistoryTab.tsx:146"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0374422ba0856f3d", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butlers/StatusBoardCell.tsx:167", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butlers/StatusBoardCell.tsx:167"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5aefb9769a1813ca", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/QaPatrolDetailPage.tsx:99", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/QaPatrolDetailPage.tsx:99"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fa49183c46e426b6", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/GroupsPage.tsx:341", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/GroupsPage.tsx:341"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5039a70a9b2208d1", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/EntityDetailPage.tsx:1170", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/EntityDetailPage.tsx:1170"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9e83a6937d7c36d3", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/ApprovalsPage.tsx:108", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/ApprovalsPage.tsx:108"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c6a55c3d121feeef", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/SettingsConsolePage.tsx:159", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/SettingsConsolePage.tsx:159"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-225044c89358b9e0", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/SettingsSpendPage.tsx:407", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/SettingsSpendPage.tsx:407"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7bc200796c499fac", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/SettingsModelsPage.tsx:902", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/SettingsModelsPage.tsx:902"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ca82a6b4b84296e", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/SettingsPermissionsPage.tsx:783", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/SettingsPermissionsPage.tsx:783"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9a9693f65fe7252b", "name": "Custom React Flow node registered without explicit width/height \u2014 frontend/src/pages/DashboardPage.test.tsx:602", "shortDescription": {"text": "Custom React Flow node registered without explicit width/height \u2014 frontend/src/pages/DashboardPage.test.tsx:602"}, "fullDescription": {"text": "When you register a custom node type via `nodeTypes`, the RFNode object you build must include `width` and `height` props. Without them, MiniMap renders ZERO mini-nodes for that type and `fitView` underestimates the bounds (cuts off lane labels, etc.). Add `width: \u2026, height: \u2026` to the node object. See P-I.\n\nWhy: P-I in CHECKLIST.md \u2014 RF MiniMap + fitView need explicit dims on custom nodes.\nRule id: fq.rfnode.no-dims"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5eca0789b111aff1", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/CalendarWorkspacePage.tsx:1910", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/CalendarWorkspacePage.tsx:1910"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-471f57b22833f3ee", "name": "Privileged port 4 in use", "shortDescription": {"text": "Privileged port 4 in use"}, "fullDescription": {"text": "Port 4 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-e27bc7b03839a3a0", "name": "Privileged port 2 in use", "shortDescription": {"text": "Privileged port 2 in use"}, "fullDescription": {"text": "Port 2 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-d63da3583b14afc0", "name": "Dockerfile runs as root: Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-320bf3c66237de94", "name": "Docker base image is tag-pinned but not digest-pinned: golang:1.25-bookworm", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: golang:1.25-bookworm"}, "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-fe64d00bf0d1f8ca", "name": "Docker base image uses a mutable or implicit tag: butlers-base:latest", "shortDescription": {"text": "Docker base image uses a mutable or implicit tag: butlers-base:latest"}, "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": "medium", "confidence": 1.0}}, {"id": "scanner-f0b1d044f44c8bc2", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/router.test.tsx:66", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/router.test.tsx:66"}, "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-45181b2e3b1506d7", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ui/time.test.tsx:53", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ui/time.test.tsx:53"}, "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-cf68f25d60f6a62c", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ui/time-app-timezone.test.tsx:42", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ui/time-app-timezone.test.tsx:42"}, "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-c3b9ce300aeb9646", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/workspace/TimeWindowPicker.test.tsx:48", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/workspace/TimeWindowPicker.test.tsx:48"}, "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-1b87f93587b8e057", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/IngestionSubNav.test.tsx:37", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/IngestionSubNav.test.tsx:37"}, "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-d0be1b24f8356494", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/connectors/ConnectorsRoster.test.tsx", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/connectors/ConnectorsRoster.test.tsx:116"}, "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-3a550c6950d3d3d8", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/connectors/ConnectorDetailView.test.", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/connectors/ConnectorDetailView.test.tsx:92"}, "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-dad96d2626fc411a", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/filters/FiltersPipeline.test.tsx:202", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/filters/FiltersPipeline.test.tsx:202"}, "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-0f5873d3136f2502", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/filters/RuleEditor.test.tsx:69", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/filters/RuleEditor.test.tsx:69"}, "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-bb231752d90af6ab", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/SocialMapView.test.tsx:124", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/SocialMapView.test.tsx:124"}, "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-111efcd7de616ebd", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/DeltaSinceLastVisitBanner.test.ts", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/DeltaSinceLastVisitBanner.test.tsx:78"}, "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-844c4bc5ef4f3ab3", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/LatestInteractionsBlock.test.tsx:", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/LatestInteractionsBlock.test.tsx:93"}, "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-fe738d69ebaf89e5", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/HopPage.test.tsx:184", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/HopPage.test.tsx:184"}, "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-75b4aba43956b5b5", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/ActivitySparkline.test.tsx:76", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/ActivitySparkline.test.tsx:76"}, "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-a1c1581c2826a34b", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/ConcentrationPage.test.tsx:184", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/ConcentrationPage.test.tsx:184"}, "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-ad926e6fe8b11c10", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/EntitiesIndexPage.test.tsx:248", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/EntitiesIndexPage.test.tsx:248"}, "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-8cae88a18f90bc2b", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/SubpageTabs.test.tsx:52", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/SubpageTabs.test.tsx:52"}, "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-2663c96f276885e1", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/ColumnsPage.test.tsx:200", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/ColumnsPage.test.tsx:200"}, "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-0d16d8e43432d7cf", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/CoreDatesBlock.test.tsx:72", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/CoreDatesBlock.test.tsx:72"}, "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-d95b6701981112af", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/memory/ConcentricCirclesCanvas.test.tsx:56", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/memory/ConcentricCirclesCanvas.test.tsx:56"}, "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-5c6b0be0af1776bb", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/butlers/BoardFooter.test.tsx:54", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/butlers/BoardFooter.test.tsx:54"}, "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-e26cc288a6f5ee58", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/butlers/BoardHeader.test.tsx:57", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/butlers/BoardHeader.test.tsx:57"}, "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-c5e06af09988bf30", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/pages/IngestionDispatchFoundation.test.tsx:120", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/pages/IngestionDispatchFoundation.test.tsx:120"}, "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-3bb1ce79845df161", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/pages/SocialMapPage.test.tsx:148", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/pages/SocialMapPage.test.tsx:148"}, "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-8ffcb9fd2ac7a375", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/pages/IngestionTimelinePage.test.tsx:86", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/pages/IngestionTimelinePage.test.tsx:86"}, "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-563ed229ca405a3d", "name": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/pages/IngestionSubRoutes.test.tsx:113", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/pages/IngestionSubRoutes.test.tsx:113"}, "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-f7d30d820ba548e9", "name": "Possible secret in src/butlers/api/db.py", "shortDescription": {"text": "Possible secret in src/butlers/api/db.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-2ddbf496fb54a24e", "name": "Insecure pattern 'tls_verify_false' in src/butlers/jobs/home.py:136", "shortDescription": {"text": "Insecure pattern 'tls_verify_false' in src/butlers/jobs/home.py:136"}, "fullDescription": {"text": "Found a known-risky pattern (tls_verify_false). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-27924aa79fa4a517", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-python@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-f8c0801f98c9d930", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-python@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-46c644c6227e4d4a", "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-1838a141491ce38c", "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-1c1b56d440e7f413", "name": "Very large file: frontend/tests/e2e/secrets-passport-parity.spec.ts (1510 lines)", "shortDescription": {"text": "Very large file: frontend/tests/e2e/secrets-passport-parity.spec.ts (1510 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-531245ef7723fc46", "name": "Very large file: frontend/src/api/client.ts (6216 lines)", "shortDescription": {"text": "Very large file: frontend/src/api/client.ts (6216 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-124689ae552cf7f9", "name": "Very large file: frontend/src/api/types.ts (6698 lines)", "shortDescription": {"text": "Very large file: frontend/src/api/types.ts (6698 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-e0bd724831f45d80", "name": "Very large file: frontend/src/components/ingestion/TimelineTab.test.tsx (1717 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/ingestion/TimelineTab.test.tsx (1717 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-6bcfb208d234e7cb", "name": "Very large file: frontend/src/components/ingestion/TimelineTab.tsx (1565 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/ingestion/TimelineTab.tsx (1565 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-9e0792bc35779459", "name": "Very large file: frontend/src/components/relationship/EntitiesIndexPage.tsx (1630 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/relationship/EntitiesIndexPage.tsx (1630 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-c670131d6424eff2", "name": "Very large file: frontend/src/components/relationship/EntitiesIndexPage.test.tsx (1717 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/relationship/EntitiesIndexPage.test.tsx (1717 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-dddcfe86e67ef8e2", "name": "Very large file: frontend/src/components/secrets/passport/passport.test.tsx (1405 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/secrets/passport/passport.test.tsx (1405 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-1798abbd5eb41344", "name": "Very large file: frontend/src/components/secrets/passport/ProviderConfigDrawer.tsx (1551 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/secrets/passport/ProviderConfigDrawer.tsx (1551 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-e0240f5c96b2402e", "name": "Very large file: frontend/src/components/secrets/passport/pages.tsx (3388 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/secrets/passport/pages.tsx (3388 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-d90be72398c16a09", "name": "Very large file: frontend/src/components/switchboard/FiltersTab.tsx (1750 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/switchboard/FiltersTab.tsx (1750 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-ab20c120ceaa226a", "name": "Very large file: frontend/src/pages/EntityDetailPage.tsx (3473 lines)", "shortDescription": {"text": "Very large file: frontend/src/pages/EntityDetailPage.tsx (3473 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-9e4c839e273a7448", "name": "Very large file: frontend/src/pages/ButlerDetailPage.test.tsx (2565 lines)", "shortDescription": {"text": "Very large file: frontend/src/pages/ButlerDetailPage.test.tsx (2565 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-c4047a67adcec6d9", "name": "Very large file: frontend/src/pages/CalendarWorkspacePage.tsx (2613 lines)", "shortDescription": {"text": "Very large file: frontend/src/pages/CalendarWorkspacePage.tsx (2613 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-20897cff948464b4", "name": "Very large file: roster/health/tests/test_wellness_ingest.py (1498 lines)", "shortDescription": {"text": "Very large file: roster/health/tests/test_wellness_ingest.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-a69248d12f4dc829", "name": "Very large file: roster/health/tests/test_tools.py (1960 lines)", "shortDescription": {"text": "Very large file: roster/health/tests/test_tools.py (1960 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-3b04f627297c7afa", "name": "Very large file: roster/health/api/router.py (1623 lines)", "shortDescription": {"text": "Very large file: roster/health/api/router.py (1623 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-3854bfa0fc82d4ee", "name": "Very large file: roster/finance/tests/test_integration.py (1671 lines)", "shortDescription": {"text": "Very large file: roster/finance/tests/test_integration.py (1671 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-bf73d150e9c5cbdc", "name": "Very large file: roster/finance/tests/test_pattern_recognition.py (2004 lines)", "shortDescription": {"text": "Very large file: roster/finance/tests/test_pattern_recognition.py (2004 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-b9e405099cf8710e", "name": "Very large file: roster/finance/tests/test_jobs.py (1669 lines)", "shortDescription": {"text": "Very large file: roster/finance/tests/test_jobs.py (1669 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-cdbf0416e7379ec6", "name": "Very large file: roster/finance/tests/test_api.py (1627 lines)", "shortDescription": {"text": "Very large file: roster/finance/tests/test_api.py (1627 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-9dfdd3fbbfca6fd9", "name": "Very large file: roster/finance/tests/test_budgets.py (1402 lines)", "shortDescription": {"text": "Very large file: roster/finance/tests/test_budgets.py (1402 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-94070c2767ee3757", "name": "Very large file: roster/finance/tests/test_facts.py (2737 lines)", "shortDescription": {"text": "Very large file: roster/finance/tests/test_facts.py (2737 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-0d50b5850d00603c", "name": "Very large file: roster/finance/tests/test_transaction_crud.py (1315 lines)", "shortDescription": {"text": "Very large file: roster/finance/tests/test_transaction_crud.py (1315 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-4879f0ac6ca971f2", "name": "Very large file: roster/finance/modules/tools.py (1334 lines)", "shortDescription": {"text": "Very large file: roster/finance/modules/tools.py (1334 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-d6bf806e9e1e49d4", "name": "Very large file: roster/finance/tools/transactions.py (1752 lines)", "shortDescription": {"text": "Very large file: roster/finance/tools/transactions.py (1752 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-78dce6d5aea8d11c", "name": "Very large file: roster/finance/tools/facts.py (1689 lines)", "shortDescription": {"text": "Very large file: roster/finance/tools/facts.py (1689 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-770e9627f97ce0e7", "name": "Very large file: roster/education/tests/test_teaching_flows.py (1554 lines)", "shortDescription": {"text": "Very large file: roster/education/tests/test_teaching_flows.py (1554 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-251f058938f9e572", "name": "Very large file: roster/education/tests/test_api.py (1593 lines)", "shortDescription": {"text": "Very large file: roster/education/tests/test_api.py (1593 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-b48c36856381f823", "name": "Very large file: roster/education/tests/test_mastery.py (1292 lines)", "shortDescription": {"text": "Very large file: roster/education/tests/test_mastery.py (1292 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-a6a54cb5a5899ae5", "name": "Very large file: roster/home/modules/__init__.py (2404 lines)", "shortDescription": {"text": "Very large file: roster/home/modules/__init__.py (2404 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-882da4a67ef8a6f1", "name": "Very large file: roster/chronicler/api/router.py (2252 lines)", "shortDescription": {"text": "Very large file: roster/chronicler/api/router.py (2252 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-022fdc43a5d8d73a", "name": "Very large file: roster/relationship/tests/test_dunbar.py (1851 lines)", "shortDescription": {"text": "Very large file: roster/relationship/tests/test_dunbar.py (1851 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-b46aa9f272c83375", "name": "Very large file: roster/relationship/tests/test_entities_api.py (2688 lines)", "shortDescription": {"text": "Very large file: roster/relationship/tests/test_entities_api.py (2688 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-9b1923eca5c124e9", "name": "Very large file: roster/relationship/tests/test_jobs.py (2316 lines)", "shortDescription": {"text": "Very large file: roster/relationship/tests/test_jobs.py (2316 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-acf501808f19aed8", "name": "Very large file: roster/relationship/tests/test_entity_tabs.py (1778 lines)", "shortDescription": {"text": "Very large file: roster/relationship/tests/test_entity_tabs.py (1778 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-078e1e7e6e16eb22", "name": "Very large file: roster/relationship/tests/test_tools.py (2772 lines)", "shortDescription": {"text": "Very large file: roster/relationship/tests/test_tools.py (2772 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-8714bcb5456ffae2", "name": "Very large file: roster/relationship/api/router.py (8074 lines)", "shortDescription": {"text": "Very large file: roster/relationship/api/router.py (8074 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-bba5c0fe3aa0d1ee", "name": "Very large file: roster/relationship/api/models.py (1809 lines)", "shortDescription": {"text": "Very large file: roster/relationship/api/models.py (1809 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-3930810a2cf2fcde", "name": "Very large file: roster/relationship/jobs/relationship_jobs.py (1761 lines)", "shortDescription": {"text": "Very large file: roster/relationship/jobs/relationship_jobs.py (1761 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-5d82e5839d9f3a1c", "name": "Very large file: roster/switchboard/tests/test_deliver_unit.py (1475 lines)", "shortDescription": {"text": "Very large file: roster/switchboard/tests/test_deliver_unit.py (1475 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-ef97c8914d7cddb3", "name": "Very large file: roster/switchboard/tests/test_tools.py (1816 lines)", "shortDescription": {"text": "Very large file: roster/switchboard/tests/test_tools.py (1816 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-ccdfea07487c562b", "name": "Very large file: roster/switchboard/api/router.py (3466 lines)", "shortDescription": {"text": "Very large file: roster/switchboard/api/router.py (3466 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-83a91b4985d00974", "name": "Very large file: tests/adapters/test_codex_adapter.py (1529 lines)", "shortDescription": {"text": "Very large file: tests/adapters/test_codex_adapter.py (1529 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-9831f56a69539431", "name": "Very large file: tests/connectors/test_google_health_connector.py (2070 lines)", "shortDescription": {"text": "Very large file: tests/connectors/test_google_health_connector.py (2070 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-e5d0d9797ecd77e1", "name": "Very large file: tests/api/test_memory.py (1530 lines)", "shortDescription": {"text": "Very large file: tests/api/test_memory.py (1530 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-1f9241c98280db7e", "name": "Very large file: tests/api/test_secrets_v2_inventory.py (2005 lines)", "shortDescription": {"text": "Very large file: tests/api/test_secrets_v2_inventory.py (2005 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-005239efbfc9a899", "name": "Very large file: tests/api/test_api_health_facts_reads.py (1585 lines)", "shortDescription": {"text": "Very large file: tests/api/test_api_health_facts_reads.py (1585 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-2cc6f743a206db8a", "name": "Very large file: tests/dashboard/test_briefing.py (1682 lines)", "shortDescription": {"text": "Very large file: tests/dashboard/test_briefing.py (1682 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-ffdda49ebaef209c", "name": "Very large file: tests/modules/test_insight_engine.py (1623 lines)", "shortDescription": {"text": "Very large file: tests/modules/test_insight_engine.py (1623 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-5187ea718195ea84", "name": "Very large file: tests/modules/test_module_calendar.py (1984 lines)", "shortDescription": {"text": "Very large file: tests/modules/test_module_calendar.py (1984 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-d0ac45e8d26dccb9", "name": "Very large file: tests/modules/memory/test_tools_entities.py (1240 lines)", "shortDescription": {"text": "Very large file: tests/modules/memory/test_tools_entities.py (1240 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-21d0cf4c43dec147", "name": "Very large file: tests/daemon/test_daemon.py (1874 lines)", "shortDescription": {"text": "Very large file: tests/daemon/test_daemon.py (1874 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-fbba9b75a1c6ec77", "name": "Very large file: tests/core/test_model_routing.py (1476 lines)", "shortDescription": {"text": "Very large file: tests/core/test_model_routing.py (1476 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-c9d9ee9aa98a98ea", "name": "Very large file: tests/core/test_core_spawner.py (2700 lines)", "shortDescription": {"text": "Very large file: tests/core/test_core_spawner.py (2700 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-5c0e39e31323ca48", "name": "Very large file: tests/migrations/test_backfill_contact_info_triples.py (1398 lines)", "shortDescription": {"text": "Very large file: tests/migrations/test_backfill_contact_info_triples.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-d0287d10e254549a", "name": "Very large file: src/butlers/daemon.py (1602 lines)", "shortDescription": {"text": "Very large file: src/butlers/daemon.py (1602 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-de66568a7b88c5cf", "name": "Very large file: src/butlers/connectors/discord_user.py (1399 lines)", "shortDescription": {"text": "Very large file: src/butlers/connectors/discord_user.py (1399 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-afd893444e862040", "name": "Very large file: src/butlers/connectors/google_drive.py (2325 lines)", "shortDescription": {"text": "Very large file: src/butlers/connectors/google_drive.py (2325 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-a9caae4f9b6248d4", "name": "Very large file: src/butlers/connectors/steam.py (1919 lines)", "shortDescription": {"text": "Very large file: src/butlers/connectors/steam.py (1919 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-0db04cd5f74feb35", "name": "Very large file: src/butlers/connectors/gmail.py (3983 lines)", "shortDescription": {"text": "Very large file: src/butlers/connectors/gmail.py (3983 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-7eae44c547e8f75b", "name": "Very large file: src/butlers/connectors/spotify_client.py (1499 lines)", "shortDescription": {"text": "Very large file: src/butlers/connectors/spotify_client.py (1499 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-0c935d958f809e9b", "name": "Very large file: src/butlers/connectors/home_assistant.py (1964 lines)", "shortDescription": {"text": "Very large file: src/butlers/connectors/home_assistant.py (1964 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-7f43c604c96a4306", "name": "Very large file: src/butlers/connectors/google_health.py (2514 lines)", "shortDescription": {"text": "Very large file: src/butlers/connectors/google_health.py (2514 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-70873daa1086a85f", "name": "Very large file: src/butlers/connectors/telegram_bot.py (1293 lines)", "shortDescription": {"text": "Very large file: src/butlers/connectors/telegram_bot.py (1293 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-152016dbdd7b0fa2", "name": "Very large file: src/butlers/connectors/spotify.py (2161 lines)", "shortDescription": {"text": "Very large file: src/butlers/connectors/spotify.py (2161 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-74af4a56ef48bdea", "name": "Very large file: src/butlers/connectors/telegram_user_client.py (2272 lines)", "shortDescription": {"text": "Very large file: src/butlers/connectors/telegram_user_client.py (2272 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-6f3bde7340342a7f", "name": "Very large file: src/butlers/connectors/google_calendar.py (2402 lines)", "shortDescription": {"text": "Very large file: src/butlers/connectors/google_calendar.py (2402 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-710fe016313eec18", "name": "Very large file: src/butlers/connectors/whatsapp_user_client.py (1713 lines)", "shortDescription": {"text": "Very large file: src/butlers/connectors/whatsapp_user_client.py (1713 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-0502c89cc2fcc81e", "name": "Very large file: src/butlers/connectors/owntracks.py (1933 lines)", "shortDescription": {"text": "Very large file: src/butlers/connectors/owntracks.py (1933 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-4127cedffb642464", "name": "Very large file: src/butlers/api/routers/ingestion_connectors.py (1451 lines)", "shortDescription": {"text": "Very large file: src/butlers/api/routers/ingestion_connectors.py (1451 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-129f7d760e1b4dcb", "name": "Very large file: src/butlers/api/routers/spend.py (1498 lines)", "shortDescription": {"text": "Very large file: src/butlers/api/routers/spend.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-3483df2fcfab827e", "name": "Very large file: src/butlers/api/routers/memory.py (2300 lines)", "shortDescription": {"text": "Very large file: src/butlers/api/routers/memory.py (2300 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-9bb60dca7deb30f6", "name": "Very large file: src/butlers/api/routers/qa.py (3338 lines)", "shortDescription": {"text": "Very large file: src/butlers/api/routers/qa.py (3338 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-96b79dffd544f78e", "name": "Very large file: src/butlers/api/routers/model_settings.py (1665 lines)", "shortDescription": {"text": "Very large file: src/butlers/api/routers/model_settings.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-1b0337eba80c3b4e", "name": "Very large file: src/butlers/api/routers/oauth.py (3259 lines)", "shortDescription": {"text": "Very large file: src/butlers/api/routers/oauth.py (3259 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-004bfd02d3a14dd3", "name": "Very large file: src/butlers/api/routers/secrets_v2.py (4325 lines)", "shortDescription": {"text": "Very large file: src/butlers/api/routers/secrets_v2.py (4325 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-26a0610d10c6917a", "name": "Very large file: src/butlers/api/routers/approvals.py (2266 lines)", "shortDescription": {"text": "Very large file: src/butlers/api/routers/approvals.py (2266 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-419490d0364ef219", "name": "Very large file: src/butlers/modules/calendar.py (8250 lines)", "shortDescription": {"text": "Very large file: src/butlers/modules/calendar.py (8250 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-776fb455bb0525ba", "name": "Very large file: src/butlers/modules/pipeline.py (2391 lines)", "shortDescription": {"text": "Very large file: src/butlers/modules/pipeline.py (2391 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-e9182fd955f06eb9", "name": "Very large file: src/butlers/modules/qa/__init__.py (1951 lines)", "shortDescription": {"text": "Very large file: src/butlers/modules/qa/__init__.py (1951 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-1a613b7f6c8042e0", "name": "Very large file: src/butlers/modules/memory/__init__.py (1621 lines)", "shortDescription": {"text": "Very large file: src/butlers/modules/memory/__init__.py (1621 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-7b67dc58d2f0fe4f", "name": "Very large file: src/butlers/modules/memory/storage.py (2544 lines)", "shortDescription": {"text": "Very large file: src/butlers/modules/memory/storage.py (2544 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-a3de8454cc23c57b", "name": "Very large file: src/butlers/modules/memory/tools/entities.py (1370 lines)", "shortDescription": {"text": "Very large file: src/butlers/modules/memory/tools/entities.py (1370 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-68bd75523146b491", "name": "Very large file: src/butlers/modules/contacts/sync.py (1507 lines)", "shortDescription": {"text": "Very large file: src/butlers/modules/contacts/sync.py (1507 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-8d0ba556513aed7f", "name": "Very large file: src/butlers/core/spawner.py (2975 lines)", "shortDescription": {"text": "Very large file: src/butlers/core/spawner.py (2975 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-bacc3653320a65e0", "name": "Very large file: src/butlers/core/scheduler.py (2324 lines)", "shortDescription": {"text": "Very large file: src/butlers/core/scheduler.py (2324 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-d4c184a939ee0fe8", "name": "Very large file: src/butlers/core/qa/dispatch.py (3796 lines)", "shortDescription": {"text": "Very large file: src/butlers/core/qa/dispatch.py (3796 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-0c4a0a7c15bf150f", "name": "Very large file: src/butlers/core/runtimes/codex.py (1993 lines)", "shortDescription": {"text": "Very large file: src/butlers/core/runtimes/codex.py (1993 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-2d55c01488d47671", "name": "Very large file: src/butlers/core/healing/dispatch.py (1755 lines)", "shortDescription": {"text": "Very large file: src/butlers/core/healing/dispatch.py (1755 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-c166ddfc64c5564f", "name": "Very large file: src/butlers/jobs/briefing.py (1491 lines)", "shortDescription": {"text": "Very large file: src/butlers/jobs/briefing.py (1491 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-c1ad08b1e85f90a2", "name": "Very large file: src/butlers/jobs/home.py (2299 lines)", "shortDescription": {"text": "Very large file: src/butlers/jobs/home.py (2299 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 148 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 298 placeholder/mock markers across 115 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-2679282aa1c484b5", "name": "Agent authority lacks a verifier contract: AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: AGENTS.md"}, "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-658dcbe8e62bc990", "name": "Agent authority lacks a verifier contract: roster/shared/AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: roster/shared/AGENTS.md"}, "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-4b0356d593fa482b", "name": "Agent authority lacks a verifier contract: roster/messenger/GEMINI.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: roster/messenger/GEMINI.md"}, "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-4ef58f721c6a4a13", "name": "Agent authority lacks a verifier contract: roster/messenger/CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: roster/messenger/CLAUDE.md"}, "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-626de1094064c6ea", "name": "Agent authority lacks a verifier contract: roster/messenger/AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: roster/messenger/AGENTS.md"}, "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-8bd7a4accbb53afc", "name": "Agent authority lacks a verifier contract: roster/switchboard/AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: roster/switchboard/AGENTS.md"}, "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-3d5de168281a922f", "name": "Agent authority lacks a verifier contract: roster/travel/AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: roster/travel/AGENTS.md"}, "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-cd5615d123166ec6", "name": "Agent authority lacks a verifier contract: .claude/commands/opsx/ff.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/ff.md"}, "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-6c10344bdf57df51", "name": "Agent authority lacks a verifier contract: .claude/commands/opsx/sync.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/sync.md"}, "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-df8d7aecf447de62", "name": "Agent authority lacks a verifier contract: .claude/commands/opsx/archive.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/archive.md"}, "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-ad09ff7aa9b7a2e2", "name": "Agent authority lacks a verifier contract: .claude/commands/opsx/onboard.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/onboard.md"}, "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-021b572fe2fa6b9c", "name": "Agent authority lacks a verifier contract: .claude/commands/opsx/apply.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/apply.md"}, "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-3a0812fc7c4ea388", "name": "Agent authority lacks a verifier contract: .claude/commands/opsx/new.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/new.md"}, "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-c782c3e951b88dce", "name": "Agent authority lacks a verifier contract: .claude/skills/reconcile-spec-to-project/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/reconcile-spec-to-project/SKILL.md"}, "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-7942008c41c4b843", "name": "Agent authority lacks a verifier contract: .claude/skills/butler-tool-review/references/tool-budget.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-tool-review/references/tool-budget.md"}, "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-312e1fe18740d123", "name": "Agent authority lacks a verifier contract: .claude/skills/openspec-new-change/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-new-change/SKILL.md"}, "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-f04ed68e31890a87", "name": "Agent authority lacks a verifier contract: .claude/skills/spec-and-spine/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/spec-and-spine/SKILL.md"}, "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-5aac9a70e6b57179", "name": "Agent authority lacks a verifier contract: .claude/skills/butlers-redesign-prompt/references/llm-pricing.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/butlers-redesign-prompt/references/llm-pricing.md"}, "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-d110b5d5be6392e5", "name": "Agent authority lacks a verifier contract: .claude/skills/butlers-redesign-prompt/references/input-gathering.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/butlers-redesign-prompt/references/input-gathering.md"}, "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-c19d9cab97b642d7", "name": "Agent authority lacks a verifier contract: .claude/skills/butlers-redesign-prompt/assets/brief-template.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/butlers-redesign-prompt/assets/brief-template.md"}, "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-14b94de34d897ad4", "name": "Agent authority lacks a verifier contract: .claude/skills/openspec-apply-change/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-apply-change/SKILL.md"}, "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-8a585f74bb40a5f1", "name": "Agent authority lacks a verifier contract: .claude/skills/openspec-archive-change/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-archive-change/SKILL.md"}, "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-28e2356b2fffdcd1", "name": "Agent authority lacks a verifier contract: .claude/skills/butler-dev-debug/references/session-queries.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-dev-debug/references/session-queries.md"}, "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-737e8d19e2cb9f40", "name": "Agent authority lacks a verifier contract: .claude/skills/butler-dev-debug/references/logs-and-health.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-dev-debug/references/logs-and-health.md"}, "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-9e74203c44e41d28", "name": "Agent authority lacks a verifier contract: .claude/skills/butler-qa-pr-review/references/pii-and-replies.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-qa-pr-review/references/pii-and-replies.md"}, "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-e463f538ad5be65b", "name": "Agent authority lacks a verifier contract: .claude/skills/butler-qa-pr-review/agents/openai.yaml", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-qa-pr-review/agents/openai.yaml"}, "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-7db1b297ad1a6fb1", "name": "Agent authority lacks a verifier contract: .claude/skills/butler-test-condensation/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-test-condensation/SKILL.md"}, "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-1fce748eb4b82f0c", "name": "Agent authority lacks a verifier contract: .claude/skills/butler-test-condensation/references/domains.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-test-condensation/references/domains.md"}, "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-67470287ca0033e8", "name": "Agent authority lacks a verifier contract: .claude/skills/butler-test-condensation/references/classification.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-test-condensation/references/classification.md"}, "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-1861f29946301e43", "name": "Agent authority lacks a verifier contract: .claude/skills/openspec-sync-specs/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-sync-specs/SKILL.md"}, "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-7ead1af3634839c8", "name": "Agent authority lacks a verifier contract: .claude/skills/openspec-ff-change/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-ff-change/SKILL.md"}, "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-639c7a3c85b72a8c", "name": "Agent authority lacks a verifier contract: .claude/skills/adding-butlers-to-roster/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/adding-butlers-to-roster/SKILL.md"}, "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-0ad64856609b900e", "name": "Agent authority lacks a verifier contract: .claude/skills/adding-butlers-to-roster/references/test-patterns.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/adding-butlers-to-roster/references/test-patterns.md"}, "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-5c520cca1dd28381", "name": "Agent authority lacks a verifier contract: .claude/skills/butler-db-schema/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-db-schema/SKILL.md"}, "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-015a7b17796f129e", "name": "Agent authority lacks a verifier contract: .claude/skills/generate-grafana-dashboards/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/generate-grafana-dashboards/SKILL.md"}, "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-72013b7a816957ec", "name": "Agent authority lacks a verifier contract: .claude/skills/generate-grafana-dashboards/references/metrics-catalogue.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/generate-grafana-dashboards/references/metrics-catalogue.md"}, "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-0a7f45c8706d888d", "name": "Agent authority lacks a verifier contract: .claude/skills/openspec-onboard/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-onboard/SKILL.md"}, "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-5969c9daf9acb418", "name": "Agent authority lacks a verifier contract: .codex/skills/openspec-new-change/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/openspec-new-change/SKILL.md"}, "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-b583592c8c4ff555", "name": "Agent authority lacks a verifier contract: .codex/skills/spec-and-spine/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/spec-and-spine/SKILL.md"}, "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-1e3165ef0855ee88", "name": "Agent authority lacks a verifier contract: .codex/skills/openspec-apply-change/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/openspec-apply-change/SKILL.md"}, "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-51799bb0bf7a6b08", "name": "Agent authority lacks a verifier contract: .codex/skills/openspec-archive-change/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/openspec-archive-change/SKILL.md"}, "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-468e295a9451bd3e", "name": "Agent authority lacks a verifier contract: .codex/skills/openspec-sync-specs/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/openspec-sync-specs/SKILL.md"}, "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-4de34e15dd52cbbf", "name": "Agent authority lacks a verifier contract: .codex/skills/openspec-ff-change/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/openspec-ff-change/SKILL.md"}, "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-2190d552d51b3683", "name": "Agent authority lacks a verifier contract: .codex/skills/openspec-onboard/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/openspec-onboard/SKILL.md"}, "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-23ac0fe3b1916d02", "name": "Commented-code block (10 lines) in frontend/tests/e2e/secrets-passport.spec.ts:38", "shortDescription": {"text": "Commented-code block (10 lines) in frontend/tests/e2e/secrets-passport.spec.ts:38"}, "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-fe6f2a119420c22b", "name": "Commented-code block (5 lines) in frontend/tests/e2e/oauth-roundtrip.spec.ts:43", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/tests/e2e/oauth-roundtrip.spec.ts:43"}, "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-b1e6956e0b2d78e8", "name": "Commented-code block (40 lines) in frontend/tests/e2e/secrets-passport-parity.spec.ts:10", "shortDescription": {"text": "Commented-code block (40 lines) in frontend/tests/e2e/secrets-passport-parity.spec.ts:10"}, "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-e83f3914c974f129", "name": "Commented-code block (5 lines) in frontend/tests/e2e/ingestion-visual-parity.spec.ts:242", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/tests/e2e/ingestion-visual-parity.spec.ts:242"}, "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-14f489e8482ac32d", "name": "Commented-code block (5 lines) in frontend/tests/e2e/entity-redesign.spec.ts:206", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/tests/e2e/entity-redesign.spec.ts:206"}, "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-99e568602d48d657", "name": "Commented-code block (6 lines) in frontend/src/router.tsx:7", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/router.tsx:7"}, "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-1a2e6849cc77a67b", "name": "Commented-code block (5 lines) in frontend/src/router-config.tsx:146", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/router-config.tsx:146"}, "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-5c11a799b9ad33eb", "name": "Commented-code block (5 lines) in frontend/src/api/client.ts:2130", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/api/client.ts:2130"}, "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-4adcd81b464073aa", "name": "Legacy-named symbol `secrets_v2` in frontend/src/api/types.ts:6205", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in frontend/src/api/types.ts:6205"}, "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-6e95cf7acdf0db8a", "name": "Commented-code block (5 lines) in frontend/src/api/types.ts:3000", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/api/types.ts:3000"}, "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-c59145fcf3ec8a29", "name": "Commented-code block (5 lines) in frontend/src/test/setup.ts:43", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/test/setup.ts:43"}, "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-0a6295a391ab8988", "name": "Commented-code block (5 lines) in frontend/src/components/layout/Sidebar.test.tsx:323", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/layout/Sidebar.test.tsx:323"}, "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-6adc95ee939462d5", "name": "Commented-code block (6 lines) in frontend/src/components/layout/PageHeader.test.tsx:153", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/layout/PageHeader.test.tsx: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-6b607d0cb2e987f6", "name": "Commented-code block (6 lines) in frontend/src/components/layout/DetailPage.tsx:12", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/layout/DetailPage.tsx:12"}, "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-0dabb0440de976dd", "name": "Commented-code block (6 lines) in frontend/src/components/layout/EntityFinder.tsx:102", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/layout/EntityFinder.tsx: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-d3a196411cfcf128", "name": "Commented-code block (5 lines) in frontend/src/components/chronicles/StreakCallouts.tsx:7", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/StreakCallouts.tsx:7"}, "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-02f75424b605dc18", "name": "Commented-code block (6 lines) in frontend/src/components/chronicles/GanttSwimlaneInner.tsx:14", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/chronicles/GanttSwimlaneInner.tsx:14"}, "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-69024ee8a7d2b6f2", "name": "Commented-code block (5 lines) in frontend/src/components/chronicles/AggregatePieChart.tsx:152", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/AggregatePieChart.tsx:152"}, "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-b2e424bbf12af478", "name": "Commented-code block (5 lines) in frontend/src/components/chronicles/AggregateStackedBar.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/AggregateStackedBar.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c52329e4530918c2", "name": "Commented-code block (17 lines) in frontend/src/components/chronicles/EpisodeDrawer.test.tsx:10", "shortDescription": {"text": "Commented-code block (17 lines) in frontend/src/components/chronicles/EpisodeDrawer.test.tsx:10"}, "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-1a43c0de727beb7e", "name": "Commented-code block (6 lines) in frontend/src/components/chronicles/SourceStateBadgeStrip.tsx:7", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/chronicles/SourceStateBadgeStrip.tsx:7"}, "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-79cfc1e507dc8f57", "name": "Commented-code block (5 lines) in frontend/src/components/chronicles/AggregateStackedBar.test.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/AggregateStackedBar.test.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c035183bce3b60c1", "name": "Commented-code block (6 lines) in frontend/src/components/chronicles/widget-states.test.tsx:4", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/chronicles/widget-states.test.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-566815a80e53ec43", "name": "Commented-code block (8 lines) in frontend/src/components/chronicles/hex-heatmap.ts:8", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/chronicles/hex-heatmap.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-81877da8ac3acdf5", "name": "Commented-code block (5 lines) in frontend/src/components/chronicles/lane-taxonomy.ts:164", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/lane-taxonomy.ts:164"}, "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-6e7c31ced0a549d3", "name": "Commented-code block (5 lines) in frontend/src/components/chronicles/location-utils.test.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/location-utils.test.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-296eb21507a84ce4", "name": "Commented-code block (10 lines) in frontend/src/components/chronicles/MapWidgetInner.tsx:7", "shortDescription": {"text": "Commented-code block (10 lines) in frontend/src/components/chronicles/MapWidgetInner.tsx:7"}, "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-7c1f0bd1d34b66dc", "name": "Commented-code block (10 lines) in frontend/src/components/chronicles/SourceStateBadgeStrip.test.tsx:5", "shortDescription": {"text": "Commented-code block (10 lines) in frontend/src/components/chronicles/SourceStateBadgeStrip.test.tsx:5"}, "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-00f7eb99dcbab67a", "name": "Commented-code block (6 lines) in frontend/src/components/chronicles/MapWidget.test.tsx:4", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/chronicles/MapWidget.test.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ac8db8a264a59d79", "name": "Commented-code block (5 lines) in frontend/src/components/chronicles/timezone-rendering.test.tsx:5", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/timezone-rendering.test.tsx:5"}, "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-1dd2dcca0fc0cba7", "name": "Commented-code block (5 lines) in frontend/src/components/chronicles/EpisodeDrawer.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/EpisodeDrawer.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5f0d54ec78ccf313", "name": "Commented-code block (10 lines) in frontend/src/components/chronicles/GanttSwimlane.test.tsx:8", "shortDescription": {"text": "Commented-code block (10 lines) in frontend/src/components/chronicles/GanttSwimlane.test.tsx:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-92ea8f8372ddd8c4", "name": "Commented-code block (5 lines) in frontend/src/components/health/MealTracker.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/health/MealTracker.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-de6d5e7073a3e406", "name": "Commented-code block (5 lines) in frontend/src/components/health/SymptomTracker.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/health/SymptomTracker.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0b629bac1673be9d", "name": "Commented-code block (6 lines) in frontend/src/components/health/ConditionTracker.tsx:4", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/health/ConditionTracker.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aefa8ba06ab82f8c", "name": "Commented-code block (5 lines) in frontend/src/components/health/MeasurementTracker.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/health/MeasurementTracker.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e870a84e1ae5e91e", "name": "Commented-code block (5 lines) in frontend/src/components/health/ResearchForm.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/health/ResearchForm.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1df44c037c22bd27", "name": "Commented-code block (6 lines) in frontend/src/components/health/ResearchTracker.tsx:4", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/health/ResearchTracker.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ef09adb8b66e9bd", "name": "Commented-code block (6 lines) in frontend/src/components/health/MeasurementForm.tsx:9", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/health/MeasurementForm.tsx:9"}, "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-598f5ff51b05eebd", "name": "Commented-code block (5 lines) in frontend/src/components/health/ConditionForm.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/health/ConditionForm.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f34dd56152ce39e1", "name": "Commented-code block (7 lines) in frontend/src/components/ui/KbMono.test.tsx:5", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/ui/KbMono.test.tsx:5"}, "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-7acc6c0b36ea6ceb", "name": "Commented-code block (10 lines) in frontend/src/components/ui/time.test.tsx:5", "shortDescription": {"text": "Commented-code block (10 lines) in frontend/src/components/ui/time.test.tsx:5"}, "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-7c7d7d577307e5ba", "name": "Commented-code block (8 lines) in frontend/src/components/ui/Display.test.tsx:5", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/ui/Display.test.tsx:5"}, "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-b5d0b6b19134829e", "name": "Commented-code block (5 lines) in frontend/src/components/ui/PredicateGroup.tsx:11", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/ui/PredicateGroup.tsx:11"}, "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-fd69468d25b69cc7", "name": "Commented-code block (12 lines) in frontend/src/components/ui/time.tsx:8", "shortDescription": {"text": "Commented-code block (12 lines) in frontend/src/components/ui/time.tsx:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b933a309a0443e15", "name": "Commented-code block (8 lines) in frontend/src/components/ui/Title.test.tsx:5", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/ui/Title.test.tsx:5"}, "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-fd09b5c7fa5ab503", "name": "Commented-code block (5 lines) in frontend/src/components/ui/Row.tsx:9", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/ui/Row.tsx:9"}, "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-87759003e34ee883", "name": "Commented-code block (7 lines) in frontend/src/components/ui/ButlerMark.tsx:14", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/ui/ButlerMark.tsx:14"}, "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-6522b21759fe1cda", "name": "Commented-code block (5 lines) in frontend/src/components/ui/StateDot.tsx:11", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/ui/StateDot.tsx:11"}, "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-8f2704e818767394", "name": "Commented-code block (5 lines) in frontend/src/components/ui/EntityMark.tsx:60", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/ui/EntityMark.tsx:60"}, "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-c00d47524335e682", "name": "Commented-code block (5 lines) in frontend/src/components/ui/breadcrumbs-control.tsx:11", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/ui/breadcrumbs-control.tsx:11"}, "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-a62b8e2727964269", "name": "Commented-code block (10 lines) in frontend/src/components/ui/Pill.test.tsx:5", "shortDescription": {"text": "Commented-code block (10 lines) in frontend/src/components/ui/Pill.test.tsx:5"}, "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-8e1fdd96ecfb6e03", "name": "Commented-code block (14 lines) in frontend/src/components/ui/NeighbourRow.test.tsx:5", "shortDescription": {"text": "Commented-code block (14 lines) in frontend/src/components/ui/NeighbourRow.test.tsx:5"}, "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-32440ae1a80a2c5b", "name": "Commented-code block (6 lines) in frontend/src/components/ui/page.tsx:491", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/ui/page.tsx:491"}, "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-30fcb0dd5f959f19", "name": "Commented-code block (6 lines) in frontend/src/components/ui/Provenance.tsx:12", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/ui/Provenance.tsx:12"}, "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-67bcca54635ded67", "name": "Commented-code block (8 lines) in frontend/src/components/ui/StateDot.test.tsx:5", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/ui/StateDot.test.tsx:5"}, "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-f687b659f92d212a", "name": "Commented-code block (5 lines) in frontend/src/components/ui/Pill.tsx:8", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/ui/Pill.tsx:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b2b0bed17c03b983", "name": "Commented-code block (11 lines) in frontend/src/components/ui/PredicateGroup.test.tsx:5", "shortDescription": {"text": "Commented-code block (11 lines) in frontend/src/components/ui/PredicateGroup.test.tsx:5"}, "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-c9d0dddbf9c5c149", "name": "Commented-code block (7 lines) in frontend/src/components/ui/ButlerMark.test.tsx:5", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/ui/ButlerMark.test.tsx:5"}, "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-0f86ed1c2cb958f2", "name": "Commented-code block (12 lines) in frontend/src/components/ui/EntityMark.test.tsx:5", "shortDescription": {"text": "Commented-code block (12 lines) in frontend/src/components/ui/EntityMark.test.tsx:5"}, "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-bc59ba182bf7a5d3", "name": "Commented-code block (9 lines) in frontend/src/components/ui/Voice.test.tsx:5", "shortDescription": {"text": "Commented-code block (9 lines) in frontend/src/components/ui/Voice.test.tsx:5"}, "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-d6db0b6043b6ea8b", "name": "Commented-code block (7 lines) in frontend/src/components/ui/range-toggle.test.tsx:5", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/ui/range-toggle.test.tsx:5"}, "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-44c964464195d262", "name": "Commented-code block (8 lines) in frontend/src/components/ui/TierBadge.test.tsx:5", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/ui/TierBadge.test.tsx:5"}, "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-0214579338b0da11", "name": "Commented-code block (10 lines) in frontend/src/components/ui/Mono.test.tsx:5", "shortDescription": {"text": "Commented-code block (10 lines) in frontend/src/components/ui/Mono.test.tsx:5"}, "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-76474365b298eed1", "name": "Commented-code block (13 lines) in frontend/src/components/dashboard/SessionStripeChart.test.tsx:5", "shortDescription": {"text": "Commented-code block (13 lines) in frontend/src/components/dashboard/SessionStripeChart.test.tsx:5"}, "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-be29bc0002dd9036", "name": "Commented-code block (8 lines) in frontend/src/components/dashboard/RecentMoments.test.tsx:5", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/dashboard/RecentMoments.test.tsx:5"}, "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-f78e37a507805b6e", "name": "Commented-code block (6 lines) in frontend/src/components/dashboard/session-stripe-pagination.test.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/dashboard/session-stripe-pagination.test.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6039b49751e10e02", "name": "Commented-code block (5 lines) in frontend/src/components/dashboard/SessionStripeChart.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/dashboard/SessionStripeChart.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9f083843da7fa202", "name": "Commented-code block (6 lines) in frontend/src/components/workspace/map-pan-store.ts:9", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/workspace/map-pan-store.ts:9"}, "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-ed89aa859300f035", "name": "Commented-code block (6 lines) in frontend/src/components/workspace/TimeWindowPicker.test.tsx:5", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/workspace/TimeWindowPicker.test.tsx:5"}, "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-a1f76ace2611fc42", "name": "Commented-code block (7 lines) in frontend/src/components/ingestion/TimelineTab.test.tsx:196", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/ingestion/TimelineTab.test.tsx:196"}, "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-446e7028c9318886", "name": "Commented-code block (5 lines) in frontend/src/components/ingestion/TimelineTab.tsx:1308", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/ingestion/TimelineTab.tsx:1308"}, "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-94011923e3eadc60", "name": "Commented-code block (7 lines) in frontend/src/components/ingestion/filters/FiltersPipeline.test.tsx:1062", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/ingestion/filters/FiltersPipeline.test.tsx:1062"}, "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-2a30b785461504ce", "name": "Commented-code block (5 lines) in frontend/src/components/ingestion/filters/FiltersPipeline.tsx:96", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/ingestion/filters/FiltersPipeline.tsx:96"}, "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-779a52a36e9ed68e", "name": "Commented-code block (5 lines) in frontend/src/components/relationship/EntitiesIndexPage.tsx:1203", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/relationship/EntitiesIndexPage.tsx:1203"}, "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-81005b7a72498d1a", "name": "Commented-code block (6 lines) in frontend/src/components/relationship/ContactChannelCard.test.tsx:409", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/relationship/ContactChannelCard.test.tsx:409"}, "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-75f22fe4d452b867", "name": "Commented-code block (5 lines) in frontend/src/components/relationship/ContactChannelCard.tsx:127", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/relationship/ContactChannelCard.tsx:127"}, "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-5ffcddcf4e0ef95f", "name": "Commented-code block (5 lines) in frontend/src/components/relationship/ContactChannelCard.preferred-channel.test.tsx:31", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/relationship/ContactChannelCard.preferred-channel.test.tsx: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-3acfac22f6025d0d", "name": "Commented-code block (5 lines) in frontend/src/components/memory/RulesRegister.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/memory/RulesRegister.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f305da77f49f8a1c", "name": "Commented-code block (13 lines) in frontend/src/components/memory/DetailSkeleton.tsx:7", "shortDescription": {"text": "Commented-code block (13 lines) in frontend/src/components/memory/DetailSkeleton.tsx:7"}, "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-67366dae837360aa", "name": "Commented-code block (7 lines) in frontend/src/components/memory/SearchResults.tsx:4", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/memory/SearchResults.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1719f5dc4899933e", "name": "Commented-code block (7 lines) in frontend/src/components/memory/HousekeepingBand.tsx:11", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/memory/HousekeepingBand.tsx:11"}, "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-428f8162a04b796b", "name": "Commented-code block (8 lines) in frontend/src/components/memory/MemorySearch.tsx:11", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/memory/MemorySearch.tsx:11"}, "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-c8b8a241a83eb590", "name": "Commented-code block (5 lines) in frontend/src/components/memory/RegisterCrossfade.tsx:9", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/memory/RegisterCrossfade.tsx:9"}, "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-eda5d78af6181d7e", "name": "Commented-code block (6 lines) in frontend/src/components/memory/RegisterCrossfade.test.tsx:8", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/memory/RegisterCrossfade.test.tsx:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f82aa090fc9c8543", "name": "Commented-code block (8 lines) in frontend/src/components/memory/EpisodesRegister.tsx:13", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/memory/EpisodesRegister.tsx:13"}, "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-29f78ea56a9e73ad", "name": "Commented-code block (6 lines) in frontend/src/components/memory/FactsRegister.tsx:12", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/memory/FactsRegister.tsx:12"}, "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-1d57852a4f25cf6f", "name": "Commented-code block (6 lines) in frontend/src/components/memory/MemoryOverture.tsx:4", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/memory/MemoryOverture.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bb2035dadf0bfaf1", "name": "Commented-code block (6 lines) in frontend/src/components/memory/MemoryBrowser.tsx:4", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/memory/MemoryBrowser.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-54318d510f74df62", "name": "Commented-code block (5 lines) in frontend/src/components/memory/AttentionRail.tsx:8", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/memory/AttentionRail.tsx:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a042c9ca6edd02f6", "name": "Commented-code block (9 lines) in frontend/src/components/system/ButlerHeartbeatTile.test.tsx:5", "shortDescription": {"text": "Commented-code block (9 lines) in frontend/src/components/system/ButlerHeartbeatTile.test.tsx:5"}, "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-2caf3b5fdc828ebc", "name": "Commented-code block (6 lines) in frontend/src/components/system/UptimeTile.test.tsx:5", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/system/UptimeTile.test.tsx:5"}, "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-c07612868bb19a19", "name": "Commented-code block (7 lines) in frontend/src/components/system/BackupTile.test.tsx:5", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/system/BackupTile.test.tsx:5"}, "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-4d86fedb8a154205", "name": "Commented-code block (7 lines) in frontend/src/components/system/DbSizeTile.test.tsx:5", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/system/DbSizeTile.test.tsx:5"}, "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-c8ffaa4f6ed5f3ee", "name": "Commented-code block (7 lines) in frontend/src/components/butler-detail/ButlerRelationshipContactsTab.tsx:6", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/butler-detail/ButlerRelationshipContactsTab.tsx:6"}, "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-e3861c26b69ee1d4", "name": "Commented-code block (10 lines) in frontend/src/components/butler-detail/atoms.test.tsx:6", "shortDescription": {"text": "Commented-code block (10 lines) in frontend/src/components/butler-detail/atoms.test.tsx:6"}, "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-8b19293eac9c1c70", "name": "Commented-code block (5 lines) in frontend/src/components/butler-detail/atoms.tsx:15", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/atoms.tsx:15"}, "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-70c11559398d17d6", "name": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerQaInvestigationsTab.tsx:6", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerQaInvestigationsTab.tsx:6"}, "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-056357af27f8800e", "name": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerFinanceFinancesTab.tsx:19", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerFinanceFinancesTab.tsx:19"}, "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-52c928c19a19f973", "name": "Commented-code block (8 lines) in frontend/src/components/butler-detail/ButlerLifestyleTasteTab.tsx:6", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/butler-detail/ButlerLifestyleTasteTab.tsx:6"}, "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-88c3a50db4974382", "name": "Commented-code block (8 lines) in frontend/src/components/butler-detail/ButlerDetailHeader.tsx:12", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/butler-detail/ButlerDetailHeader.tsx:12"}, "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-a4ae1c3a82cea9f5", "name": "Commented-code block (9 lines) in frontend/src/components/butler-detail/ButlerActivityTab.tsx:7", "shortDescription": {"text": "Commented-code block (9 lines) in frontend/src/components/butler-detail/ButlerActivityTab.tsx:7"}, "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-1fc379f41caa3543", "name": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerOverviewTab.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerOverviewTab.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ac877c06ab001d20", "name": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerManagementTab.test.tsx:365", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerManagementTab.test.tsx:365"}, "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-d344d8195d614fda", "name": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerSpendTab.tsx:6", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerSpendTab.tsx:6"}, "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-a8f7e919e8b89f75", "name": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerChroniclerTimelinesTab.tsx:6", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerChroniclerTimelinesTab.tsx:6"}, "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-8aec57e1b1f416c9", "name": "Commented-code block (7 lines) in frontend/src/components/butler-detail/ButlerMemoryTab.tsx:6", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/butler-detail/ButlerMemoryTab.tsx:6"}, "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-9de753de7a5d6a79", "name": "Commented-code block (7 lines) in frontend/src/components/butler-detail/ButlerMemoryTab.test.tsx:476", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/butler-detail/ButlerMemoryTab.test.tsx:476"}, "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-e326179229a98d85", "name": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerMessengerConversationsTab.tsx:11", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerMessengerConversationsTab.tsx:11"}, "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-1c1c4b3a9b864ff1", "name": "Commented-code block (8 lines) in frontend/src/components/butler-detail/ButlerGeneralCollectionsTab.tsx:6", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/butler-detail/ButlerGeneralCollectionsTab.tsx:6"}, "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-29f3df03a9f21850", "name": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerEducationReviewsTab.test.tsx:546", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerEducationReviewsTab.test.tsx:546"}, "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-78cec9ff388d92bf", "name": "Commented-code block (10 lines) in frontend/src/components/butler-detail/SiblingButlerNav.tsx:10", "shortDescription": {"text": "Commented-code block (10 lines) in frontend/src/components/butler-detail/SiblingButlerNav.tsx:10"}, "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-d48a585cb9404839", "name": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerHomeDevicesTab.tsx:6", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerHomeDevicesTab.tsx:6"}, "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-bed192bf65fff0b1", "name": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerDetailHeader.test.tsx:17", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerDetailHeader.test.tsx:17"}, "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-78a3dedc309b9c40", "name": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerLogsTab.tsx:14", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerLogsTab.tsx:14"}, "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-a16ee8401bd196f6", "name": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/PageSystem.actions.test.tsx:5", "shortDescription": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/PageSystem.actions.test.tsx:5"}, "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-85f1e21486b25c8a", "name": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/Spine.tsx:7", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/Spine.tsx:7"}, "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-09d75aab16fd5785", "name": "Commented-code block (8 lines) in frontend/src/components/secrets/passport/secrets-fe5.test.tsx:5", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/secrets/passport/secrets-fe5.test.tsx:5"}, "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-d837735199e22e9d", "name": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/PageAddPanel.test.tsx:5", "shortDescription": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/PageAddPanel.test.tsx:5"}, "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-5a20d13b7747d7b0", "name": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/WhatBreaks.test.tsx:5", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/WhatBreaks.test.tsx:5"}, "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-6cde795b875edc20", "name": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/PageSystem.google-app.test.tsx:5", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/PageSystem.google-app.test.tsx:5"}, "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-93801becae2c86e5", "name": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/WhatBreaks.tsx:7", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/WhatBreaks.tsx:7"}, "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-8637819effff7eeb", "name": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/PageUser.reauth.test.tsx:5", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/PageUser.reauth.test.tsx:5"}, "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-03253ecb2e2d525a", "name": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/ScopeRow.tsx:8", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/ScopeRow.tsx:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aef4b4fc59d12809", "name": "Commented-code block (8 lines) in frontend/src/components/secrets/passport/ProviderMark.test.tsx:5", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/secrets/passport/ProviderMark.test.tsx:5"}, "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-d1bc33938237f43e", "name": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/StampGlyph.tsx:10", "shortDescription": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/StampGlyph.tsx:10"}, "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-6b5ac8436b7c8d86", "name": "Commented-code block (16 lines) in frontend/src/components/secrets/passport/ScopeRow.test.tsx:5", "shortDescription": {"text": "Commented-code block (16 lines) in frontend/src/components/secrets/passport/ScopeRow.test.tsx:5"}, "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-8759a1877aedfbfb", "name": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/PageCli.deviceauth.test.tsx:10", "shortDescription": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/PageCli.deviceauth.test.tsx:10"}, "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-bfadd14c37cb5835", "name": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/IdentityChip.test.tsx:5", "shortDescription": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/IdentityChip.test.tsx:5"}, "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-fbc30c0a1ac08767", "name": "Commented-code block (9 lines) in frontend/src/components/secrets/passport/Sliver.tsx:12", "shortDescription": {"text": "Commented-code block (9 lines) in frontend/src/components/secrets/passport/Sliver.tsx:12"}, "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-cf65b81c2bbe2d2c", "name": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/FingerprintRow.tsx:11", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/FingerprintRow.tsx:11"}, "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-a319f3cff5451cc2", "name": "Commented-code block (8 lines) in frontend/src/components/secrets/passport/KV.test.tsx:5", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/secrets/passport/KV.test.tsx:5"}, "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-a5f694fcdbc51f27", "name": "Commented-code block (10 lines) in frontend/src/components/secrets/passport/bu-kg2nl-per-account-health.test.tsx:5", "shortDescription": {"text": "Commented-code block (10 lines) in frontend/src/components/secrets/passport/bu-kg2nl-per-account-health.test.tsx:5"}, "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-1232ce5fbda4a1f5", "name": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/SeverityPip.test.tsx:5", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/SeverityPip.test.tsx:5"}, "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-1e71bd47631a2d49", "name": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/bu-kma08-per-account-health-revoke.test.tsx:", "shortDescription": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/bu-kma08-per-account-health-revoke.test.tsx:5"}, "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-bfd26ff77d5f711a", "name": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/Fingerprint.test.tsx:5", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/Fingerprint.test.tsx:5"}, "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-f65ed785eba74700", "name": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/GoogleAppCredentials.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/GoogleAppCredentials.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ac48171c7658e341", "name": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/FingerprintRow.test.tsx:5", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/FingerprintRow.test.tsx:5"}, "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-7b6105dfef6e8b30", "name": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/StateLabel.tsx:15", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/StateLabel.tsx:15"}, "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-994991a41b328003", "name": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/bu-3gekd-health-grant.test.tsx:5", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/bu-3gekd-health-grant.test.tsx:5"}, "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-9b2b988ddb2c9e5e", "name": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/passport.test.tsx:5", "shortDescription": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/passport.test.tsx:5"}, "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-d57d1f3255ff58d2", "name": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/BlockHead.test.tsx:5", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/BlockHead.test.tsx:5"}, "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-de98285ef74fdfb5", "name": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/bu-hh875-health-status-card.test.tsx:5", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/bu-hh875-health-status-card.test.tsx:5"}, "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-99a4ae81b88e6629", "name": "Commented-code block (9 lines) in frontend/src/components/secrets/passport/ProbeResult.test.tsx:5", "shortDescription": {"text": "Commented-code block (9 lines) in frontend/src/components/secrets/passport/ProbeResult.test.tsx:5"}, "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-e62d4e4143bbf2ec", "name": "Commented-code block (8 lines) in frontend/src/components/secrets/passport/Sliver.test.tsx:5", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/secrets/passport/Sliver.test.tsx:5"}, "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-990d80c8c4457a5e", "name": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/StampGlyph.test.tsx:5", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/StampGlyph.test.tsx:5"}, "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-c3433a6f8fada995", "name": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/PageCli.actions.test.tsx:5", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/PageCli.actions.test.tsx:5"}, "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-2b396ea186b69057", "name": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/ProviderConfigDrawer.tsx:8", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/ProviderConfigDrawer.tsx:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-53f275ffae51fad9", "name": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/PageUser.actions.test.tsx:5", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/PageUser.actions.test.tsx:5"}, "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-0d4141a5c08f3ce3", "name": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/StateLabel.test.tsx:5", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/StateLabel.test.tsx:5"}, "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-1bf8670dc0ae5f46", "name": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/pages.tsx:1508", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/pages.tsx:1508"}, "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-c23044435756208c", "name": "Commented-code block (5 lines) in frontend/src/components/switchboard/RegistryTable.test.tsx:169", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/switchboard/RegistryTable.test.tsx:169"}, "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-02a91ae489565f39", "name": "Commented-code block (6 lines) in frontend/src/components/butlers/BoardHeader.tsx:9", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/butlers/BoardHeader.tsx:9"}, "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-178453ccf5a577d8", "name": "Commented-code block (11 lines) in frontend/src/components/butlers/StatusBoardCell.test.tsx:5", "shortDescription": {"text": "Commented-code block (11 lines) in frontend/src/components/butlers/StatusBoardCell.test.tsx:5"}, "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-0e615a04aacfb668", "name": "Commented-code block (8 lines) in frontend/src/components/butlers/DayBars.test.tsx:5", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/butlers/DayBars.test.tsx:5"}, "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-1a48ada5819acc7a", "name": "Commented-code block (5 lines) in frontend/src/components/butlers/BoardFooter.tsx:7", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/butlers/BoardFooter.tsx:7"}, "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-cd333808583bef6f", "name": "Commented-code block (5 lines) in frontend/src/components/butlers/DayBars.tsx:9", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/butlers/DayBars.tsx:9"}, "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-54b25e7d1998824f", "name": "Commented-code block (12 lines) in frontend/src/components/butlers/BoardFooter.test.tsx:5", "shortDescription": {"text": "Commented-code block (12 lines) in frontend/src/components/butlers/BoardFooter.test.tsx:5"}, "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-172ac6be294905af", "name": "Commented-code block (7 lines) in frontend/src/components/butlers/StatusBoardCell.tsx:5", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/butlers/StatusBoardCell.tsx:5"}, "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-1f6213b82c9f311c", "name": "Commented-code block (7 lines) in frontend/src/components/butlers/ActivityStripe.test.tsx:5", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/butlers/ActivityStripe.test.tsx:5"}, "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-1d10c7ff2fcfcb97", "name": "Commented-code block (10 lines) in frontend/src/components/butlers/BoardHeader.test.tsx:5", "shortDescription": {"text": "Commented-code block (10 lines) in frontend/src/components/butlers/BoardHeader.test.tsx:5"}, "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-b9b30125de8e5a5f", "name": "Commented-code block (6 lines) in frontend/src/lib/memory-derived.ts:253", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/lib/memory-derived.ts:253"}, "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-b885b546d19b312e", "name": "Commented-code block (5 lines) in frontend/src/lib/entity-glosses.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/lib/entity-glosses.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a10811942d84aef6", "name": "Commented-code block (8 lines) in frontend/src/lib/entity-finder.ts:14", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/lib/entity-finder.ts:14"}, "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-a51b1e386487c896", "name": "Commented-code block (6 lines) in frontend/src/lib/entity-model.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/lib/entity-model.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b1ef4804e431b994", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:20"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a6b5aff0101d9e6e", "name": "Commented-code block (5 lines) in frontend/src/pages/ConnectorDetailPage.tsx:150", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/pages/ConnectorDetailPage.tsx:150"}, "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-7b5ed7c76e979f63", "name": "Commented-code block (6 lines) in frontend/src/pages/EntityDetailPage.tsx:777", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/pages/EntityDetailPage.tsx:777"}, "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-35e734abd14bd1df", "name": "Commented-code block (6 lines) in frontend/src/pages/EntityDetailPage.test.tsx:22", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/pages/EntityDetailPage.test.tsx:22"}, "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-b8893d678508b42a", "name": "Commented-code block (10 lines) in frontend/src/pages/EpisodeDetailPage.tsx:4", "shortDescription": {"text": "Commented-code block (10 lines) in frontend/src/pages/EpisodeDetailPage.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8735c0c59ccfb3d", "name": "Commented-code block (5 lines) in frontend/src/pages/ChroniclesPage.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/pages/ChroniclesPage.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-28b2db84c9565b4d", "name": "Commented-code block (7 lines) in frontend/src/pages/ButlerDetailPage.test.tsx:108", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/pages/ButlerDetailPage.test.tsx:108"}, "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-7c25e13f943d675a", "name": "Commented-code block (7 lines) in frontend/src/pages/SettingsSpendPage.tsx:4", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/pages/SettingsSpendPage.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-598031cb2f5f830d", "name": "Commented-code block (6 lines) in frontend/src/pages/ButlersPage.tsx:4", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/pages/ButlersPage.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d787f21a0267add5", "name": "Commented-code block (12 lines) in frontend/src/pages/HealthPages.view-only.test.tsx:10", "shortDescription": {"text": "Commented-code block (12 lines) in frontend/src/pages/HealthPages.view-only.test.tsx:10"}, "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-75e778c8fc13ea8e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/pages/SettingsPermissionsPage.tsx:126", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/pages/SettingsPermissionsPage.tsx:126"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1b8c992759495bd3", "name": "Commented-code block (10 lines) in frontend/src/pages/RuleDetailPage.tsx:4", "shortDescription": {"text": "Commented-code block (10 lines) in frontend/src/pages/RuleDetailPage.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e402e3d6546a6b45", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/pages/AuditLogPage.test.tsx:286", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/pages/AuditLogPage.test.tsx:286"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aea2d2c24415d683", "name": "Commented-code block (12 lines) in frontend/src/pages/FactDetailPage.tsx:4", "shortDescription": {"text": "Commented-code block (12 lines) in frontend/src/pages/FactDetailPage.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a14db2659a78ef2b", "name": "Commented-code block (5 lines) in frontend/src/pages/DashboardPage.test.tsx:662", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/pages/DashboardPage.test.tsx:662"}, "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-25b05e36a01655f7", "name": "Commented-code block (6 lines) in frontend/src/pages/ButlerDetailPage.tsx:242", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/pages/ButlerDetailPage.tsx:242"}, "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-5c9a379cd6bec9d1", "name": "Commented-code block (6 lines) in frontend/src/pages/SecretsPage.test.tsx:5", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/pages/SecretsPage.test.tsx:5"}, "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-691a16de36a704d9", "name": "Commented-code block (5 lines) in frontend/src/pages/ButlerDetailPage.stories.tsx:52", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/pages/ButlerDetailPage.stories.tsx: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-7e7fe468fd8acb41", "name": "Commented-code block (7 lines) in frontend/src/pages/CostsPage.tsx:7", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/pages/CostsPage.tsx:7"}, "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-6fa92269ed002c57", "name": "Commented-code block (5 lines) in frontend/src/test-utils/entity-detail-page.ts:74", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/test-utils/entity-detail-page.ts:74"}, "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-78bdee971724570d", "name": "Commented-code block (6 lines) in frontend/src/hooks/use-education.ts:142", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/hooks/use-education.ts:142"}, "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-0377e403c6ffbe41", "name": "Commented-code block (12 lines) in frontend/src/hooks/use-qa-badge.test.ts:4", "shortDescription": {"text": "Commented-code block (12 lines) in frontend/src/hooks/use-qa-badge.test.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7ca97c13dac381bd", "name": "Commented-code block (5 lines) in frontend/src/hooks/use-butler-status-board.test.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/hooks/use-butler-status-board.test.ts:6"}, "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-4981eb81c738d1e2", "name": "Commented-code block (7 lines) in frontend/src/hooks/use-secrets-inventory.test.ts:4", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/hooks/use-secrets-inventory.test.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fc36586fae3de8de", "name": "Commented-code block (7 lines) in frontend/src/hooks/use-butler-status-board.ts:5", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/hooks/use-butler-status-board.ts:5"}, "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-559faeba6682a625", "name": "Commented-code block (5 lines) in frontend/src/hooks/use-secrets-inventory.ts:342", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/hooks/use-secrets-inventory.ts:342"}, "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-703ed464400854cc", "name": "Legacy-named symbol `secrets_v2` in frontend/src/hooks/use-secrets-mutations.ts:260", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in frontend/src/hooks/use-secrets-mutations.ts:260"}, "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-0f4221144f02c400", "name": "Commented-code block (5 lines) in frontend/src/hooks/use-secrets-mutations.ts:268", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/hooks/use-secrets-mutations.ts:268"}, "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-bcd9e065d216e253", "name": "Commented-code block (6 lines) in frontend/src/hooks/use-butlers-polling.test.ts:77", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/hooks/use-butlers-polling.test.ts:77"}, "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-7d3cded193cf7c18", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/use-memory.ts:451", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/use-memory.ts:451"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6b148b00053a6f66", "name": "Legacy-named symbol `DateRange_old` in roster/health/tests/test_tools.py:1220", "shortDescription": {"text": "Legacy-named symbol `DateRange_old` in roster/health/tests/test_tools.py:1220"}, "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-f2b5bd3972ae7301", "name": "Commented-code block (6 lines) in roster/health/tests/test_tools.py:15", "shortDescription": {"text": "Commented-code block (6 lines) in roster/health/tests/test_tools.py:15"}, "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-52a27b3de5ff43bd", "name": "Commented-code block (5 lines) in roster/health/api/router.py:116", "shortDescription": {"text": "Commented-code block (5 lines) in roster/health/api/router.py:116"}, "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-a0a53d4c6da7fb46", "name": "Commented-code block (7 lines) in roster/health/tools/conditions.py:92", "shortDescription": {"text": "Commented-code block (7 lines) in roster/health/tools/conditions.py:92"}, "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-db0520e3a7206b81", "name": "Commented-code block (7 lines) in roster/health/tools/research.py:84", "shortDescription": {"text": "Commented-code block (7 lines) in roster/health/tools/research.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-b5af30e6037c10a6", "name": "Commented-code block (9 lines) in roster/health/tools/medications.py:90", "shortDescription": {"text": "Commented-code block (9 lines) in roster/health/tools/medications.py:90"}, "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-22d1c660060160bf", "name": "Commented-code block (5 lines) in roster/health/jobs/health_jobs.py:317", "shortDescription": {"text": "Commented-code block (5 lines) in roster/health/jobs/health_jobs.py:317"}, "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-2eb1610dc649b116", "name": "Commented-code block (6 lines) in roster/messenger/tests/test_delivery_tracking_tools.py:19", "shortDescription": {"text": "Commented-code block (6 lines) in roster/messenger/tests/test_delivery_tracking_tools.py:19"}, "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-8a106daf52f5540c", "name": "Commented-code block (6 lines) in roster/messenger/tests/test_operations_tools.py:35", "shortDescription": {"text": "Commented-code block (6 lines) in roster/messenger/tests/test_operations_tools.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-fa9ea9a47e79d829", "name": "Legacy-named symbol `delivery_id_old` in roster/messenger/tests/test_dead_letter_tools.py:296", "shortDescription": {"text": "Legacy-named symbol `delivery_id_old` in roster/messenger/tests/test_dead_letter_tools.py:296"}, "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-be36b634c92d1bd9", "name": "Commented-code block (6 lines) in roster/messenger/tests/test_dead_letter_tools.py:20", "shortDescription": {"text": "Commented-code block (6 lines) in roster/messenger/tests/test_dead_letter_tools.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-3ab821d10f9c9fae", "name": "Commented-code block (6 lines) in roster/messenger/tests/test_idempotency.py:24", "shortDescription": {"text": "Commented-code block (6 lines) in roster/messenger/tests/test_idempotency.py:24"}, "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-83d219d35e0c45b8", "name": "Commented-code block (6 lines) in roster/lifestyle/tests/test_lifestyle_spotify_integration.py:440", "shortDescription": {"text": "Commented-code block (6 lines) in roster/lifestyle/tests/test_lifestyle_spotify_integration.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-0b7121eafd8d1e1d", "name": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 roster/lifestyle/migrations/001_lifestyle_tables.py:27", "shortDescription": {"text": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 roster/lifestyle/migrations/001_lifestyle_tables.py:27"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f54f43b737c5eb0b", "name": "Legacy-named symbol `sub_v1` in roster/finance/tests/test_integration.py:482", "shortDescription": {"text": "Legacy-named symbol `sub_v1` in roster/finance/tests/test_integration.py:482"}, "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-9fe14274a6e4f385", "name": "Commented-code block (5 lines) in roster/finance/tests/test_anomaly_detection.py:253", "shortDescription": {"text": "Commented-code block (5 lines) in roster/finance/tests/test_anomaly_detection.py:253"}, "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-78d50504b16190cb", "name": "Commented-code block (6 lines) in roster/finance/tests/test_spending.py:10", "shortDescription": {"text": "Commented-code block (6 lines) in roster/finance/tests/test_spending.py:10"}, "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-00c2a213c7fee647", "name": "Commented-code block (6 lines) in roster/finance/tests/test_transactions.py:11", "shortDescription": {"text": "Commented-code block (6 lines) in roster/finance/tests/test_transactions.py:11"}, "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-a7d766fc8ebad244", "name": "Commented-code block (6 lines) in roster/finance/tests/test_facts.py:1698", "shortDescription": {"text": "Commented-code block (6 lines) in roster/finance/tests/test_facts.py:1698"}, "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-38b5bb387988f2e7", "name": "Legacy-named symbol `pool_v2` in roster/finance/tests/test_transaction_crud.py:590", "shortDescription": {"text": "Legacy-named symbol `pool_v2` in roster/finance/tests/test_transaction_crud.py:590"}, "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-03d50deb40a1a92b", "name": "Commented-code block (7 lines) in roster/finance/api/router.py:77", "shortDescription": {"text": "Commented-code block (7 lines) in roster/finance/api/router.py:77"}, "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-5820e0ef0bca3a3e", "name": "Commented-code block (8 lines) in roster/finance/tools/overview.py:660", "shortDescription": {"text": "Commented-code block (8 lines) in roster/finance/tools/overview.py:660"}, "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-35d0c7dc1ac4cdc3", "name": "Commented-code block (6 lines) in roster/finance/tools/spending.py:115", "shortDescription": {"text": "Commented-code block (6 lines) in roster/finance/tools/spending.py:115"}, "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-7bf1e320a012e412", "name": "Commented-code block (6 lines) in roster/finance/tools/data_import.py:50", "shortDescription": {"text": "Commented-code block (6 lines) in roster/finance/tools/data_import.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-44375f012927a683", "name": "Commented-code block (5 lines) in roster/finance/migrations/002_merchant_mappings_trigram_index.py:68", "shortDescription": {"text": "Commented-code block (5 lines) in roster/finance/migrations/002_merchant_mappings_trigram_index.py:68"}, "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-ba899ba7020f1715", "name": "Commented-code block (7 lines) in roster/education/tests/test_curriculum.py:214", "shortDescription": {"text": "Commented-code block (7 lines) in roster/education/tests/test_curriculum.py:214"}, "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-aa7ced68ce2d5d45", "name": "Commented-code block (7 lines) in roster/education/tests/test_mastery.py:1159", "shortDescription": {"text": "Commented-code block (7 lines) in roster/education/tests/test_mastery.py:1159"}, "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-abe887deb06734c6", "name": "Commented-code block (5 lines) in roster/education/tests/test_diagnostic.py:194", "shortDescription": {"text": "Commented-code block (5 lines) in roster/education/tests/test_diagnostic.py:194"}, "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-6b9652f928ad5777", "name": "Commented-code block (9 lines) in roster/education/tools/mastery.py:490", "shortDescription": {"text": "Commented-code block (9 lines) in roster/education/tools/mastery.py:490"}, "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-f4aa383484d592db", "name": "Commented-code block (5 lines) in roster/home/modules/__init__.py:744", "shortDescription": {"text": "Commented-code block (5 lines) in roster/home/modules/__init__.py:744"}, "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-053c588c4e887337", "name": "Commented-code block (8 lines) in roster/chronicler/tests/test_storage_integration.py:114", "shortDescription": {"text": "Commented-code block (8 lines) in roster/chronicler/tests/test_storage_integration.py:114"}, "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-bc80be27ca73dff8", "name": "Legacy-named symbol `test_supported_names_non_empty_in_v1` in roster/chronicler/tests/test_contracts.py:57", "shortDescription": {"text": "Legacy-named symbol `test_supported_names_non_empty_in_v1` in roster/chronicler/tests/test_contracts.py:57"}, "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-e930360bb4ca789a", "name": "Commented-code block (5 lines) in roster/chronicler/api/router.py:1400", "shortDescription": {"text": "Commented-code block (5 lines) in roster/chronicler/api/router.py:1400"}, "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-2313a9bddc8ea0bc", "name": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 roster/chronicler/modules/__init__.py:51", "shortDescription": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 roster/chronicler/modules/__init__.py:51"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e186dab0bdbbf6d1", "name": "Commented-code block (5 lines) in roster/chronicler/migrations/009_reset_watermarks_for_old_session_titles.py:105", "shortDescription": {"text": "Commented-code block (5 lines) in roster/chronicler/migrations/009_reset_watermarks_for_old_session_titles.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-e120dad080bdc7ed", "name": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 roster/chronicler/migrations/012_reset_spotify_watermark_for_", "shortDescription": {"text": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 roster/chronicler/migrations/012_reset_spotify_watermark_for_in_progress_projection.py:62"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da68785a45f0c44a", "name": "Commented-code block (7 lines) in roster/chronicler/migrations/016_drop_episodes_entity_id.py:66", "shortDescription": {"text": "Commented-code block (7 lines) in roster/chronicler/migrations/016_drop_episodes_entity_id.py:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-33acdd76c6d4c76f", "name": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 roster/chronicler/migrations/011_reset_steam_spotify_watermar", "shortDescription": {"text": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 roster/chronicler/migrations/011_reset_steam_spotify_watermarks.py:68"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd5d7ba3532a5152", "name": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 roster/chronicler/migrations/010_dedup_calendar_episodes_by_o", "shortDescription": {"text": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 roster/chronicler/migrations/010_dedup_calendar_episodes_by_origin.py:102"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-447c3eb09559b210", "name": "Commented-code block (5 lines) in roster/chronicler/migrations/003_restrict_chronicler_grants.py:145", "shortDescription": {"text": "Commented-code block (5 lines) in roster/chronicler/migrations/003_restrict_chronicler_grants.py:145"}, "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-b5bd84e7d39e199b", "name": "Commented-code block (5 lines) in roster/relationship/tests/test_reconciler.py:603", "shortDescription": {"text": "Commented-code block (5 lines) in roster/relationship/tests/test_reconciler.py:603"}, "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-85deb757168774ba", "name": "Commented-code block (8 lines) in roster/relationship/tests/test_dunbar_ranking_api.py:44", "shortDescription": {"text": "Commented-code block (8 lines) in roster/relationship/tests/test_dunbar_ranking_api.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-f7a7ba0633cd309a", "name": "Commented-code block (6 lines) in roster/relationship/tests/test_chronicler_boundary.py:54", "shortDescription": {"text": "Commented-code block (6 lines) in roster/relationship/tests/test_chronicler_boundary.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-b3904b66547f4301", "name": "Commented-code block (6 lines) in roster/relationship/tests/test_conf_immutability_guardrail.py:79", "shortDescription": {"text": "Commented-code block (6 lines) in roster/relationship/tests/test_conf_immutability_guardrail.py:79"}, "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-72870953d8a85f50", "name": "Commented-code block (6 lines) in roster/relationship/tests/test_entity_contacts_credentials_exclusion.py:147", "shortDescription": {"text": "Commented-code block (6 lines) in roster/relationship/tests/test_entity_contacts_credentials_exclusion.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-967fb52d8934a245", "name": "Commented-code block (5 lines) in roster/relationship/tests/test_entities_api.py:1044", "shortDescription": {"text": "Commented-code block (5 lines) in roster/relationship/tests/test_entities_api.py:1044"}, "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-ce3c9adf2fe7c10d", "name": "Legacy-named symbol `memory_module_legacy` in roster/relationship/tests/test_entity_tabs.py:55", "shortDescription": {"text": "Legacy-named symbol `memory_module_legacy` in roster/relationship/tests/test_entity_tabs.py:55"}, "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-2dbd5f7e88ca93be", "name": "Commented-code block (7 lines) in roster/relationship/tests/test_entity_tabs.py:1026", "shortDescription": {"text": "Commented-code block (7 lines) in roster/relationship/tests/test_entity_tabs.py:1026"}, "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-ef31bdbdec2ccb65", "name": "Commented-code block (5 lines) in roster/relationship/tests/test_relationship_assert_fact.py:739", "shortDescription": {"text": "Commented-code block (5 lines) in roster/relationship/tests/test_relationship_assert_fact.py:739"}, "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-802e28a186036850", "name": "Commented-code block (8 lines) in roster/relationship/tests/test_owner_authz_guardrail.py:349", "shortDescription": {"text": "Commented-code block (8 lines) in roster/relationship/tests/test_owner_authz_guardrail.py:349"}, "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-18afc24f6c8a569d", "name": "Legacy-named symbol `memory_module_legacy` in roster/relationship/api/router.py:4437", "shortDescription": {"text": "Legacy-named symbol `memory_module_legacy` in roster/relationship/api/router.py:4437"}, "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-f8d13d409e63f208", "name": "Commented-code block (5 lines) in roster/relationship/api/router.py:1657", "shortDescription": {"text": "Commented-code block (5 lines) in roster/relationship/api/router.py:1657"}, "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-cc2ba2fb86e19a8d", "name": "Legacy-named symbol `memory_module_legacy` in roster/relationship/api/models.py:516", "shortDescription": {"text": "Legacy-named symbol `memory_module_legacy` in roster/relationship/api/models.py:516"}, "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-0cea3a1ac5dc9b47", "name": "Commented-code block (9 lines) in roster/relationship/tools/staleness.py:224", "shortDescription": {"text": "Commented-code block (9 lines) in roster/relationship/tools/staleness.py:224"}, "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-1cf1879655645c9a", "name": "Commented-code block (5 lines) in roster/relationship/tools/contacts.py:290", "shortDescription": {"text": "Commented-code block (5 lines) in roster/relationship/tools/contacts.py:290"}, "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-47921b7430b8fb34", "name": "Commented-code block (6 lines) in roster/relationship/tools/relationship_lookup.py:542", "shortDescription": {"text": "Commented-code block (6 lines) in roster/relationship/tools/relationship_lookup.py:542"}, "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-5abdb60e196bf73d", "name": "Commented-code block (9 lines) in roster/relationship/tools/relationship_assert_fact.py:61", "shortDescription": {"text": "Commented-code block (9 lines) in roster/relationship/tools/relationship_assert_fact.py:61"}, "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-360ee85293b15999", "name": "Commented-code block (5 lines) in roster/relationship/migrations/004_contact_detail_indexes.py:35", "shortDescription": {"text": "Commented-code block (5 lines) in roster/relationship/migrations/004_contact_detail_indexes.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-d84c3edf1e8a30f2", "name": "Legacy-named symbol `_reminders_backup` in roster/relationship/migrations/020_drop_reminders_backup.py:1", "shortDescription": {"text": "Legacy-named symbol `_reminders_backup` in roster/relationship/migrations/020_drop_reminders_backup.py:1"}, "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-457cb1e5352cb585", "name": "Legacy-named symbol `_reminders_backup` in roster/relationship/migrations/007_reminders_to_calendar_events.py:4", "shortDescription": {"text": "Legacy-named symbol `_reminders_backup` in roster/relationship/migrations/007_reminders_to_calendar_events.py:4"}, "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-ae83075288c041b3", "name": "Commented-code block (6 lines) in roster/relationship/migrations/003_consolidate_contacts_to_public.py:97", "shortDescription": {"text": "Commented-code block (6 lines) in roster/relationship/migrations/003_consolidate_contacts_to_public.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-12d9773bb9ec09cb", "name": "Commented-code block (5 lines) in roster/relationship/jobs/relationship_jobs.py:625", "shortDescription": {"text": "Commented-code block (5 lines) in roster/relationship/jobs/relationship_jobs.py:625"}, "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-0572c93d50bc0809", "name": "Commented-code block (6 lines) in roster/switchboard/tests/test_conformance.py:23", "shortDescription": {"text": "Commented-code block (6 lines) in roster/switchboard/tests/test_conformance.py:23"}, "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-290ec915c1447f9c", "name": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_triage_ingest_integration.py:3", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_triage_ingest_integration.py:3"}, "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-0f61ea4219a3c8fb", "name": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_ingest_api.py:23", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_ingest_api.py:23"}, "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-bfd2dd6b3f1fa0f2", "name": "Commented-code block (6 lines) in roster/switchboard/tests/test_ingest_api.py:49", "shortDescription": {"text": "Commented-code block (6 lines) in roster/switchboard/tests/test_ingest_api.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-78acd7f5472c6304", "name": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_ingest_ingestion_events.py:1", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_ingest_ingestion_events.py:1"}, "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-627607676d417b33", "name": "Legacy-named symbol `_make_wellness_envelope_v1` in roster/switchboard/tests/test_wellness_policy_bypass.py:94", "shortDescription": {"text": "Legacy-named symbol `_make_wellness_envelope_v1` in roster/switchboard/tests/test_wellness_policy_bypass.py:94"}, "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-315f15323fa3155c", "name": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_ingest_tier.py:20", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_ingest_tier.py:20"}, "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-cccb084c56bc3ed4", "name": "Commented-code block (6 lines) in roster/switchboard/tests/test_ingest_tier.py:26", "shortDescription": {"text": "Commented-code block (6 lines) in roster/switchboard/tests/test_ingest_tier.py:26"}, "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-730409d984bf8183", "name": "Legacy-named symbol `bot_legacy` in roster/switchboard/tests/test_contract_models.py:533", "shortDescription": {"text": "Legacy-named symbol `bot_legacy` in roster/switchboard/tests/test_contract_models.py:533"}, "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-3e34d75a74222426", "name": "Commented-code block (5 lines) in roster/switchboard/tests/test_switchboard_no_fact_writes.py:97", "shortDescription": {"text": "Commented-code block (5 lines) in roster/switchboard/tests/test_switchboard_no_fact_writes.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-4d3d53fc39507644", "name": "Commented-code block (6 lines) in roster/switchboard/tests/test_tools.py:25", "shortDescription": {"text": "Commented-code block (6 lines) in roster/switchboard/tests/test_tools.py:25"}, "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-ca7a77aebca72ee7", "name": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_thread_affinity.py:397", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_thread_affinity.py:397"}, "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-8e938c31672b3f6b", "name": "Commented-code block (5 lines) in roster/switchboard/api/router.py:1585", "shortDescription": {"text": "Commented-code block (5 lines) in roster/switchboard/api/router.py:1585"}, "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-1134034d0ba0bdd4", "name": "Legacy-named symbol `ingest_v1` in roster/switchboard/tools/__init__.py:14", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tools/__init__.py:14"}, "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-ddb0372ec94b4d08", "name": "Commented-code block (5 lines) in roster/switchboard/tools/insight/broker.py:621", "shortDescription": {"text": "Commented-code block (5 lines) in roster/switchboard/tools/insight/broker.py:621"}, "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-98d63db137fe7039", "name": "Legacy-named symbol `ingest_v1` in roster/switchboard/tools/ingestion/__init__.py:5", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tools/ingestion/__init__.py:5"}, "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-3e6e9149e65079ec", "name": "Legacy-named symbol `ingest_v1` in roster/switchboard/tools/ingestion/ingest.py:560", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tools/ingestion/ingest.py:560"}, "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-6438a3787a189887", "name": "Commented-code block (5 lines) in roster/switchboard/tools/ingestion/ingest.py:664", "shortDescription": {"text": "Commented-code block (5 lines) in roster/switchboard/tools/ingestion/ingest.py:664"}, "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-5a5a33f7e477c520", "name": "Commented-code block (6 lines) in roster/general/tests/test_tools.py:10", "shortDescription": {"text": "Commented-code block (6 lines) in roster/general/tests/test_tools.py:10"}, "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-c791f5f797bcb925", "name": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 roster/general/modules/__init__.py:37", "shortDescription": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 roster/general/modules/__init__.py:37"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3876b967f80ab1d2", "name": "Commented-code block (5 lines) in tests/integration/test_qa_pipeline.py:1031", "shortDescription": {"text": "Commented-code block (5 lines) in tests/integration/test_qa_pipeline.py:1031"}, "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-356a5510d5f4aedf", "name": "Legacy-named symbol `_normalize_to_ingest_v1` in tests/integration/test_connector_conformance.py:118", "shortDescription": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in tests/integration/test_connector_conformance.py:118"}, "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-606d396669dcf973", "name": "Commented-code block (9 lines) in tests/integration/test_email_outbound_safety.py:1229", "shortDescription": {"text": "Commented-code block (9 lines) in tests/integration/test_email_outbound_safety.py:1229"}, "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-d743e66ead827e4f", "name": "Legacy-named symbol `ingest_v1` in tests/integration/test_ingest_attachments_persistence.py:88", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in tests/integration/test_ingest_attachments_persistence.py:88"}, "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-f62dd3deb1c14fb3", "name": "Commented-code block (5 lines) in tests/integration/test_google_drive_integration.py:555", "shortDescription": {"text": "Commented-code block (5 lines) in tests/integration/test_google_drive_integration.py:555"}, "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-ebc3b38a8597a623", "name": "Legacy-named symbol `ingest_v1` in tests/integration/test_decomposition_flow.py:4", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in tests/integration/test_decomposition_flow.py:4"}, "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-603b0ea4814c015d", "name": "Legacy-named symbol `cfg_legacy` in tests/config/test_config.py:411", "shortDescription": {"text": "Legacy-named symbol `cfg_legacy` in tests/config/test_config.py:411"}, "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-b738eccb8fae923f", "name": "Legacy-named symbol `_reminders_backup` in tests/config/test_migrations.py:689", "shortDescription": {"text": "Legacy-named symbol `_reminders_backup` in tests/config/test_migrations.py:689"}, "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-3f767e31d725c3fb", "name": "Legacy-named symbol `_reminders_backup` in tests/config/test_schema_matrix_migrations.py:74", "shortDescription": {"text": "Legacy-named symbol `_reminders_backup` in tests/config/test_schema_matrix_migrations.py:74"}, "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-7b870bb77495eaab", "name": "Commented-code block (5 lines) in tests/connectors/test_google_health_connector.py:1352", "shortDescription": {"text": "Commented-code block (5 lines) in tests/connectors/test_google_health_connector.py:1352"}, "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-b0d303ea669786ed", "name": "Legacy-named symbol `_normalize_to_ingest_v1` in tests/connectors/test_telegram_bot_connector.py:49", "shortDescription": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in tests/connectors/test_telegram_bot_connector.py:49"}, "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-2f509b04b0ecaf7a", "name": "Legacy-named symbol `_normalize_single_event_to_ingest_v1` in tests/connectors/test_whatsapp_user_client.py:53", "shortDescription": {"text": "Legacy-named symbol `_normalize_single_event_to_ingest_v1` in tests/connectors/test_whatsapp_user_client.py:53"}, "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-007fa38b749dce09", "name": "Commented-code block (6 lines) in tests/connectors/test_gmail_policy_evaluator.py:42", "shortDescription": {"text": "Commented-code block (6 lines) in tests/connectors/test_gmail_policy_evaluator.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-95a6a3b5b5b964d6", "name": "Legacy-named symbol `_normalize_to_ingest_v1` in tests/connectors/test_discord_user_connector.py:47", "shortDescription": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in tests/connectors/test_discord_user_connector.py:47"}, "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-6b989c430a6877d6", "name": "Legacy-named symbol `_normalize_to_ingest_v1` in tests/connectors/test_telegram_user_client.py:56", "shortDescription": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in tests/connectors/test_telegram_user_client.py:56"}, "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-ab3b27663cd666ae", "name": "Commented-code block (5 lines) in tests/api/test_relationship_entities_linked_contacts.py:171", "shortDescription": {"text": "Commented-code block (5 lines) in tests/api/test_relationship_entities_linked_contacts.py:171"}, "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-e5436fba6dbc895d", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_google_health_grant_flow.py:51", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_google_health_grant_flow.py:51"}, "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-716db7cb8a4c70d6", "name": "Commented-code block (5 lines) in tests/api/test_memory_retention.py:229", "shortDescription": {"text": "Commented-code block (5 lines) in tests/api/test_memory_retention.py:229"}, "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-1692925705e9495d", "name": "Commented-code block (5 lines) in tests/api/test_data_ops.py:90", "shortDescription": {"text": "Commented-code block (5 lines) in tests/api/test_data_ops.py:90"}, "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-33b7db3fbb8f95c3", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_inventory.py:40", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_inventory.py:40"}, "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-5aa55714e8db4c16", "name": "Commented-code block (7 lines) in tests/api/test_secrets_v2_inventory.py:1275", "shortDescription": {"text": "Commented-code block (7 lines) in tests/api/test_secrets_v2_inventory.py:1275"}, "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-a426936ae4a67f23", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_probe_live.py:34", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_probe_live.py:34"}, "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-c8c7c0783ba0541c", "name": "Commented-code block (7 lines) in tests/api/test_relationship_entities_update_contact.py:129", "shortDescription": {"text": "Commented-code block (7 lines) in tests/api/test_relationship_entities_update_contact.py:129"}, "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-7ef2f12862e3a599", "name": "Legacy-named symbol `ep_old` in tests/api/test_relationship_entities_activity.py:381", "shortDescription": {"text": "Legacy-named symbol `ep_old` in tests/api/test_relationship_entities_activity.py:381"}, "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-22bccdea51296da5", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_audit_history.py:29", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_audit_history.py:29"}, "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-7d3100305bcba56d", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_mutations.py:35", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_mutations.py:35"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-192835b4ce0d31ff", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_revoke_registry.py:20", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_revoke_registry.py:20"}, "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-30cbd04260950a3f", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_cli_reauthorize.py:36", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_cli_reauthorize.py:36"}, "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-8d19b3cde5bf66d4", "name": "Legacy-named symbol `scopes_v1` in tests/api/test_oauth_toml_scopes.py:190", "shortDescription": {"text": "Legacy-named symbol `scopes_v1` in tests/api/test_oauth_toml_scopes.py:190"}, "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-bfdd43aec8fe22cc", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_probe_live_spotify.py:45", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_probe_live_spotify.py:45"}, "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-4a08e2ce1ed866f9", "name": "Commented-code block (8 lines) in tests/api/test_permissions.py:155", "shortDescription": {"text": "Commented-code block (8 lines) in tests/api/test_permissions.py:155"}, "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-b478c9bd38c61a21", "name": "Commented-code block (5 lines) in tests/api/test_model_settings.py:332", "shortDescription": {"text": "Commented-code block (5 lines) in tests/api/test_model_settings.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-28b28483e2b0ed4a", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_system_mutations.py:35", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_system_mutations.py:35"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1243e90adf62f120", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_audit_log.py:723", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_audit_log.py:723"}, "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-a4dd6a4bb79898ed", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_breaks_catalogue.py:29", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_breaks_catalogue.py:29"}, "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-7f1faf4730f6e76c", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_per_credential.py:32", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_per_credential.py:32"}, "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-7348c158e59c45e4", "name": "Commented-code block (5 lines) in tests/api/test_relationship_entities_merge.py:170", "shortDescription": {"text": "Commented-code block (5 lines) in tests/api/test_relationship_entities_merge.py:170"}, "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-00c90d3f8d7b0650", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_probe_live_extended.py:56", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_probe_live_extended.py:56"}, "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-66aface08f957618", "name": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_cli_mutations.py:35", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_cli_mutations.py:35"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-60cd4f5adaee513d", "name": "Legacy-named symbol `ts_old` in tests/api/test_system.py:243", "shortDescription": {"text": "Legacy-named symbol `ts_old` in tests/api/test_system.py:243"}, "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-807189c5b480152b", "name": "Legacy-named symbol `_insert_legacy` in tests/api/test_audit_grouping_union_db.py:94", "shortDescription": {"text": "Legacy-named symbol `_insert_legacy` in tests/api/test_audit_grouping_union_db.py:94"}, "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-5c7715c3e07eb8c2", "name": "Legacy-named symbol `t_old` in tests/chronicler/test_ops_sessions_api.py:222", "shortDescription": {"text": "Legacy-named symbol `t_old` in tests/chronicler/test_ops_sessions_api.py:222"}, "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-80674b896454b281", "name": "Legacy-named symbol `t_old` in tests/chronicler/test_source_state_api.py:171", "shortDescription": {"text": "Legacy-named symbol `t_old` in tests/chronicler/test_source_state_api.py:171"}, "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-d6b714cc2cb180f9", "name": "Legacy-named symbol `participant_old` in tests/chronicler/test_calendar_adapter.py:604", "shortDescription": {"text": "Legacy-named symbol `participant_old` in tests/chronicler/test_calendar_adapter.py:604"}, "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-3cbbe7c1dd473b6b", "name": "Commented-code block (7 lines) in tests/daemon/test_owner_bootstrap.py:36", "shortDescription": {"text": "Commented-code block (7 lines) in tests/daemon/test_owner_bootstrap.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-90e32cdd729fa4af", "name": "Legacy-named symbol `env_backup` in tests/daemon/test_liveness_reporter.py:227", "shortDescription": {"text": "Legacy-named symbol `env_backup` in tests/daemon/test_liveness_reporter.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-2be132c7f255bbd4", "name": "Legacy-named symbol `codex_v2` in tests/core/test_failover_classifier.py:254", "shortDescription": {"text": "Legacy-named symbol `codex_v2` in tests/core/test_failover_classifier.py:254"}, "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-78f9a1769bd34727", "name": "Legacy-named symbol `open_old` in tests/core/test_core_sessions.py:250", "shortDescription": {"text": "Legacy-named symbol `open_old` in tests/core/test_core_sessions.py:250"}, "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-18a4d55011a54509", "name": "Commented-code block (5 lines) in tests/core/test_core_spawner.py:379", "shortDescription": {"text": "Commented-code block (5 lines) in tests/core/test_core_spawner.py:379"}, "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-72e971f7b7d495b0", "name": "Legacy-named symbol `row_old` in tests/core/qa/test_provenance_and_dedup_linkage.py:202", "shortDescription": {"text": "Legacy-named symbol `row_old` in tests/core/qa/test_provenance_and_dedup_linkage.py:202"}, "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-fe8a7ce915cb3641", "name": "Legacy-named symbol `fp_legacy` in tests/core/healing/test_tracking.py:410", "shortDescription": {"text": "Legacy-named symbol `fp_legacy` in tests/core/healing/test_tracking.py:410"}, "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-50631a43a71f458f", "name": "Commented-code block (5 lines) in tests/contracts/test_chronicler_no_cross_schema.py:67", "shortDescription": {"text": "Commented-code block (5 lines) in tests/contracts/test_chronicler_no_cross_schema.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-f259e8577038b9d6", "name": "Legacy-named symbol `_reminders_backup` in tests/migrations/test_calendar_event_columns_and_entities.py:176", "shortDescription": {"text": "Legacy-named symbol `_reminders_backup` in tests/migrations/test_calendar_event_columns_and_entities.py:176"}, "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-4d7dcc05b1c237c4", "name": "Legacy-named symbol `new_to_expected_old` in tests/migrations/test_complexity_tier_rename_migration.py:393", "shortDescription": {"text": "Legacy-named symbol `new_to_expected_old` in tests/migrations/test_complexity_tier_rename_migration.py:393"}, "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-f39a79f764fedd22", "name": "Legacy-named symbol `_insert_legacy` in tests/migrations/test_backfill_dashboard_audit_log.py:148", "shortDescription": {"text": "Legacy-named symbol `_insert_legacy` in tests/migrations/test_backfill_dashboard_audit_log.py:148"}, "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-7544c2e8914fe98a", "name": "Commented-code block (5 lines) in tests/migrations/test_contact_backfill_triples.py:779", "shortDescription": {"text": "Commented-code block (5 lines) in tests/migrations/test_contact_backfill_triples.py:779"}, "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-ffdf608e7e076662", "name": "Legacy-named symbol `_reminders_backup` in tests/migrations/test_drop_backup_tables.py:12", "shortDescription": {"text": "Legacy-named symbol `_reminders_backup` in tests/migrations/test_drop_backup_tables.py:12"}, "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-165d15a05b809dac", "name": "Commented-code block (5 lines) in tests/jobs/test_interaction_sync.py:28", "shortDescription": {"text": "Commented-code block (5 lines) in tests/jobs/test_interaction_sync.py:28"}, "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-915fa58ee679c521", "name": "Legacy-named symbol `_reminders_backup` in tests/features/test_vcard.py:31", "shortDescription": {"text": "Legacy-named symbol `_reminders_backup` in tests/features/test_vcard.py:31"}, "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-a393388030d6124e", "name": "Legacy-named symbol `ingest_v1` in tests/e2e/test_switchboard_flow.py:6", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in tests/e2e/test_switchboard_flow.py:6"}, "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-63183bbd3b0950f2", "name": "Commented-code block (6 lines) in tests/e2e/conftest.py:345", "shortDescription": {"text": "Commented-code block (6 lines) in tests/e2e/conftest.py:345"}, "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-ddbf9452028d14e2", "name": "Legacy-named symbol `ingest_v1` in tests/e2e/scenarios.py:5", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in tests/e2e/scenarios.py:5"}, "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-222cb0bd4c3141f5", "name": "Legacy-named symbol `ingest_v1` in tests/e2e/test_scenario_runner.py:4", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in tests/e2e/test_scenario_runner.py:4"}, "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-5a9348a29b222ba7", "name": "Legacy-named symbol `ingest_v1` in tests/e2e/envelopes.py:69", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in tests/e2e/envelopes.py:69"}, "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-9f032dd08418a452", "name": "Legacy-named symbol `ingest_v1` in tests/e2e/test_security.py:249", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in tests/e2e/test_security.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-1667dd8720477bfa", "name": "Legacy-named symbol `ingest_v1` in tests/e2e/benchmark.py:213", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in tests/e2e/benchmark.py:213"}, "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-741bf4170ef24315", "name": "Commented-code block (7 lines) in pr/overview/tweaks-panel.jsx:12", "shortDescription": {"text": "Commented-code block (7 lines) in pr/overview/tweaks-panel.jsx:12"}, "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-2e9cd1ae3a845c32", "name": "Commented-code block (6 lines) in pr/overview/design-canvas.jsx:2", "shortDescription": {"text": "Commented-code block (6 lines) in pr/overview/design-canvas.jsx:2"}, "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-e286de1e8364c75d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 pr/overview/design-canvas.jsx:117", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 pr/overview/design-canvas.jsx:117"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-96fea75becd4ac72", "name": "Commented-code block (6 lines) in pr/overview/entity-redesign/reference/prototype/exp-index.jsx:8", "shortDescription": {"text": "Commented-code block (6 lines) in pr/overview/entity-redesign/reference/prototype/exp-index.jsx:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f3674f9a324ac293", "name": "Commented-code block (5 lines) in pr/overview/entity-redesign/reference/prototype/exp-detail.jsx:10", "shortDescription": {"text": "Commented-code block (5 lines) in pr/overview/entity-redesign/reference/prototype/exp-detail.jsx:10"}, "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-416922e9e1f067d9", "name": "Commented-code block (5 lines) in pr/overview/entity-redesign/reference/prototype/exp-concentration.jsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in pr/overview/entity-redesign/reference/prototype/exp-concentration.jsx:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b17b08d3634ef8ec", "name": "Commented-code block (6 lines) in pr/overview/entity-redesign/reference/prototype/data.jsx:1", "shortDescription": {"text": "Commented-code block (6 lines) in pr/overview/entity-redesign/reference/prototype/data.jsx:1"}, "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-7bbed8a2974838d6", "name": "Commented-code block (8 lines) in pr/overview/entity-redesign/reference/prototype/app.jsx:3", "shortDescription": {"text": "Commented-code block (8 lines) in pr/overview/entity-redesign/reference/prototype/app.jsx:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3eff905ef1567c26", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/release_tag.py:33", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/release_tag.py:33"}, "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-2d01f86040746303", "name": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/butler-qa-pr-review/scripts/_github.py:26", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/butler-qa-pr-review/scripts/_github.py:26"}, "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-35ec34c52a6dcfe5", "name": "Commented-code block (5 lines) in alembic/versions/core/core_109_google_health_ingestion_event_email_prefix.py:112", "shortDescription": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_109_google_health_ingestion_event_email_prefix.py:112"}, "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-ed66b9b3e80f7fc6", "name": "Commented-code block (5 lines) in alembic/versions/core/core_123_drop_contacts_preferred_channel.py:99", "shortDescription": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_123_drop_contacts_preferred_channel.py:99"}, "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-e7da76c6d90bc7f9", "name": "Commented-code block (5 lines) in alembic/versions/core/core_082_backfill_delivery_tables_current_schema.py:101", "shortDescription": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_082_backfill_delivery_tables_current_schema.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-b43faaa71d847f87", "name": "Commented-code block (6 lines) in alembic/versions/core/core_124_backfill_dashboard_audit_log.py:102", "shortDescription": {"text": "Commented-code block (6 lines) in alembic/versions/core/core_124_backfill_dashboard_audit_log.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-0f2a64cacc3f63c0", "name": "Commented-code block (5 lines) in alembic/versions/core/core_118_drop_backup_tables.py:68", "shortDescription": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_118_drop_backup_tables.py:68"}, "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-aaf018559871c920", "name": "Legacy-named symbol `uq_steam_play_history_account_app_date_v2` in alembic/versions/core/core_011_steam_play_history_fix", "shortDescription": {"text": "Legacy-named symbol `uq_steam_play_history_account_app_date_v2` in alembic/versions/core/core_011_steam_play_history_fix.py:124"}, "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-ac0ed1d00230ea87", "name": "Commented-code block (5 lines) in alembic/versions/core/core_108_google_health_cursor_key_migration.py:54", "shortDescription": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_108_google_health_cursor_key_migration.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-6b77d55502055128", "name": "Commented-code block (7 lines) in alembic/versions/core/core_105_secrets_be1.py:164", "shortDescription": {"text": "Commented-code block (7 lines) in alembic/versions/core/core_105_secrets_be1.py:164"}, "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-126e5d57f3306f47", "name": "Commented-code block (6 lines) in alembic/versions/core/core_088_backfill_route_session_ingestion_event_id.py:128", "shortDescription": {"text": "Commented-code block (6 lines) in alembic/versions/core/core_088_backfill_route_session_ingestion_event_id.py:128"}, "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-3be25a330e1ad7d9", "name": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 alembic/versions/core/core_088_backfill_route_session_ingesti", "shortDescription": {"text": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 alembic/versions/core/core_088_backfill_route_session_ingestion_event_id.py:152"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ca0e1f4ad4e5f085", "name": "Commented-code block (5 lines) in alembic/versions/core/core_071_v_qa_recent_failures_trigger_source.py:115", "shortDescription": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_071_v_qa_recent_failures_trigger_source.py:115"}, "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-e3c8caf2b1e07586", "name": "Commented-code block (11 lines) in alembic/versions/core/core_121_seed_permissions_vocabulary.py:56", "shortDescription": {"text": "Commented-code block (11 lines) in alembic/versions/core/core_121_seed_permissions_vocabulary.py:56"}, "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-ff58dcd1b6a9b57a", "name": "Commented-code block (5 lines) in alembic/versions/core/core_100_webhooks_secret_encrypted.py:91", "shortDescription": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_100_webhooks_secret_encrypted.py:91"}, "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-73c505f9861e002b", "name": "Commented-code block (5 lines) in alembic/versions/core/core_115_drop_contact_info.py:63", "shortDescription": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_115_drop_contact_info.py:63"}, "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-fb7988ae1ba21b11", "name": "Commented-code block (6 lines) in src/butlers/identity.py:291", "shortDescription": {"text": "Commented-code block (6 lines) in src/butlers/identity.py:291"}, "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-7c3f1f70a1937b4c", "name": "Commented-code block (6 lines) in src/butlers/switchboard_wiring.py:355", "shortDescription": {"text": "Commented-code block (6 lines) in src/butlers/switchboard_wiring.py:355"}, "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-6be9d6c120784924", "name": "Commented-code block (5 lines) in src/butlers/db.py:272", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/db.py:272"}, "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-0f1a4b2a294dcb84", "name": "Commented-code block (6 lines) in src/butlers/lifecycle.py:129", "shortDescription": {"text": "Commented-code block (6 lines) in src/butlers/lifecycle.py:129"}, "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-0600c86925b7be31", "name": "Commented-code block (5 lines) in src/butlers/daemon.py:824", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/daemon.py:824"}, "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-b2eb647983f6f178", "name": "Network/subprocess call without timeout or try/except \u2014 src/butlers/testing/scoped_runner.py:15", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/butlers/testing/scoped_runner.py:15"}, "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-069b96cfc3e4aff8", "name": "Network/subprocess call without timeout or try/except \u2014 src/butlers/testing/changed_files.py:62", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/butlers/testing/changed_files.py:62"}, "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-790b60dc65c11f73", "name": "Legacy-named symbol `_normalize_to_ingest_v1` in src/butlers/connectors/discord_user.py:819", "shortDescription": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in src/butlers/connectors/discord_user.py:819"}, "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-4543f2fe6097386e", "name": "Commented-code block (5 lines) in src/butlers/connectors/discord_user.py:311", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/connectors/discord_user.py:311"}, "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-30ce4d8f758f0a0d", "name": "Commented-code block (7 lines) in src/butlers/connectors/steam.py:85", "shortDescription": {"text": "Commented-code block (7 lines) in src/butlers/connectors/steam.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-285c39f4c82f1c8e", "name": "Legacy-named symbol `model_copy` in src/butlers/connectors/gmail.py:802", "shortDescription": {"text": "Legacy-named symbol `model_copy` in src/butlers/connectors/gmail.py:802"}, "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-82e277f5087f88b6", "name": "Commented-code block (5 lines) in src/butlers/connectors/gmail.py:558", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/connectors/gmail.py:558"}, "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-2dda2ac907114669", "name": "Commented-code block (5 lines) in src/butlers/connectors/home_assistant.py:1870", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/connectors/home_assistant.py:1870"}, "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-d968c11119bac361", "name": "Commented-code block (7 lines) in src/butlers/connectors/google_health.py:970", "shortDescription": {"text": "Commented-code block (7 lines) in src/butlers/connectors/google_health.py:970"}, "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-2d8a52327e79760e", "name": "Legacy-named symbol `_normalize_to_ingest_v1` in src/butlers/connectors/telegram_bot.py:750", "shortDescription": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in src/butlers/connectors/telegram_bot.py:750"}, "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-c89b324bd4822f04", "name": "Commented-code block (5 lines) in src/butlers/connectors/telegram_bot.py:251", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/connectors/telegram_bot.py:251"}, "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-ae745979ca691cd3", "name": "Legacy-named symbol `_normalize_to_ingest_v1` in src/butlers/connectors/telegram_user_client.py:1302", "shortDescription": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in src/butlers/connectors/telegram_user_client.py:1302"}, "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-4f1a16a55c62faec", "name": "Commented-code block (5 lines) in src/butlers/connectors/telegram_user_client.py:333", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/connectors/telegram_user_client.py:333"}, "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-c90162679f9b46d2", "name": "Stub function `fetchrow` (body is just `pass`/`return`) \u2014 src/butlers/connectors/google_calendar.py:2389", "shortDescription": {"text": "Stub function `fetchrow` (body is just `pass`/`return`) \u2014 src/butlers/connectors/google_calendar.py:2389"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a315f6c0b339251", "name": "Legacy-named symbol `_normalize_single_event_to_ingest_v1` in src/butlers/connectors/whatsapp_user_client.py:1219", "shortDescription": {"text": "Legacy-named symbol `_normalize_single_event_to_ingest_v1` in src/butlers/connectors/whatsapp_user_client.py:1219"}, "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-87c3ddef29a778c3", "name": "Commented-code block (8 lines) in src/butlers/connectors/gmail_policy.py:233", "shortDescription": {"text": "Commented-code block (8 lines) in src/butlers/connectors/gmail_policy.py:233"}, "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-68f0ac9474baf4da", "name": "Commented-code block (5 lines) in src/butlers/connectors/owntracks.py:1146", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/connectors/owntracks.py:1146"}, "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-28647c6711aa5515", "name": "Legacy-named symbol `secrets_v2` in src/butlers/api/deps.py:500", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in src/butlers/api/deps.py:500"}, "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-13debb20123fc58e", "name": "Commented-code block (5 lines) in src/butlers/api/dashboard_audit_middleware.py:211", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/api/dashboard_audit_middleware.py:211"}, "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-60b0152eaa6d2ff6", "name": "Legacy-named symbol `secrets_v2` in src/butlers/api/app.py:84", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in src/butlers/api/app.py:84"}, "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-4f472c7f11ac5fcb", "name": "Commented-code block (7 lines) in src/butlers/api/app.py:124", "shortDescription": {"text": "Commented-code block (7 lines) in src/butlers/api/app.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-2b5bc6fe734390e3", "name": "Commented-code block (5 lines) in src/butlers/api/middleware.py:147", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/api/middleware.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-e5ac5205c6ba422f", "name": "Commented-code block (5 lines) in src/butlers/api/routers/priority_contacts.py:214", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/api/routers/priority_contacts.py:214"}, "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-17552af371fa7c48", "name": "Commented-code block (9 lines) in src/butlers/api/routers/calendar_workspace.py:387", "shortDescription": {"text": "Commented-code block (9 lines) in src/butlers/api/routers/calendar_workspace.py:387"}, "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-8502df269235c105", "name": "Commented-code block (5 lines) in src/butlers/api/routers/healing.py:582", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/api/routers/healing.py:582"}, "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-6fc316cf54eebb44", "name": "Commented-code block (5 lines) in src/butlers/api/routers/conversations.py:232", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/api/routers/conversations.py:232"}, "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-5b7dfe18d559186d", "name": "Commented-code block (5 lines) in src/butlers/api/routers/memory.py:189", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/api/routers/memory.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-79ca70cafa7bfa29", "name": "Legacy-named symbol `secrets_v2` in src/butlers/api/routers/secrets.py:47", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in src/butlers/api/routers/secrets.py:47"}, "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-e8352ecba3094eed", "name": "Commented-code block (7 lines) in src/butlers/api/routers/timeline.py:40", "shortDescription": {"text": "Commented-code block (7 lines) in src/butlers/api/routers/timeline.py:40"}, "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-f38da82c4d1cfd79", "name": "Legacy-named symbol `model_copy` in src/butlers/api/routers/qa.py:259", "shortDescription": {"text": "Legacy-named symbol `model_copy` in src/butlers/api/routers/qa.py:259"}, "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-ac6df2b94485d2b3", "name": "Commented-code block (5 lines) in src/butlers/api/routers/qa.py:1382", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/api/routers/qa.py:1382"}, "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-2f49bb8ea339277a", "name": "Commented-code block (6 lines) in src/butlers/api/routers/permissions.py:195", "shortDescription": {"text": "Commented-code block (6 lines) in src/butlers/api/routers/permissions.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-1ad09d350ff67afd", "name": "Commented-code block (7 lines) in src/butlers/api/routers/oauth.py:210", "shortDescription": {"text": "Commented-code block (7 lines) in src/butlers/api/routers/oauth.py:210"}, "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-1a38ac306ac0b0c1", "name": "Legacy-named symbol `secrets_v2` in src/butlers/api/routers/secrets_v2.py:1863", "shortDescription": {"text": "Legacy-named symbol `secrets_v2` in src/butlers/api/routers/secrets_v2.py:1863"}, "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-43be4cf3d80a3ab2", "name": "Commented-code block (10 lines) in src/butlers/api/routers/secrets_v2.py:755", "shortDescription": {"text": "Commented-code block (10 lines) in src/butlers/api/routers/secrets_v2.py:755"}, "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-086244233ad21d5a", "name": "Legacy-named symbol `_emit_kind_legacy` in src/butlers/api/routers/approvals.py:684", "shortDescription": {"text": "Legacy-named symbol `_emit_kind_legacy` in src/butlers/api/routers/approvals.py:684"}, "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-1f06cbf6f689dd89", "name": "Commented-code block (5 lines) in src/butlers/api/routers/system.py:691", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/api/routers/system.py:691"}, "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-2ebe5df8480134bf", "name": "Commented-code block (6 lines) in src/butlers/scripts/backfill_contact_info_triples.py:222", "shortDescription": {"text": "Commented-code block (6 lines) in src/butlers/scripts/backfill_contact_info_triples.py:222"}, "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-da88067b9fdaa9b6", "name": "Commented-code block (6 lines) in src/butlers/cli_auth/health.py:29", "shortDescription": {"text": "Commented-code block (6 lines) in src/butlers/cli_auth/health.py:29"}, "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-00bcbe0594f9eb37", "name": "Legacy-named symbol `model_copy` in src/butlers/modules/calendar.py:2994", "shortDescription": {"text": "Legacy-named symbol `model_copy` in src/butlers/modules/calendar.py:2994"}, "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-d654f5edd4a15cb8", "name": "Commented-code block (7 lines) in src/butlers/modules/calendar.py:6312", "shortDescription": {"text": "Commented-code block (7 lines) in src/butlers/modules/calendar.py:6312"}, "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-d06683450661eec5", "name": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/calendar.py:2604", "shortDescription": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/calendar.py:2604"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0945ffc1eb76b09c", "name": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/steam.py:186", "shortDescription": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/steam.py:186"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-21d8369eeb5ed95c", "name": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/google_health.py:106", "shortDescription": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/google_health.py:106"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5fc00ae8dfa17e5a", "name": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/spotify.py:120", "shortDescription": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/spotify.py:120"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fc0f0e7959bf845f", "name": "Legacy-named symbol `ingest_v1` in src/butlers/modules/pipeline.py:1051", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in src/butlers/modules/pipeline.py:1051"}, "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-2217b722ea41b9d4", "name": "Commented-code block (5 lines) in src/butlers/modules/pipeline.py:1051", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/modules/pipeline.py:1051"}, "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-a51d8bc808d3872f", "name": "Commented-code block (7 lines) in src/butlers/modules/qa/__init__.py:1218", "shortDescription": {"text": "Commented-code block (7 lines) in src/butlers/modules/qa/__init__.py:1218"}, "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-06a7c1eff675d790", "name": "Commented-code block (6 lines) in src/butlers/modules/approvals/gate.py:446", "shortDescription": {"text": "Commented-code block (6 lines) in src/butlers/modules/approvals/gate.py:446"}, "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-ce59f3986bd55d1f", "name": "Commented-code block (6 lines) in src/butlers/modules/approvals/autonomy_tracker.py:155", "shortDescription": {"text": "Commented-code block (6 lines) in src/butlers/modules/approvals/autonomy_tracker.py:155"}, "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-54449812b2b84489", "name": "Commented-code block (5 lines) in src/butlers/modules/approvals/rules.py:266", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/modules/approvals/rules.py:266"}, "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-859fb96bb8de71fd", "name": "Commented-code block (5 lines) in src/butlers/modules/memory/__init__.py:586", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/modules/memory/__init__.py:586"}, "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-100fc5fd4cb748f0", "name": "Commented-code block (7 lines) in src/butlers/modules/memory/storage.py:965", "shortDescription": {"text": "Commented-code block (7 lines) in src/butlers/modules/memory/storage.py:965"}, "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-5103989648015d92", "name": "Commented-code block (5 lines) in src/butlers/modules/memory/reembedding.py:270", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/modules/memory/reembedding.py:270"}, "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-c87d9b3857a9a2fe", "name": "Commented-code block (7 lines) in src/butlers/modules/memory/tools/writing.py:59", "shortDescription": {"text": "Commented-code block (7 lines) in src/butlers/modules/memory/tools/writing.py:59"}, "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-c3b3d6555fd38bd2", "name": "Commented-code block (7 lines) in src/butlers/modules/memory/tools/entities.py:843", "shortDescription": {"text": "Commented-code block (7 lines) in src/butlers/modules/memory/tools/entities.py:843"}, "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-07654db2eba39412", "name": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/metrics/__init__.py:94", "shortDescription": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/metrics/__init__.py:94"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24dee332e25a2856", "name": "Commented-code block (5 lines) in src/butlers/chronicler/contracts.py:144", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/chronicler/contracts.py:144"}, "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-14e8709b279eea52", "name": "Commented-code block (7 lines) in src/butlers/chronicler/adapters/calendar.py:151", "shortDescription": {"text": "Commented-code block (7 lines) in src/butlers/chronicler/adapters/calendar.py:151"}, "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-f882e2146e60e066", "name": "Commented-code block (5 lines) in src/butlers/chronicler/adapters/steam.py:208", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/chronicler/adapters/steam.py:208"}, "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-b13244a609d6ca6c", "name": "Commented-code block (5 lines) in src/butlers/chronicler/adapters/home_assistant.py:199", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/chronicler/adapters/home_assistant.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-384f284d6db467ee", "name": "Commented-code block (6 lines) in src/butlers/chronicler/adapters/owntracks.py:81", "shortDescription": {"text": "Commented-code block (6 lines) in src/butlers/chronicler/adapters/owntracks.py:81"}, "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-ba2d7bc0dae469ba", "name": "Commented-code block (6 lines) in src/butlers/core/ingestion_events.py:43", "shortDescription": {"text": "Commented-code block (6 lines) in src/butlers/core/ingestion_events.py:43"}, "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-aa7d8f96853851c1", "name": "Commented-code block (5 lines) in src/butlers/core/spawner.py:105", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/core/spawner.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-5788554eef910aac", "name": "Commented-code block (5 lines) in src/butlers/core/telemetry.py:154", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/core/telemetry.py:154"}, "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-9b536677af3a82cd", "name": "Commented-code block (5 lines) in src/butlers/core/corrections.py:398", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/core/corrections.py:398"}, "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-4a8f05614f792c93", "name": "Commented-code block (13 lines) in src/butlers/core/model_routing.py:198", "shortDescription": {"text": "Commented-code block (13 lines) in src/butlers/core/model_routing.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-57d9cf77eb5d9dc8", "name": "Commented-code block (6 lines) in src/butlers/core/permissions.py:51", "shortDescription": {"text": "Commented-code block (6 lines) in src/butlers/core/permissions.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-512616d836981ec6", "name": "Commented-code block (5 lines) in src/butlers/core/qa/dispatch.py:2340", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/core/qa/dispatch.py:2340"}, "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-9976ff33cacd87ca", "name": "Legacy-named symbol `found_old` in src/butlers/core/qa/sources/log_scanner.py:372", "shortDescription": {"text": "Legacy-named symbol `found_old` in src/butlers/core/qa/sources/log_scanner.py:372"}, "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-06308de31eeca7a9", "name": "Commented-code block (21 lines) in src/butlers/core/qa/sources/log_scanner.py:240", "shortDescription": {"text": "Commented-code block (21 lines) in src/butlers/core/qa/sources/log_scanner.py:240"}, "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-92fa2cd0ca9c8163", "name": "Commented-code block (7 lines) in src/butlers/core/runtimes/opencode.py:257", "shortDescription": {"text": "Commented-code block (7 lines) in src/butlers/core/runtimes/opencode.py:257"}, "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-53542655377b855d", "name": "Commented-code block (9 lines) in src/butlers/core/runtimes/codex.py:1459", "shortDescription": {"text": "Commented-code block (9 lines) in src/butlers/core/runtimes/codex.py:1459"}, "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-ded3bcb0b9d6c52f", "name": "Commented-code block (8 lines) in src/butlers/core/healing/fingerprint.py:69", "shortDescription": {"text": "Commented-code block (8 lines) in src/butlers/core/healing/fingerprint.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-fae0e8dc8438b002", "name": "Commented-code block (7 lines) in src/butlers/core/healing/dispatch.py:651", "shortDescription": {"text": "Commented-code block (7 lines) in src/butlers/core/healing/dispatch.py:651"}, "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-465a17b31b950672", "name": "Commented-code block (5 lines) in src/butlers/core_tools/_memory_access.py:95", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/core_tools/_memory_access.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-9378948f13c04d74", "name": "Commented-code block (6 lines) in src/butlers/core_tools/_routing.py:531", "shortDescription": {"text": "Commented-code block (6 lines) in src/butlers/core_tools/_routing.py:531"}, "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-dd3ecbce360112aa", "name": "Legacy-named symbol `ingest_v1` in src/butlers/core_tools/_switchboard.py:29", "shortDescription": {"text": "Legacy-named symbol `ingest_v1` in src/butlers/core_tools/_switchboard.py:29"}, "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-c14f414399b412ed", "name": "Commented-code block (5 lines) in src/butlers/core_tools/_notifications.py:516", "shortDescription": {"text": "Commented-code block (5 lines) in src/butlers/core_tools/_notifications.py:516"}, "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-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:\nroster/health/modules/__init__.py:on_startup, roster/messenger/modules/__init__.py:on_startup, roster/education/modules/__init__.py:on_startup, roster/relationship/modules/__init__.py:on_startup\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-33a6b62e30ce7ab4", "name": "Near-duplicate function bodies in 6 places", "shortDescription": {"text": "Near-duplicate function bodies in 6 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nroster/health/modules/__init__.py:on_shutdown, roster/messenger/modules/__init__.py:on_shutdown, roster/education/modules/__init__.py:on_shutdown, roster/switchboard/modules/__init__.py:on_shutdown\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-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:\nroster/messenger/tools/rate_limiter.py:check_admission, roster/messenger/tools/rate_limiter.py:release\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-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nroster/lifestyle/migrations/001_lifestyle_tables.py:downgrade, roster/chronicler/migrations/012_reset_spotify_watermark_for_in_progress_projection.py:downgrade, roster/chronicler/migrations/011_reset_steam_spotify_watermarks.py:downgrade, alembic/versions/core/core_088_backfill_route_session_ingestion_event_id.py:downgrade\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:\nroster/finance/modules/__init__.py:on_startup, roster/chronicler/modules/__init__.py:on_startup, roster/switchboard/modules/insight_broker.py:on_startup, src/butlers/modules/steam.py:on_startup\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:\nroster/switchboard/api/router.py:delete_connector, src/butlers/api/routers/ingestion_connectors.py:pause_connector, src/butlers/api/routers/ingestion_connectors.py:run_now_connector, src/butlers/api/routers/ingestion_connectors.py:disconnect_connector\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:\nroster/switchboard/api/models.py:scope_valid, roster/switchboard/api/models.py:scope_valid, roster/switchboard/api/models.py:scope_valid\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-9a376beca0bba274", "name": "FastAPI POST `create_measurement` without auth dependency \u2014 roster/health/api/router.py:230", "shortDescription": {"text": "FastAPI POST `create_measurement` without auth dependency \u2014 roster/health/api/router.py:230"}, "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-67de8f2bbd16befa", "name": "FastAPI PUT `update_measurement` without auth dependency \u2014 roster/health/api/router.py:258", "shortDescription": {"text": "FastAPI PUT `update_measurement` without auth dependency \u2014 roster/health/api/router.py:258"}, "fullDescription": {"text": "`@router.put` 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-6e0908f23d7887dd", "name": "FastAPI DELETE `delete_measurement` without auth dependency \u2014 roster/health/api/router.py:290", "shortDescription": {"text": "FastAPI DELETE `delete_measurement` without auth dependency \u2014 roster/health/api/router.py:290"}, "fullDescription": {"text": "`@router.delete` 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-4a0f6c7a25c8711b", "name": "FastAPI POST `create_medication` without auth dependency \u2014 roster/health/api/router.py:490", "shortDescription": {"text": "FastAPI POST `create_medication` without auth dependency \u2014 roster/health/api/router.py:490"}, "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-f96e35d67e882cd2", "name": "FastAPI PUT `update_medication` without auth dependency \u2014 roster/health/api/router.py:515", "shortDescription": {"text": "FastAPI PUT `update_medication` without auth dependency \u2014 roster/health/api/router.py:515"}, "fullDescription": {"text": "`@router.put` 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-55165dbbbfb04eaa", "name": "FastAPI DELETE `delete_medication` without auth dependency \u2014 roster/health/api/router.py:544", "shortDescription": {"text": "FastAPI DELETE `delete_medication` without auth dependency \u2014 roster/health/api/router.py:544"}, "fullDescription": {"text": "`@router.delete` 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-ebaa78260838ada0", "name": "FastAPI POST `create_condition` without auth dependency \u2014 roster/health/api/router.py:653", "shortDescription": {"text": "FastAPI POST `create_condition` without auth dependency \u2014 roster/health/api/router.py:653"}, "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-cd8a37587b2bffcb", "name": "FastAPI PUT `update_condition` without auth dependency \u2014 roster/health/api/router.py:677", "shortDescription": {"text": "FastAPI PUT `update_condition` without auth dependency \u2014 roster/health/api/router.py:677"}, "fullDescription": {"text": "`@router.put` 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-1fd9086e2fb545a8", "name": "FastAPI DELETE `delete_condition` without auth dependency \u2014 roster/health/api/router.py:706", "shortDescription": {"text": "FastAPI DELETE `delete_condition` without auth dependency \u2014 roster/health/api/router.py:706"}, "fullDescription": {"text": "`@router.delete` 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-1bece7dae32c4c5d", "name": "FastAPI POST `create_symptom` without auth dependency \u2014 roster/health/api/router.py:846", "shortDescription": {"text": "FastAPI POST `create_symptom` without auth dependency \u2014 roster/health/api/router.py:846"}, "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-26185ea6d8b337e8", "name": "FastAPI PUT `update_symptom` without auth dependency \u2014 roster/health/api/router.py:875", "shortDescription": {"text": "FastAPI PUT `update_symptom` without auth dependency \u2014 roster/health/api/router.py:875"}, "fullDescription": {"text": "`@router.put` 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-f36570709c53150e", "name": "FastAPI DELETE `delete_symptom` without auth dependency \u2014 roster/health/api/router.py:904", "shortDescription": {"text": "FastAPI DELETE `delete_symptom` without auth dependency \u2014 roster/health/api/router.py:904"}, "fullDescription": {"text": "`@router.delete` 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-96979ab2298a73b5", "name": "FastAPI POST `create_meal` without auth dependency \u2014 roster/health/api/router.py:1075", "shortDescription": {"text": "FastAPI POST `create_meal` without auth dependency \u2014 roster/health/api/router.py:1075"}, "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-5f8279717cf770f0", "name": "FastAPI PUT `update_meal` without auth dependency \u2014 roster/health/api/router.py:1104", "shortDescription": {"text": "FastAPI PUT `update_meal` without auth dependency \u2014 roster/health/api/router.py:1104"}, "fullDescription": {"text": "`@router.put` 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-38c787ce296d8bc9", "name": "FastAPI DELETE `delete_meal` without auth dependency \u2014 roster/health/api/router.py:1133", "shortDescription": {"text": "FastAPI DELETE `delete_meal` without auth dependency \u2014 roster/health/api/router.py:1133"}, "fullDescription": {"text": "`@router.delete` 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-109103ec0007fe49", "name": "FastAPI POST `create_research` without auth dependency \u2014 roster/health/api/router.py:1270", "shortDescription": {"text": "FastAPI POST `create_research` without auth dependency \u2014 roster/health/api/router.py:1270"}, "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-058036fbe7409bec", "name": "FastAPI PUT `update_research` without auth dependency \u2014 roster/health/api/router.py:1299", "shortDescription": {"text": "FastAPI PUT `update_research` without auth dependency \u2014 roster/health/api/router.py:1299"}, "fullDescription": {"text": "`@router.put` 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-42ae945042a400bb", "name": "FastAPI DELETE `delete_research` without auth dependency \u2014 roster/health/api/router.py:1328", "shortDescription": {"text": "FastAPI DELETE `delete_research` without auth dependency \u2014 roster/health/api/router.py:1328"}, "fullDescription": {"text": "`@router.delete` 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-3a48db5acf4e4318", "name": "FastAPI POST `bulk_ingest_transactions` without auth dependency \u2014 roster/finance/api/router.py:688", "shortDescription": {"text": "FastAPI POST `bulk_ingest_transactions` without auth dependency \u2014 roster/finance/api/router.py:688"}, "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-66488d21b7c69c78", "name": "FastAPI PATCH `bulk_update_transactions` without auth dependency \u2014 roster/finance/api/router.py:825", "shortDescription": {"text": "FastAPI PATCH `bulk_update_transactions` without auth dependency \u2014 roster/finance/api/router.py:825"}, "fullDescription": {"text": "`@router.patch` 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-51452f220bb1cd2f", "name": "FastAPI PUT `update_mind_map_status` without auth dependency \u2014 roster/education/api/router.py:586", "shortDescription": {"text": "FastAPI PUT `update_mind_map_status` without auth dependency \u2014 roster/education/api/router.py:586"}, "fullDescription": {"text": "`@router.put` 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-883198ed1413c174", "name": "FastAPI POST `submit_curriculum_request` without auth dependency \u2014 roster/education/api/router.py:632", "shortDescription": {"text": "FastAPI POST `submit_curriculum_request` without auth dependency \u2014 roster/education/api/router.py:632"}, "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-e96506f61c6006b8", "name": "FastAPI POST `create_maintenance_item` without auth dependency \u2014 roster/home/api/router.py:866", "shortDescription": {"text": "FastAPI POST `create_maintenance_item` without auth dependency \u2014 roster/home/api/router.py:866"}, "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-e061b6491342b020", "name": "FastAPI POST `complete_maintenance_item` without auth dependency \u2014 roster/home/api/router.py:926", "shortDescription": {"text": "FastAPI POST `complete_maintenance_item` without auth dependency \u2014 roster/home/api/router.py:926"}, "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-714f9855ab82855f", "name": "FastAPI DELETE `delete_maintenance_item` without auth dependency \u2014 roster/home/api/router.py:982", "shortDescription": {"text": "FastAPI DELETE `delete_maintenance_item` without auth dependency \u2014 roster/home/api/router.py:982"}, "fullDescription": {"text": "`@router.delete` 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-10bd235faf541914", "name": "FastAPI PATCH `update_thresholds` without auth dependency \u2014 roster/home/api/router.py:1114", "shortDescription": {"text": "FastAPI PATCH `update_thresholds` without auth dependency \u2014 roster/home/api/router.py:1114"}, "fullDescription": {"text": "`@router.patch` 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-97b98b84ed2a6b1e", "name": "FastAPI POST `submit_episode_correction` without auth dependency \u2014 roster/chronicler/api/router.py:444", "shortDescription": {"text": "FastAPI POST `submit_episode_correction` without auth dependency \u2014 roster/chronicler/api/router.py:444"}, "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-11307c234b7e82ec", "name": "FastAPI POST `explain_episode` without auth dependency \u2014 roster/chronicler/api/router.py:624", "shortDescription": {"text": "FastAPI POST `explain_episode` without auth dependency \u2014 roster/chronicler/api/router.py:624"}, "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-4ba2ebd231567d2e", "name": "FastAPI POST `refresh_day_close` without auth dependency \u2014 roster/chronicler/api/router.py:1893", "shortDescription": {"text": "FastAPI POST `refresh_day_close` without auth dependency \u2014 roster/chronicler/api/router.py:1893"}, "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-7a91fb97cea94f21", "name": "FastAPI POST `receive_heartbeat` without auth dependency \u2014 roster/switchboard/api/router.py:423", "shortDescription": {"text": "FastAPI POST `receive_heartbeat` without auth dependency \u2014 roster/switchboard/api/router.py:423"}, "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-dba098c039b1bbd5", "name": "FastAPI POST `set_butler_eligibility` without auth dependency \u2014 roster/switchboard/api/router.py:596", "shortDescription": {"text": "FastAPI POST `set_butler_eligibility` without auth dependency \u2014 roster/switchboard/api/router.py:596"}, "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-e742b7500b09ba83", "name": "FastAPI DELETE `delete_connector` without auth dependency \u2014 roster/switchboard/api/router.py:1122", "shortDescription": {"text": "FastAPI DELETE `delete_connector` without auth dependency \u2014 roster/switchboard/api/router.py:1122"}, "fullDescription": {"text": "`@router.delete` 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-c858ef3290d8c884", "name": "FastAPI PATCH `update_connector_cursor` without auth dependency \u2014 roster/switchboard/api/router.py:1191", "shortDescription": {"text": "FastAPI PATCH `update_connector_cursor` without auth dependency \u2014 roster/switchboard/api/router.py:1191"}, "fullDescription": {"text": "`@router.patch` 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-9b7cd47e5e3e6247", "name": "FastAPI PATCH `update_connector_settings` without auth dependency \u2014 roster/switchboard/api/router.py:1273", "shortDescription": {"text": "FastAPI PATCH `update_connector_settings` without auth dependency \u2014 roster/switchboard/api/router.py:1273"}, "fullDescription": {"text": "`@router.patch` 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-052695aaf38450a3", "name": "FastAPI POST `create_backfill_job` without auth dependency \u2014 roster/switchboard/api/router.py:2011", "shortDescription": {"text": "FastAPI POST `create_backfill_job` without auth dependency \u2014 roster/switchboard/api/router.py:2011"}, "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-1821f326b7411614", "name": "FastAPI PATCH `pause_backfill_job` without auth dependency \u2014 roster/switchboard/api/router.py:2119", "shortDescription": {"text": "FastAPI PATCH `pause_backfill_job` without auth dependency \u2014 roster/switchboard/api/router.py:2119"}, "fullDescription": {"text": "`@router.patch` 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-aadb1f3286ea217d", "name": "FastAPI PATCH `cancel_backfill_job` without auth dependency \u2014 roster/switchboard/api/router.py:2185", "shortDescription": {"text": "FastAPI PATCH `cancel_backfill_job` without auth dependency \u2014 roster/switchboard/api/router.py:2185"}, "fullDescription": {"text": "`@router.patch` 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-95b1ddb33b94429f", "name": "FastAPI PATCH `resume_backfill_job` without auth dependency \u2014 roster/switchboard/api/router.py:2255", "shortDescription": {"text": "FastAPI PATCH `resume_backfill_job` without auth dependency \u2014 roster/switchboard/api/router.py:2255"}, "fullDescription": {"text": "`@router.patch` 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-4dfda016fa054c85", "name": "FastAPI PATCH `update_thread_affinity_settings` without auth dependency \u2014 roster/switchboard/api/router.py:2383", "shortDescription": {"text": "FastAPI PATCH `update_thread_affinity_settings` without auth dependency \u2014 roster/switchboard/api/router.py:2383"}, "fullDescription": {"text": "`@router.patch` 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-5648795f1c267fb5", "name": "FastAPI PUT `upsert_thread_affinity_override` without auth dependency \u2014 roster/switchboard/api/router.py:2468", "shortDescription": {"text": "FastAPI PUT `upsert_thread_affinity_override` without auth dependency \u2014 roster/switchboard/api/router.py:2468"}, "fullDescription": {"text": "`@router.put` 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-dca70517c6d6a5fe", "name": "FastAPI DELETE `delete_thread_affinity_override` without auth dependency \u2014 roster/switchboard/api/router.py:2527", "shortDescription": {"text": "FastAPI DELETE `delete_thread_affinity_override` without auth dependency \u2014 roster/switchboard/api/router.py:2527"}, "fullDescription": {"text": "`@router.delete` 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-cd42aaec3e52ec21", "name": "FastAPI POST `create_routing_instruction` without auth dependency \u2014 roster/switchboard/api/router.py:2637", "shortDescription": {"text": "FastAPI POST `create_routing_instruction` without auth dependency \u2014 roster/switchboard/api/router.py:2637"}, "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-633663af66abdc4a", "name": "FastAPI PATCH `update_routing_instruction` without auth dependency \u2014 roster/switchboard/api/router.py:2681", "shortDescription": {"text": "FastAPI PATCH `update_routing_instruction` without auth dependency \u2014 roster/switchboard/api/router.py:2681"}, "fullDescription": {"text": "`@router.patch` 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-a445d83e25434a36", "name": "FastAPI DELETE `delete_routing_instruction` without auth dependency \u2014 roster/switchboard/api/router.py:2780", "shortDescription": {"text": "FastAPI DELETE `delete_routing_instruction` without auth dependency \u2014 roster/switchboard/api/router.py:2780"}, "fullDescription": {"text": "`@router.delete` 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-dd95d9ee2e268822", "name": "FastAPI POST `create_ingestion_rule` without auth dependency \u2014 roster/switchboard/api/router.py:2964", "shortDescription": {"text": "FastAPI POST `create_ingestion_rule` without auth dependency \u2014 roster/switchboard/api/router.py:2964"}, "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-219f2dc07486d4de", "name": "FastAPI PATCH `update_ingestion_rule` without auth dependency \u2014 roster/switchboard/api/router.py:3082", "shortDescription": {"text": "FastAPI PATCH `update_ingestion_rule` without auth dependency \u2014 roster/switchboard/api/router.py:3082"}, "fullDescription": {"text": "`@router.patch` 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-d21b977da2afa51b", "name": "FastAPI DELETE `delete_ingestion_rule` without auth dependency \u2014 roster/switchboard/api/router.py:3241", "shortDescription": {"text": "FastAPI DELETE `delete_ingestion_rule` without auth dependency \u2014 roster/switchboard/api/router.py:3241"}, "fullDescription": {"text": "`@router.delete` 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-4969fb05f5e80bdd", "name": "FastAPI POST `test_ingestion_rule` without auth dependency \u2014 roster/switchboard/api/router.py:3293", "shortDescription": {"text": "FastAPI POST `test_ingestion_rule` without auth dependency \u2014 roster/switchboard/api/router.py:3293"}, "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-12a3413b87415c95", "name": "FastAPI POST `bulk_ingestion_rules` without auth dependency \u2014 roster/switchboard/api/router.py:3345", "shortDescription": {"text": "FastAPI POST `bulk_ingestion_rules` without auth dependency \u2014 roster/switchboard/api/router.py:3345"}, "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-382b7001af75a904", "name": "FastAPI POST `reload` without auth dependency \u2014 src/butlers/connectors/google_drive.py:1969", "shortDescription": {"text": "FastAPI POST `reload` without auth dependency \u2014 src/butlers/connectors/google_drive.py:1969"}, "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-46824d852d6b2a0f", "name": "FastAPI POST `reload_accounts` without auth dependency \u2014 src/butlers/connectors/gmail.py:3448", "shortDescription": {"text": "FastAPI POST `reload_accounts` without auth dependency \u2014 src/butlers/connectors/gmail.py:3448"}, "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-61f5831a28c45c88", "name": "FastAPI POST `reload_accounts` without auth dependency \u2014 src/butlers/connectors/google_calendar.py:1999", "shortDescription": {"text": "FastAPI POST `reload_accounts` without auth dependency \u2014 src/butlers/connectors/google_calendar.py:1999"}, "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-8e04598597f987f3", "name": "FastAPI PATCH `mark_notification_read` without auth dependency \u2014 src/butlers/api/routers/notifications.py:376", "shortDescription": {"text": "FastAPI PATCH `mark_notification_read` without auth dependency \u2014 src/butlers/api/routers/notifications.py:376"}, "fullDescription": {"text": "`@router.patch` 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-7305a947cc90064a", "name": "FastAPI POST `ack_failed_notifications` without auth dependency \u2014 src/butlers/api/routers/notifications.py:455", "shortDescription": {"text": "FastAPI POST `ack_failed_notifications` without auth dependency \u2014 src/butlers/api/routers/notifications.py:455"}, "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-b0e92072e5e2154e", "name": "FastAPI POST `pause_connector` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:337", "shortDescription": {"text": "FastAPI POST `pause_connector` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:337"}, "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-e627af56ebdfd396", "name": "FastAPI POST `run_now_connector` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:423", "shortDescription": {"text": "FastAPI POST `run_now_connector` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:423"}, "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-c5db30e472ca3763", "name": "FastAPI POST `disconnect_connector` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:566", "shortDescription": {"text": "FastAPI POST `disconnect_connector` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:566"}, "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-1c0a9ad1ce0a57a3", "name": "FastAPI POST `rotate_connector_token` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:699", "shortDescription": {"text": "FastAPI POST `rotate_connector_token` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:699"}, "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-d35c54022ebe85d3", "name": "FastAPI POST `reauth_connector` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:836", "shortDescription": {"text": "FastAPI POST `reauth_connector` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:836"}, "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-b4cc5b66fffd2ef1", "name": "FastAPI POST `bulk_retry_ingestion_events` without auth dependency \u2014 src/butlers/api/routers/ingestion_events.py:385", "shortDescription": {"text": "FastAPI POST `bulk_retry_ingestion_events` without auth dependency \u2014 src/butlers/api/routers/ingestion_events.py:385"}, "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-f0a03f77f372f081", "name": "FastAPI POST `replay_ingestion_event` without auth dependency \u2014 src/butlers/api/routers/ingestion_events.py:599", "shortDescription": {"text": "FastAPI POST `replay_ingestion_event` without auth dependency \u2014 src/butlers/api/routers/ingestion_events.py:599"}, "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-aa2d778524185370", "name": "FastAPI POST `add_priority_contact` without auth dependency \u2014 src/butlers/api/routers/priority_contacts.py:238", "shortDescription": {"text": "FastAPI POST `add_priority_contact` without auth dependency \u2014 src/butlers/api/routers/priority_contacts.py:238"}, "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-83fbd7a9ac376bb9", "name": "FastAPI DELETE `remove_priority_contact` without auth dependency \u2014 src/butlers/api/routers/priority_contacts.py:343", "shortDescription": {"text": "FastAPI DELETE `remove_priority_contact` without auth dependency \u2014 src/butlers/api/routers/priority_contacts.py:343"}, "fullDescription": {"text": "`@router.delete` 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-caf7225ee501f789", "name": "FastAPI PUT `update_butler_prompt` without auth dependency \u2014 src/butlers/api/routers/butler_management.py:198", "shortDescription": {"text": "FastAPI PUT `update_butler_prompt` without auth dependency \u2014 src/butlers/api/routers/butler_management.py:198"}, "fullDescription": {"text": "`@router.put` 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-fd8523f8f0b547e9", "name": "FastAPI PUT `update_butler_tool` without auth dependency \u2014 src/butlers/api/routers/butler_management.py:354", "shortDescription": {"text": "FastAPI PUT `update_butler_tool` without auth dependency \u2014 src/butlers/api/routers/butler_management.py:354"}, "fullDescription": {"text": "`@router.put` 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-e00c9aba21b56498", "name": "FastAPI POST `kill_butler` without auth dependency \u2014 src/butlers/api/routers/butler_management.py:477", "shortDescription": {"text": "FastAPI POST `kill_butler` without auth dependency \u2014 src/butlers/api/routers/butler_management.py:477"}, "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-b957886e41ecf33d", "name": "FastAPI PUT `set_module_enabled` without auth dependency \u2014 src/butlers/api/routers/modules.py:174", "shortDescription": {"text": "FastAPI PUT `set_module_enabled` without auth dependency \u2014 src/butlers/api/routers/modules.py:174"}, "fullDescription": {"text": "`@router.put` 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-792872810859a88e", "name": "FastAPI PUT `set_primary_calendar` without auth dependency \u2014 src/butlers/api/routers/calendar_workspace.py:794", "shortDescription": {"text": "FastAPI PUT `set_primary_calendar` without auth dependency \u2014 src/butlers/api/routers/calendar_workspace.py:794"}, "fullDescription": {"text": "`@router.put` 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-a6dd99d76f0f7524", "name": "FastAPI POST `sync_workspace` without auth dependency \u2014 src/butlers/api/routers/calendar_workspace.py:821", "shortDescription": {"text": "FastAPI POST `sync_workspace` without auth dependency \u2014 src/butlers/api/routers/calendar_workspace.py:821"}, "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-f8c8bc3c5e5f57dd", "name": "FastAPI POST `mutate_user_event` without auth dependency \u2014 src/butlers/api/routers/calendar_workspace.py:1018", "shortDescription": {"text": "FastAPI POST `mutate_user_event` without auth dependency \u2014 src/butlers/api/routers/calendar_workspace.py:1018"}, "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-80866b53d4b3e6ed", "name": "FastAPI POST `mutate_butler_event` without auth dependency \u2014 src/butlers/api/routers/calendar_workspace.py:1079", "shortDescription": {"text": "FastAPI POST `mutate_butler_event` without auth dependency \u2014 src/butlers/api/routers/calendar_workspace.py:1079"}, "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-f10649d48bccd5b1", "name": "FastAPI POST `retry_healing_attempt` without auth dependency \u2014 src/butlers/api/routers/healing.py:451", "shortDescription": {"text": "FastAPI POST `retry_healing_attempt` without auth dependency \u2014 src/butlers/api/routers/healing.py:451"}, "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-dccbf60e7ca8bc9f", "name": "FastAPI POST `reset_circuit_breaker` without auth dependency \u2014 src/butlers/api/routers/healing.py:657", "shortDescription": {"text": "FastAPI POST `reset_circuit_breaker` without auth dependency \u2014 src/butlers/api/routers/healing.py:657"}, "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-8455c6df6f68f950", "name": "FastAPI POST `create_spend_rule` without auth dependency \u2014 src/butlers/api/routers/spend.py:1196", "shortDescription": {"text": "FastAPI POST `create_spend_rule` without auth dependency \u2014 src/butlers/api/routers/spend.py:1196"}, "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-872f4f7174176477", "name": "FastAPI PUT `update_spend_rule` without auth dependency \u2014 src/butlers/api/routers/spend.py:1277", "shortDescription": {"text": "FastAPI PUT `update_spend_rule` without auth dependency \u2014 src/butlers/api/routers/spend.py:1277"}, "fullDescription": {"text": "`@router.put` 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-77db26c3de824efc", "name": "FastAPI DELETE `delete_spend_rule` without auth dependency \u2014 src/butlers/api/routers/spend.py:1387", "shortDescription": {"text": "FastAPI DELETE `delete_spend_rule` without auth dependency \u2014 src/butlers/api/routers/spend.py:1387"}, "fullDescription": {"text": "`@router.delete` 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-4e2730dded4f9f35", "name": "FastAPI PUT `update_spend_ceiling` without auth dependency \u2014 src/butlers/api/routers/spend.py:1451", "shortDescription": {"text": "FastAPI PUT `update_spend_ceiling` without auth dependency \u2014 src/butlers/api/routers/spend.py:1451"}, "fullDescription": {"text": "`@router.put` 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-deb022af562c5f58", "name": "FastAPI PATCH `upsert_channel_default` without auth dependency \u2014 src/butlers/api/routers/channel_defaults.py:172", "shortDescription": {"text": "FastAPI PATCH `upsert_channel_default` without auth dependency \u2014 src/butlers/api/routers/channel_defaults.py:172"}, "fullDescription": {"text": "`@router.patch` 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-6434cffaecb0c5e9", "name": "FastAPI DELETE `delete_channel_default_not_allowed` without auth dependency \u2014 src/butlers/api/routers/channel_defaults.p", "shortDescription": {"text": "FastAPI DELETE `delete_channel_default_not_allowed` without auth dependency \u2014 src/butlers/api/routers/channel_defaults.py:247"}, "fullDescription": {"text": "`@router.delete` 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-e71f64a1ec190468", "name": "FastAPI PATCH `patch_runtime_config` without auth dependency \u2014 src/butlers/api/routers/runtime_config.py:146", "shortDescription": {"text": "FastAPI PATCH `patch_runtime_config` without auth dependency \u2014 src/butlers/api/routers/runtime_config.py:146"}, "fullDescription": {"text": "`@router.patch` 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-576aa4e1bb494692", "name": "FastAPI POST `send_code` without auth dependency \u2014 src/butlers/api/routers/telegram_auth.py:175", "shortDescription": {"text": "FastAPI POST `send_code` without auth dependency \u2014 src/butlers/api/routers/telegram_auth.py:175"}, "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-9a570f14065a7bed", "name": "FastAPI POST `verify_code` without auth dependency \u2014 src/butlers/api/routers/telegram_auth.py:231", "shortDescription": {"text": "FastAPI POST `verify_code` without auth dependency \u2014 src/butlers/api/routers/telegram_auth.py:231"}, "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-e37bd3c13510021a", "name": "FastAPI POST `create_conversation` without auth dependency \u2014 src/butlers/api/routers/conversations.py:489", "shortDescription": {"text": "FastAPI POST `create_conversation` without auth dependency \u2014 src/butlers/api/routers/conversations.py:489"}, "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-c22219f81aff0e5c", "name": "FastAPI POST `send_message` without auth dependency \u2014 src/butlers/api/routers/conversations.py:605", "shortDescription": {"text": "FastAPI POST `send_message` without auth dependency \u2014 src/butlers/api/routers/conversations.py:605"}, "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-9eea2bad1359861b", "name": "FastAPI PATCH `update_conversation` without auth dependency \u2014 src/butlers/api/routers/conversations.py:688", "shortDescription": {"text": "FastAPI PATCH `update_conversation` without auth dependency \u2014 src/butlers/api/routers/conversations.py:688"}, "fullDescription": {"text": "`@router.patch` 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-a019f418def89c42", "name": "FastAPI POST `connect_steam_account` without auth dependency \u2014 src/butlers/api/routers/steam.py:279", "shortDescription": {"text": "FastAPI POST `connect_steam_account` without auth dependency \u2014 src/butlers/api/routers/steam.py:279"}, "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-055dd53e16b3dcfb", "name": "FastAPI DELETE `disconnect_steam_account` without auth dependency \u2014 src/butlers/api/routers/steam.py:419", "shortDescription": {"text": "FastAPI DELETE `disconnect_steam_account` without auth dependency \u2014 src/butlers/api/routers/steam.py:419"}, "fullDescription": {"text": "`@router.delete` 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-355c042bd7279d2d", "name": "FastAPI PUT `set_primary_steam_account` without auth dependency \u2014 src/butlers/api/routers/steam.py:493", "shortDescription": {"text": "FastAPI PUT `set_primary_steam_account` without auth dependency \u2014 src/butlers/api/routers/steam.py:493"}, "fullDescription": {"text": "`@router.put` 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-9686ec330c5e1934", "name": "FastAPI POST `test_blob_storage` without auth dependency \u2014 src/butlers/api/routers/blob_storage.py:133", "shortDescription": {"text": "FastAPI POST `test_blob_storage` without auth dependency \u2014 src/butlers/api/routers/blob_storage.py:133"}, "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-cc24dc4838508605", "name": "FastAPI POST `confirm_fact` without auth dependency \u2014 src/butlers/api/routers/memory.py:571", "shortDescription": {"text": "FastAPI POST `confirm_fact` without auth dependency \u2014 src/butlers/api/routers/memory.py:571"}, "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-d2cc1b16558683db", "name": "FastAPI POST `retract_fact` without auth dependency \u2014 src/butlers/api/routers/memory.py:630", "shortDescription": {"text": "FastAPI POST `retract_fact` without auth dependency \u2014 src/butlers/api/routers/memory.py:630"}, "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-72465ecc23c02e54", "name": "FastAPI PATCH `update_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1245", "shortDescription": {"text": "FastAPI PATCH `update_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1245"}, "fullDescription": {"text": "`@router.patch` 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-25ae5919e3a5413d", "name": "FastAPI PUT `set_linked_contact` without auth dependency \u2014 src/butlers/api/routers/memory.py:1346", "shortDescription": {"text": "FastAPI PUT `set_linked_contact` without auth dependency \u2014 src/butlers/api/routers/memory.py:1346"}, "fullDescription": {"text": "`@router.put` 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-73e3683cce1662c3", "name": "FastAPI DELETE `delete_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1424", "shortDescription": {"text": "FastAPI DELETE `delete_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1424"}, "fullDescription": {"text": "`@router.delete` 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-e3f81fb644d0d8a4", "name": "FastAPI POST `archive_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1517", "shortDescription": {"text": "FastAPI POST `archive_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1517"}, "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-a74401f3dd12a38d", "name": "FastAPI POST `unarchive_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1565", "shortDescription": {"text": "FastAPI POST `unarchive_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1565"}, "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-c81e6ec610246fc3", "name": "FastAPI DELETE `unlink_contact` without auth dependency \u2014 src/butlers/api/routers/memory.py:1597", "shortDescription": {"text": "FastAPI DELETE `unlink_contact` without auth dependency \u2014 src/butlers/api/routers/memory.py:1597"}, "fullDescription": {"text": "`@router.delete` 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-4ee00d9cb6e67802", "name": "FastAPI POST `promote_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1619", "shortDescription": {"text": "FastAPI POST `promote_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1619"}, "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-8df69b4bdf0d3754", "name": "FastAPI PUT `update_retention_policies` without auth dependency \u2014 src/butlers/api/routers/memory.py:1911", "shortDescription": {"text": "FastAPI PUT `update_retention_policies` without auth dependency \u2014 src/butlers/api/routers/memory.py:1911"}, "fullDescription": {"text": "`@router.put` 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-d946c03e10478b10", "name": "FastAPI POST `run_reembed` without auth dependency \u2014 src/butlers/api/routers/memory.py:2244", "shortDescription": {"text": "FastAPI POST `run_reembed` without auth dependency \u2014 src/butlers/api/routers/memory.py:2244"}, "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-30993b316d7a3ca7", "name": "FastAPI POST `create_saved_view` without auth dependency \u2014 src/butlers/api/routers/timeline_saved_views.py:161", "shortDescription": {"text": "FastAPI POST `create_saved_view` without auth dependency \u2014 src/butlers/api/routers/timeline_saved_views.py:161"}, "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-b6b48c57e382b4f5", "name": "FastAPI PATCH `update_saved_view` without auth dependency \u2014 src/butlers/api/routers/timeline_saved_views.py:186", "shortDescription": {"text": "FastAPI PATCH `update_saved_view` without auth dependency \u2014 src/butlers/api/routers/timeline_saved_views.py:186"}, "fullDescription": {"text": "`@router.patch` 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-e7d766933d199333", "name": "FastAPI DELETE `delete_saved_view` without auth dependency \u2014 src/butlers/api/routers/timeline_saved_views.py:249", "shortDescription": {"text": "FastAPI DELETE `delete_saved_view` without auth dependency \u2014 src/butlers/api/routers/timeline_saved_views.py:249"}, "fullDescription": {"text": "`@router.delete` 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-9dff2cf9b066fd6c", "name": "FastAPI POST `start_whatsapp_pairing` without auth dependency \u2014 src/butlers/api/routers/whatsapp.py:225", "shortDescription": {"text": "FastAPI POST `start_whatsapp_pairing` without auth dependency \u2014 src/butlers/api/routers/whatsapp.py:225"}, "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-63287fb8d19bc0ba", "name": "FastAPI POST `disconnect_whatsapp` without auth dependency \u2014 src/butlers/api/routers/whatsapp.py:309", "shortDescription": {"text": "FastAPI POST `disconnect_whatsapp` without auth dependency \u2014 src/butlers/api/routers/whatsapp.py:309"}, "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-25baa64d9a9d4e53", "name": "FastAPI POST `create_webhook` without auth dependency \u2014 src/butlers/api/routers/webhooks.py:256", "shortDescription": {"text": "FastAPI POST `create_webhook` without auth dependency \u2014 src/butlers/api/routers/webhooks.py:256"}, "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-51a8788b389a92d9", "name": "FastAPI PUT `update_webhook` without auth dependency \u2014 src/butlers/api/routers/webhooks.py:331", "shortDescription": {"text": "FastAPI PUT `update_webhook` without auth dependency \u2014 src/butlers/api/routers/webhooks.py:331"}, "fullDescription": {"text": "`@router.put` 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-68ab122580234744", "name": "FastAPI DELETE `delete_webhook` without auth dependency \u2014 src/butlers/api/routers/webhooks.py:404", "shortDescription": {"text": "FastAPI DELETE `delete_webhook` without auth dependency \u2014 src/butlers/api/routers/webhooks.py:404"}, "fullDescription": {"text": "`@router.delete` 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-e8d60303b2be8dc4", "name": "FastAPI POST `test_webhook` without auth dependency \u2014 src/butlers/api/routers/webhooks.py:434", "shortDescription": {"text": "FastAPI POST `test_webhook` without auth dependency \u2014 src/butlers/api/routers/webhooks.py:434"}, "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-bf2a2900a5ebe25c", "name": "FastAPI POST `call_butler_mcp_tool` without auth dependency \u2014 src/butlers/api/routers/butlers.py:596", "shortDescription": {"text": "FastAPI POST `call_butler_mcp_tool` without auth dependency \u2014 src/butlers/api/routers/butlers.py:596"}, "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-04d71a6b540c5fee", "name": "FastAPI POST `trigger_butler` without auth dependency \u2014 src/butlers/api/routers/butlers.py:862", "shortDescription": {"text": "FastAPI POST `trigger_butler` without auth dependency \u2014 src/butlers/api/routers/butlers.py:862"}, "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-1e3227e5ee705828", "name": "FastAPI POST `force_butler_tick` without auth dependency \u2014 src/butlers/api/routers/butlers.py:951", "shortDescription": {"text": "FastAPI POST `force_butler_tick` without auth dependency \u2014 src/butlers/api/routers/butlers.py:951"}, "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-59d27bf815c6bdfe", "name": "FastAPI POST `configure_ha` without auth dependency \u2014 src/butlers/api/routers/home_assistant.py:248", "shortDescription": {"text": "FastAPI POST `configure_ha` without auth dependency \u2014 src/butlers/api/routers/home_assistant.py:248"}, "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-c59d5b54e2e922b6", "name": "FastAPI DELETE `delete_ha_config` without auth dependency \u2014 src/butlers/api/routers/home_assistant.py:298", "shortDescription": {"text": "FastAPI DELETE `delete_ha_config` without auth dependency \u2014 src/butlers/api/routers/home_assistant.py:298"}, "fullDescription": {"text": "`@router.delete` 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-4a67d12971f1a513", "name": "FastAPI DELETE `disconnect_google_health` without auth dependency \u2014 src/butlers/api/routers/google_health.py:858", "shortDescription": {"text": "FastAPI DELETE `disconnect_google_health` without auth dependency \u2014 src/butlers/api/routers/google_health.py:858"}, "fullDescription": {"text": "`@router.delete` 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-27668fa6a668eb8c", "name": "FastAPI POST `create_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:178", "shortDescription": {"text": "FastAPI POST `create_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:178"}, "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-0c008d90a56c73d2", "name": "FastAPI PUT `update_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:233", "shortDescription": {"text": "FastAPI PUT `update_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:233"}, "fullDescription": {"text": "`@router.put` 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-5fc9ddb7be43a810", "name": "FastAPI DELETE `delete_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:273", "shortDescription": {"text": "FastAPI DELETE `delete_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:273"}, "fullDescription": {"text": "`@router.delete` 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-8d134685b6a6d33a", "name": "FastAPI POST `trigger_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:301", "shortDescription": {"text": "FastAPI POST `trigger_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:301"}, "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-e5bc327589662356", "name": "FastAPI PATCH `toggle_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:324", "shortDescription": {"text": "FastAPI PATCH `toggle_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:324"}, "fullDescription": {"text": "`@router.patch` 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-b7816a60d6342744", "name": "FastAPI POST `update_spotify_config` without auth dependency \u2014 src/butlers/api/routers/spotify.py:414", "shortDescription": {"text": "FastAPI POST `update_spotify_config` without auth dependency \u2014 src/butlers/api/routers/spotify.py:414"}, "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-9a26b9b13d82f5aa", "name": "FastAPI POST `start_spotify_oauth` without auth dependency \u2014 src/butlers/api/routers/spotify.py:450", "shortDescription": {"text": "FastAPI POST `start_spotify_oauth` without auth dependency \u2014 src/butlers/api/routers/spotify.py:450"}, "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-918e118a23346007", "name": "FastAPI POST `disconnect_spotify` without auth dependency \u2014 src/butlers/api/routers/spotify.py:746", "shortDescription": {"text": "FastAPI POST `disconnect_spotify` without auth dependency \u2014 src/butlers/api/routers/spotify.py:746"}, "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-1143a27d17371bb9", "name": "FastAPI PUT `upsert_secret` without auth dependency \u2014 src/butlers/api/routers/secrets.py:184", "shortDescription": {"text": "FastAPI PUT `upsert_secret` without auth dependency \u2014 src/butlers/api/routers/secrets.py:184"}, "fullDescription": {"text": "`@router.put` 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-347d9d5d74d642d9", "name": "FastAPI DELETE `delete_secret` without auth dependency \u2014 src/butlers/api/routers/secrets.py:253", "shortDescription": {"text": "FastAPI DELETE `delete_secret` without auth dependency \u2014 src/butlers/api/routers/secrets.py:253"}, "fullDescription": {"text": "`@router.delete` 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-911c50f28f1d1c11", "name": "FastAPI POST `dismiss_issue` without auth dependency \u2014 src/butlers/api/routers/issues.py:219", "shortDescription": {"text": "FastAPI POST `dismiss_issue` without auth dependency \u2014 src/butlers/api/routers/issues.py:219"}, "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-3602acdb35bbb5bb", "name": "FastAPI DELETE `undismiss_issue` without auth dependency \u2014 src/butlers/api/routers/issues.py:252", "shortDescription": {"text": "FastAPI DELETE `undismiss_issue` without auth dependency \u2014 src/butlers/api/routers/issues.py:252"}, "fullDescription": {"text": "`@router.delete` 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-13e3d077ebb16101", "name": "FastAPI POST `export_data` without auth dependency \u2014 src/butlers/api/routers/data_ops.py:181", "shortDescription": {"text": "FastAPI POST `export_data` without auth dependency \u2014 src/butlers/api/routers/data_ops.py:181"}, "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-3a6c82cd0e8fbabd", "name": "FastAPI DELETE `wipe_data` without auth dependency \u2014 src/butlers/api/routers/data_ops.py:300", "shortDescription": {"text": "FastAPI DELETE `wipe_data` without auth dependency \u2014 src/butlers/api/routers/data_ops.py:300"}, "fullDescription": {"text": "`@router.delete` 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-bc7b05da62d2f92a", "name": "FastAPI PUT `set_state` without auth dependency \u2014 src/butlers/api/routers/state.py:119", "shortDescription": {"text": "FastAPI PUT `set_state` without auth dependency \u2014 src/butlers/api/routers/state.py:119"}, "fullDescription": {"text": "`@router.put` 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-194c96d625a489d5", "name": "FastAPI DELETE `delete_state` without auth dependency \u2014 src/butlers/api/routers/state.py:152", "shortDescription": {"text": "FastAPI DELETE `delete_state` without auth dependency \u2014 src/butlers/api/routers/state.py:152"}, "fullDescription": {"text": "`@router.delete` 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-e2a40f1b9076fc00", "name": "FastAPI POST `dismiss_known_issue` without auth dependency \u2014 src/butlers/api/routers/qa.py:2280", "shortDescription": {"text": "FastAPI POST `dismiss_known_issue` without auth dependency \u2014 src/butlers/api/routers/qa.py:2280"}, "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-5d7a5a6ea09f69e6", "name": "FastAPI DELETE `undismiss_known_issue` without auth dependency \u2014 src/butlers/api/routers/qa.py:2330", "shortDescription": {"text": "FastAPI DELETE `undismiss_known_issue` without auth dependency \u2014 src/butlers/api/routers/qa.py:2330"}, "fullDescription": {"text": "`@router.delete` 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-d7e2cb823d00ee53", "name": "FastAPI POST `force_patrol` without auth dependency \u2014 src/butlers/api/routers/qa.py:2563", "shortDescription": {"text": "FastAPI POST `force_patrol` without auth dependency \u2014 src/butlers/api/routers/qa.py:2563"}, "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-64696adf2f730559", "name": "FastAPI POST `create_synthetic_finding` without auth dependency \u2014 src/butlers/api/routers/qa.py:2631", "shortDescription": {"text": "FastAPI POST `create_synthetic_finding` without auth dependency \u2014 src/butlers/api/routers/qa.py:2631"}, "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-132fe28467b6cc5e", "name": "FastAPI DELETE `delete_dismissal` without auth dependency \u2014 src/butlers/api/routers/qa.py:2785", "shortDescription": {"text": "FastAPI DELETE `delete_dismissal` without auth dependency \u2014 src/butlers/api/routers/qa.py:2785"}, "fullDescription": {"text": "`@router.delete` 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-9b1c02658aa044fc", "name": "FastAPI POST `create_allowed_repo` without auth dependency \u2014 src/butlers/api/routers/qa.py:2867", "shortDescription": {"text": "FastAPI POST `create_allowed_repo` without auth dependency \u2014 src/butlers/api/routers/qa.py:2867"}, "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-e168a4d7a3fd2aeb", "name": "FastAPI PATCH `patch_allowed_repo` without auth dependency \u2014 src/butlers/api/routers/qa.py:2929", "shortDescription": {"text": "FastAPI PATCH `patch_allowed_repo` without auth dependency \u2014 src/butlers/api/routers/qa.py:2929"}, "fullDescription": {"text": "`@router.patch` 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-26e31f825d090fc2", "name": "FastAPI DELETE `delete_allowed_repo` without auth dependency \u2014 src/butlers/api/routers/qa.py:2969", "shortDescription": {"text": "FastAPI DELETE `delete_allowed_repo` without auth dependency \u2014 src/butlers/api/routers/qa.py:2969"}, "fullDescription": {"text": "`@router.delete` 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-d49d60fa7b8ec2b3", "name": "FastAPI POST `reset_circuit_breaker` without auth dependency \u2014 src/butlers/api/routers/qa.py:3050", "shortDescription": {"text": "FastAPI POST `reset_circuit_breaker` without auth dependency \u2014 src/butlers/api/routers/qa.py:3050"}, "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-89ebc66a99fa1b5b", "name": "FastAPI PUT `update_repo_config` without auth dependency \u2014 src/butlers/api/routers/qa.py:3158", "shortDescription": {"text": "FastAPI PUT `update_repo_config` without auth dependency \u2014 src/butlers/api/routers/qa.py:3158"}, "fullDescription": {"text": "`@router.put` 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-c1d24422df11df71", "name": "FastAPI POST `sync_repo` without auth dependency \u2014 src/butlers/api/routers/qa.py:3193", "shortDescription": {"text": "FastAPI POST `sync_repo` without auth dependency \u2014 src/butlers/api/routers/qa.py:3193"}, "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-edb9d91b362c7883", "name": "FastAPI PUT `update_general_settings` without auth dependency \u2014 src/butlers/api/routers/general_settings.py:102", "shortDescription": {"text": "FastAPI PUT `update_general_settings` without auth dependency \u2014 src/butlers/api/routers/general_settings.py:102"}, "fullDescription": {"text": "`@router.put` 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-63ddbec3248218bf", "name": "FastAPI POST `create_provider` without auth dependency \u2014 src/butlers/api/routers/provider_settings.py:158", "shortDescription": {"text": "FastAPI POST `create_provider` without auth dependency \u2014 src/butlers/api/routers/provider_settings.py:158"}, "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-4f6d423be68118e1", "name": "FastAPI PUT `update_provider` without auth dependency \u2014 src/butlers/api/routers/provider_settings.py:199", "shortDescription": {"text": "FastAPI PUT `update_provider` without auth dependency \u2014 src/butlers/api/routers/provider_settings.py:199"}, "fullDescription": {"text": "`@router.put` 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-a735866ef780d8f5", "name": "FastAPI DELETE `delete_provider` without auth dependency \u2014 src/butlers/api/routers/provider_settings.py:254", "shortDescription": {"text": "FastAPI DELETE `delete_provider` without auth dependency \u2014 src/butlers/api/routers/provider_settings.py:254"}, "fullDescription": {"text": "`@router.delete` 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-d9f16346779c6797", "name": "FastAPI POST `test_connectivity` without auth dependency \u2014 src/butlers/api/routers/provider_settings.py:279", "shortDescription": {"text": "FastAPI POST `test_connectivity` without auth dependency \u2014 src/butlers/api/routers/provider_settings.py:279"}, "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-2f195438b62f4da2", "name": "FastAPI PUT `set_permission` without auth dependency \u2014 src/butlers/api/routers/permissions.py:137", "shortDescription": {"text": "FastAPI PUT `set_permission` without auth dependency \u2014 src/butlers/api/routers/permissions.py:137"}, "fullDescription": {"text": "`@router.put` 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-814b862891e4dbb8", "name": "FastAPI PUT `upsert_google_credentials` without auth dependency \u2014 src/butlers/api/routers/oauth.py:1711", "shortDescription": {"text": "FastAPI PUT `upsert_google_credentials` without auth dependency \u2014 src/butlers/api/routers/oauth.py:1711"}, "fullDescription": {"text": "`@router.put` 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-dc2d5fd3eb36fc7b", "name": "FastAPI DELETE `delete_google_credentials_endpoint` without auth dependency \u2014 src/butlers/api/routers/oauth.py:1766", "shortDescription": {"text": "FastAPI DELETE `delete_google_credentials_endpoint` without auth dependency \u2014 src/butlers/api/routers/oauth.py:1766"}, "fullDescription": {"text": "`@router.delete` 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-19730997286f7585", "name": "FastAPI PUT `set_primary_google_account` without auth dependency \u2014 src/butlers/api/routers/oauth.py:1894", "shortDescription": {"text": "FastAPI PUT `set_primary_google_account` without auth dependency \u2014 src/butlers/api/routers/oauth.py:1894"}, "fullDescription": {"text": "`@router.put` 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-0791282fa0cc4e06", "name": "FastAPI DELETE `disconnect_google_account` without auth dependency \u2014 src/butlers/api/routers/oauth.py:1917", "shortDescription": {"text": "FastAPI DELETE `disconnect_google_account` without auth dependency \u2014 src/butlers/api/routers/oauth.py:1917"}, "fullDescription": {"text": "`@router.delete` 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-ac04f46982e7fffe", "name": "FastAPI POST `start_auth` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:157", "shortDescription": {"text": "FastAPI POST `start_auth` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:157"}, "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-f1f369ec739ee21c", "name": "FastAPI DELETE `cancel_session` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:225", "shortDescription": {"text": "FastAPI DELETE `cancel_session` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:225"}, "fullDescription": {"text": "`@router.delete` 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-a29d4514d8785556", "name": "FastAPI PUT `save_api_key` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:244", "shortDescription": {"text": "FastAPI PUT `save_api_key` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:244"}, "fullDescription": {"text": "`@router.put` 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-0cdc26f055b510c7", "name": "FastAPI DELETE `delete_api_key` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:303", "shortDescription": {"text": "FastAPI DELETE `delete_api_key` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:303"}, "fullDescription": {"text": "`@router.delete` 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-8e9555db80cda6c8", "name": "FastAPI POST `test_api_key` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:343", "shortDescription": {"text": "FastAPI POST `test_api_key` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:343"}, "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-1ced85bfbdee92b0", "name": "FastAPI POST `rotate_user_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:2612", "shortDescription": {"text": "FastAPI POST `rotate_user_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:2612"}, "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-c13b93f2c5264d95", "name": "FastAPI POST `disconnect_user_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:2727", "shortDescription": {"text": "FastAPI POST `disconnect_user_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:2727"}, "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-d09e991fafca3815", "name": "FastAPI POST `probe_user_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:2836", "shortDescription": {"text": "FastAPI POST `probe_user_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:2836"}, "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-45e8aeddbbdfa7cc", "name": "FastAPI POST `reauthorize_user_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3017", "shortDescription": {"text": "FastAPI POST `reauthorize_user_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3017"}, "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-908807db220d04c5", "name": "FastAPI POST `set_system_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3248", "shortDescription": {"text": "FastAPI POST `set_system_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3248"}, "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-36610b709cf58b03", "name": "FastAPI POST `probe_system_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3501", "shortDescription": {"text": "FastAPI POST `probe_system_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3501"}, "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-5c44753b9ef35907", "name": "FastAPI DELETE `delete_system_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3697", "shortDescription": {"text": "FastAPI DELETE `delete_system_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3697"}, "fullDescription": {"text": "`@router.delete` 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-eae02dac9093ed69", "name": "FastAPI POST `rotate_cli_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3970", "shortDescription": {"text": "FastAPI POST `rotate_cli_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3970"}, "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-a8a78ff4b88b02e1", "name": "FastAPI POST `revoke_cli_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:4079", "shortDescription": {"text": "FastAPI POST `revoke_cli_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:4079"}, "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-3c7dfb6944001418", "name": "FastAPI POST `reauthorize_cli_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:4184", "shortDescription": {"text": "FastAPI POST `reauthorize_cli_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:4184"}, "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-c467c52844acf29d", "name": "FastAPI POST `generate_owntracks_token` without auth dependency \u2014 src/butlers/api/routers/owntracks.py:324", "shortDescription": {"text": "FastAPI POST `generate_owntracks_token` without auth dependency \u2014 src/butlers/api/routers/owntracks.py:324"}, "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-792700e6d8fa4fce", "name": "FastAPI POST `approve_action` without auth dependency \u2014 src/butlers/api/routers/approvals.py:625", "shortDescription": {"text": "FastAPI POST `approve_action` without auth dependency \u2014 src/butlers/api/routers/approvals.py:625"}, "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-fd99cbb72894fca7", "name": "FastAPI POST `retry_action` without auth dependency \u2014 src/butlers/api/routers/approvals.py:788", "shortDescription": {"text": "FastAPI POST `retry_action` without auth dependency \u2014 src/butlers/api/routers/approvals.py:788"}, "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-ae6d08a56ef0d4a4", "name": "FastAPI POST `reject_action` without auth dependency \u2014 src/butlers/api/routers/approvals.py:845", "shortDescription": {"text": "FastAPI POST `reject_action` without auth dependency \u2014 src/butlers/api/routers/approvals.py:845"}, "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-fc0aeedeab25944d", "name": "FastAPI POST `expire_stale_actions` without auth dependency \u2014 src/butlers/api/routers/approvals.py:889", "shortDescription": {"text": "FastAPI POST `expire_stale_actions` without auth dependency \u2014 src/butlers/api/routers/approvals.py:889"}, "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-4364c6ac29d07b30", "name": "FastAPI POST `create_rule` without auth dependency \u2014 src/butlers/api/routers/approvals.py:931", "shortDescription": {"text": "FastAPI POST `create_rule` without auth dependency \u2014 src/butlers/api/routers/approvals.py:931"}, "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-d2eff5135f05213b", "name": "FastAPI POST `create_rule_from_action` without auth dependency \u2014 src/butlers/api/routers/approvals.py:958", "shortDescription": {"text": "FastAPI POST `create_rule_from_action` without auth dependency \u2014 src/butlers/api/routers/approvals.py:958"}, "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-4ed127beee684fc0", "name": "FastAPI POST `revoke_rule` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1111", "shortDescription": {"text": "FastAPI POST `revoke_rule` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1111"}, "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-571bc9975016fd1b", "name": "FastAPI PUT `update_approvals_policy` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1498", "shortDescription": {"text": "FastAPI PUT `update_approvals_policy` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1498"}, "fullDescription": {"text": "`@router.put` 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-897d1b54413bdaf1", "name": "FastAPI POST `confirm_suggestion` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1667", "shortDescription": {"text": "FastAPI POST `confirm_suggestion` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1667"}, "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-56926d9bede5fe66", "name": "FastAPI POST `dismiss_suggestion` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1805", "shortDescription": {"text": "FastAPI POST `dismiss_suggestion` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1805"}, "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-5c8bc8128a921a6e", "name": "FastAPI POST `approve_approval` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1916", "shortDescription": {"text": "FastAPI POST `approve_approval` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1916"}, "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-68ff73b402afb03a", "name": "FastAPI POST `deny_approval` without auth dependency \u2014 src/butlers/api/routers/approvals.py:2011", "shortDescription": {"text": "FastAPI POST `deny_approval` without auth dependency \u2014 src/butlers/api/routers/approvals.py:2011"}, "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-8746542fa33a103b", "name": "FastAPI POST `defer_approval` without auth dependency \u2014 src/butlers/api/routers/approvals.py:2062", "shortDescription": {"text": "FastAPI POST `defer_approval` without auth dependency \u2014 src/butlers/api/routers/approvals.py:2062"}, "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-da17183ff72d1fb5", "name": "FastAPI POST `retry_approval` without auth dependency \u2014 src/butlers/api/routers/approvals.py:2129", "shortDescription": {"text": "FastAPI POST `retry_approval` without auth dependency \u2014 src/butlers/api/routers/approvals.py:2129"}, "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-81563560dafce249", "name": "Dangling fetch: GET /api/... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:22)", "shortDescription": {"text": "Dangling fetch: GET /api/... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:22)"}, "fullDescription": {"text": "`frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:22` calls `GET /api/...` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/...`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a826c381de65a07d", "name": "Dangling fetch: GET https://... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:23)", "shortDescription": {"text": "Dangling fetch: GET https://... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:23)"}, "fullDescription": {"text": "`frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:23` calls `GET https://...` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/...`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-52cb1b9a63ac2754", "name": "Dangling fetch: GET http://... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:23)", "shortDescription": {"text": "Dangling fetch: GET http://... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:23)"}, "fullDescription": {"text": "`frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:23` calls `GET http://...` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/...`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0ea31fc7a99da72b", "name": "Dangling fetch: GET /api/... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:119)", "shortDescription": {"text": "Dangling fetch: GET /api/... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:119)"}, "fullDescription": {"text": "`frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:119` calls `GET /api/...` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/...`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4c05b91f15043944", "name": "Dangling fetch: GET https://... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:122)", "shortDescription": {"text": "Dangling fetch: GET https://... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:122)"}, "fullDescription": {"text": "`frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:122` calls `GET https://...` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/...`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-957f8d66a9b695ed", "name": "Dangling fetch: GET http://... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:122)", "shortDescription": {"text": "Dangling fetch: GET http://... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:122)"}, "fullDescription": {"text": "`frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:122` calls `GET http://...` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/...`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d1eef6572378db8a", "name": "Dangling fetch: GET /api/... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:341)", "shortDescription": {"text": "Dangling fetch: GET /api/... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:341)"}, "fullDescription": {"text": "`frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:341` calls `GET /api/...` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/...`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4092d5c7ec5b2b9a", "name": "Dangling fetch: GET /api/permissions (frontend/src/pages/SettingsPermissionsPage.tsx:126)", "shortDescription": {"text": "Dangling fetch: GET /api/permissions (frontend/src/pages/SettingsPermissionsPage.tsx:126)"}, "fullDescription": {"text": "`frontend/src/pages/SettingsPermissionsPage.tsx:126` calls `GET /api/permissions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/permissions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-241e7f6ca6bbb64e", "name": "Dangling fetch: PUT /api/permissions/${encodeURIComponent(butler)}/${encodeURIComponent(perm)} (frontend/src/pages/Setti", "shortDescription": {"text": "Dangling fetch: PUT /api/permissions/${encodeURIComponent(butler)}/${encodeURIComponent(perm)} (frontend/src/pages/SettingsPermissionsPage.tsx:138)"}, "fullDescription": {"text": "`frontend/src/pages/SettingsPermissionsPage.tsx:138` calls `PUT /api/permissions/${encodeURIComponent(butler)}/${encodeURIComponent(perm)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/permissions/<p>/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e3fe3596fcd6f8cf", "name": "Dangling fetch: GET /api/webhooks (frontend/src/pages/SettingsPermissionsPage.tsx:150)", "shortDescription": {"text": "Dangling fetch: GET /api/webhooks (frontend/src/pages/SettingsPermissionsPage.tsx:150)"}, "fullDescription": {"text": "`frontend/src/pages/SettingsPermissionsPage.tsx:150` calls `GET /api/webhooks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/webhooks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b8bd6ed7cb66a512", "name": "Dangling fetch: DELETE /api/webhooks/${id} (frontend/src/pages/SettingsPermissionsPage.tsx:157)", "shortDescription": {"text": "Dangling fetch: DELETE /api/webhooks/${id} (frontend/src/pages/SettingsPermissionsPage.tsx:157)"}, "fullDescription": {"text": "`frontend/src/pages/SettingsPermissionsPage.tsx:157` calls `DELETE /api/webhooks/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/webhooks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-935f21e3b796409c", "name": "Dangling fetch: POST /api/webhooks/${id}/test (frontend/src/pages/SettingsPermissionsPage.tsx:162)", "shortDescription": {"text": "Dangling fetch: POST /api/webhooks/${id}/test (frontend/src/pages/SettingsPermissionsPage.tsx:162)"}, "fullDescription": {"text": "`frontend/src/pages/SettingsPermissionsPage.tsx:162` calls `POST /api/webhooks/${id}/test` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/webhooks/<p>/test`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bd5c9fb10eff092a", "name": "Dangling fetch: POST /api/data/export (frontend/src/pages/SettingsPermissionsPage.tsx:169)", "shortDescription": {"text": "Dangling fetch: POST /api/data/export (frontend/src/pages/SettingsPermissionsPage.tsx:169)"}, "fullDescription": {"text": "`frontend/src/pages/SettingsPermissionsPage.tsx:169` calls `POST /api/data/export` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/data/export`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-32f5628b3e6b3541", "name": "Dangling fetch: DELETE /api/data/wipe (frontend/src/pages/SettingsPermissionsPage.tsx:180)", "shortDescription": {"text": "Dangling fetch: DELETE /api/data/wipe (frontend/src/pages/SettingsPermissionsPage.tsx:180)"}, "fullDescription": {"text": "`frontend/src/pages/SettingsPermissionsPage.tsx:180` calls `DELETE /api/data/wipe` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/data/wipe`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-71ed381988851d1f", "name": "Dangling fetch: POST /api/webhooks (frontend/src/pages/SettingsPermissionsPage.tsx:197)", "shortDescription": {"text": "Dangling fetch: POST /api/webhooks (frontend/src/pages/SettingsPermissionsPage.tsx:197)"}, "fullDescription": {"text": "`frontend/src/pages/SettingsPermissionsPage.tsx:197` calls `POST /api/webhooks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/webhooks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7293d6f954449d96", "name": "Unused endpoint: GET /measurements", "shortDescription": {"text": "Unused endpoint: GET /measurements"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `GET /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-afd2cb42f155e5d9", "name": "Unused endpoint: POST /measurements", "shortDescription": {"text": "Unused endpoint: POST /measurements"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `POST /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-8153f29876aa4768", "name": "Unused endpoint: PUT /measurements/{measurement_id}", "shortDescription": {"text": "Unused endpoint: PUT /measurements/{measurement_id}"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `PUT /measurements/{measurement_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-4c6bdd414fdc35e5", "name": "Unused endpoint: DELETE /measurements/{measurement_id}", "shortDescription": {"text": "Unused endpoint: DELETE /measurements/{measurement_id}"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `DELETE /measurements/{measurement_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-ad0ed97cd4cfe1f0", "name": "Unused endpoint: GET /medications", "shortDescription": {"text": "Unused endpoint: GET /medications"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `GET /medications` 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-5c0b2f221c072476", "name": "Unused endpoint: GET /medications/{medication_id}/doses", "shortDescription": {"text": "Unused endpoint: GET /medications/{medication_id}/doses"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `GET /medications/{medication_id}/doses` 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-e925ab8dd6c4bfa6", "name": "Unused endpoint: POST /medications", "shortDescription": {"text": "Unused endpoint: POST /medications"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `POST /medications` 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-c7383c0019c23f83", "name": "Unused endpoint: PUT /medications/{medication_id}", "shortDescription": {"text": "Unused endpoint: PUT /medications/{medication_id}"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `PUT /medications/{medication_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-2b53c1ffd55e6dc4", "name": "Unused endpoint: DELETE /medications/{medication_id}", "shortDescription": {"text": "Unused endpoint: DELETE /medications/{medication_id}"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `DELETE /medications/{medication_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-209b427081c3c4e8", "name": "Unused endpoint: GET /conditions", "shortDescription": {"text": "Unused endpoint: GET /conditions"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `GET /conditions` 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-1fc69eddc931ee63", "name": "Unused endpoint: POST /conditions", "shortDescription": {"text": "Unused endpoint: POST /conditions"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `POST /conditions` 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-168afa6c1ccf7301", "name": "Unused endpoint: PUT /conditions/{condition_id}", "shortDescription": {"text": "Unused endpoint: PUT /conditions/{condition_id}"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `PUT /conditions/{condition_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-258cdb9c986b800a", "name": "Unused endpoint: DELETE /conditions/{condition_id}", "shortDescription": {"text": "Unused endpoint: DELETE /conditions/{condition_id}"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `DELETE /conditions/{condition_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-453513b13dbeaa11", "name": "Unused endpoint: GET /symptoms", "shortDescription": {"text": "Unused endpoint: GET /symptoms"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `GET /symptoms` 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-a69672e6b707b5f1", "name": "Unused endpoint: POST /symptoms", "shortDescription": {"text": "Unused endpoint: POST /symptoms"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `POST /symptoms` 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-3b0826a7123e4f0d", "name": "Unused endpoint: PUT /symptoms/{symptom_id}", "shortDescription": {"text": "Unused endpoint: PUT /symptoms/{symptom_id}"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `PUT /symptoms/{symptom_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-6c2de8db63e58770", "name": "Unused endpoint: DELETE /symptoms/{symptom_id}", "shortDescription": {"text": "Unused endpoint: DELETE /symptoms/{symptom_id}"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `DELETE /symptoms/{symptom_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-373e9c446d2cdbea", "name": "Unused endpoint: GET /meals", "shortDescription": {"text": "Unused endpoint: GET /meals"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `GET /meals` 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-61358cbf0e93ccab", "name": "Unused endpoint: POST /meals", "shortDescription": {"text": "Unused endpoint: POST /meals"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `POST /meals` 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-fe50664dc65a7af8", "name": "Unused endpoint: PUT /meals/{meal_id}", "shortDescription": {"text": "Unused endpoint: PUT /meals/{meal_id}"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `PUT /meals/{meal_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-f1f97d6451fff29b", "name": "Unused endpoint: DELETE /meals/{meal_id}", "shortDescription": {"text": "Unused endpoint: DELETE /meals/{meal_id}"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `DELETE /meals/{meal_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-b4e5abd7fdafaaa0", "name": "Unused endpoint: GET /research", "shortDescription": {"text": "Unused endpoint: GET /research"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `GET /research` 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-b83351671d71e04e", "name": "Unused endpoint: POST /research", "shortDescription": {"text": "Unused endpoint: POST /research"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `POST /research` 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-4e90e6a93fec7e2e", "name": "Unused endpoint: PUT /research/{research_id}", "shortDescription": {"text": "Unused endpoint: PUT /research/{research_id}"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `PUT /research/{research_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-d838405b8ccbce07", "name": "Unused endpoint: DELETE /research/{research_id}", "shortDescription": {"text": "Unused endpoint: DELETE /research/{research_id}"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `DELETE /research/{research_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-609ef3fa5315886d", "name": "Unused endpoint: GET /measurements/latest", "shortDescription": {"text": "Unused endpoint: GET /measurements/latest"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `GET /measurements/latest` 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-b23313c5f0cee599", "name": "Unused endpoint: GET /measurements/sleep/latest", "shortDescription": {"text": "Unused endpoint: GET /measurements/sleep/latest"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `GET /measurements/sleep/latest` 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-bbcfb9282bff9c29", "name": "Unused endpoint: GET /measurements/sources", "shortDescription": {"text": "Unused endpoint: GET /measurements/sources"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `GET /measurements/sources` 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-7d4c433eeaea9e61", "name": "Unused endpoint: GET /measurements/trend", "shortDescription": {"text": "Unused endpoint: GET /measurements/trend"}, "fullDescription": {"text": "`roster/health/api/router.py` declares `GET /measurements/trend` 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-d81dcd56dce17ff4", "name": "Unused endpoint: GET /delivery-stats", "shortDescription": {"text": "Unused endpoint: GET /delivery-stats"}, "fullDescription": {"text": "`roster/messenger/api/router.py` declares `GET /delivery-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-56f919b9cfe95370", "name": "Unused endpoint: GET /circuit-status", "shortDescription": {"text": "Unused endpoint: GET /circuit-status"}, "fullDescription": {"text": "`roster/messenger/api/router.py` declares `GET /circuit-status` 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-5b6dd317aa700414", "name": "Unused endpoint: GET /queue-depth", "shortDescription": {"text": "Unused endpoint: GET /queue-depth"}, "fullDescription": {"text": "`roster/messenger/api/router.py` declares `GET /queue-depth` 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-8f7d9edf8ab8d9dc", "name": "Unused endpoint: GET /dead-letters", "shortDescription": {"text": "Unused endpoint: GET /dead-letters"}, "fullDescription": {"text": "`roster/messenger/api/router.py` declares `GET /dead-letters` 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-52f939032aab887f", "name": "Unused endpoint: GET /transactions", "shortDescription": {"text": "Unused endpoint: GET /transactions"}, "fullDescription": {"text": "`roster/finance/api/router.py` declares `GET /transactions` 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-202f9375f1700c9d", "name": "Unused endpoint: GET /subscriptions", "shortDescription": {"text": "Unused endpoint: GET /subscriptions"}, "fullDescription": {"text": "`roster/finance/api/router.py` declares `GET /subscriptions` 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-a1003254942217d9", "name": "Unused endpoint: GET /bills", "shortDescription": {"text": "Unused endpoint: GET /bills"}, "fullDescription": {"text": "`roster/finance/api/router.py` declares `GET /bills` 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-21c7ff7b8ef22c44", "name": "Unused endpoint: GET /accounts", "shortDescription": {"text": "Unused endpoint: GET /accounts"}, "fullDescription": {"text": "`roster/finance/api/router.py` declares `GET /accounts` 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-1f250c0d9032b36a", "name": "Unused endpoint: GET /spending-summary", "shortDescription": {"text": "Unused endpoint: GET /spending-summary"}, "fullDescription": {"text": "`roster/finance/api/router.py` declares `GET /spending-summary` 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-17c466815a93e0d3", "name": "Unused endpoint: GET /upcoming-bills", "shortDescription": {"text": "Unused endpoint: GET /upcoming-bills"}, "fullDescription": {"text": "`roster/finance/api/router.py` declares `GET /upcoming-bills` 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-d5e8aec5e4340a0a", "name": "Unused endpoint: POST /transactions/bulk", "shortDescription": {"text": "Unused endpoint: POST /transactions/bulk"}, "fullDescription": {"text": "`roster/finance/api/router.py` declares `POST /transactions/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-eb507a42de5ae82f", "name": "Unused endpoint: GET /merchants/distinct", "shortDescription": {"text": "Unused endpoint: GET /merchants/distinct"}, "fullDescription": {"text": "`roster/finance/api/router.py` declares `GET /merchants/distinct` 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-1f9c9206631201ba", "name": "Unused endpoint: PATCH /transactions/bulk-metadata", "shortDescription": {"text": "Unused endpoint: PATCH /transactions/bulk-metadata"}, "fullDescription": {"text": "`roster/finance/api/router.py` declares `PATCH /transactions/bulk-metadata` 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-6887dfc86302fd54", "name": "Unused endpoint: GET /mind-maps", "shortDescription": {"text": "Unused endpoint: GET /mind-maps"}, "fullDescription": {"text": "`roster/education/api/router.py` declares `GET /mind-maps` 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-6aa1c0387aa0fa50", "name": "Unused endpoint: GET /mind-maps/{mind_map_id}", "shortDescription": {"text": "Unused endpoint: GET /mind-maps/{mind_map_id}"}, "fullDescription": {"text": "`roster/education/api/router.py` declares `GET /mind-maps/{mind_map_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-a7767b7e83bcc7c3", "name": "Unused endpoint: GET /mind-maps/{mind_map_id}/frontier", "shortDescription": {"text": "Unused endpoint: GET /mind-maps/{mind_map_id}/frontier"}, "fullDescription": {"text": "`roster/education/api/router.py` declares `GET /mind-maps/{mind_map_id}/frontier` 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-c08dedff81041ffc", "name": "Unused endpoint: GET /mind-maps/{mind_map_id}/analytics", "shortDescription": {"text": "Unused endpoint: GET /mind-maps/{mind_map_id}/analytics"}, "fullDescription": {"text": "`roster/education/api/router.py` declares `GET /mind-maps/{mind_map_id}/analytics` 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-8c6e2542d71d7343", "name": "Unused endpoint: GET /quiz-responses", "shortDescription": {"text": "Unused endpoint: GET /quiz-responses"}, "fullDescription": {"text": "`roster/education/api/router.py` declares `GET /quiz-responses` 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-8dfdaa61a04e0f15", "name": "Unused endpoint: GET /flows", "shortDescription": {"text": "Unused endpoint: GET /flows"}, "fullDescription": {"text": "`roster/education/api/router.py` declares `GET /flows` 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-1e8882adebaa6b0e", "name": "Unused endpoint: GET /analytics/cross-topic", "shortDescription": {"text": "Unused endpoint: GET /analytics/cross-topic"}, "fullDescription": {"text": "`roster/education/api/router.py` declares `GET /analytics/cross-topic` 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-33eb2d1d7fd4d361", "name": "Unused endpoint: GET /mind-maps/{mind_map_id}/pending-reviews", "shortDescription": {"text": "Unused endpoint: GET /mind-maps/{mind_map_id}/pending-reviews"}, "fullDescription": {"text": "`roster/education/api/router.py` declares `GET /mind-maps/{mind_map_id}/pending-reviews` 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/21847"}, "properties": {"repository": "Tzeusy/butlers", "repoUrl": "https://github.com/Tzeusy/butlers", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423505, "scanner": "foundry_dataset", "fingerprint": "60aeaba806e9384142bc5094aae2eb1f824355e4c7afe385c363bad6545c9cbb", "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, "api_integration_gap": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 10}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 29, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 20, "node_types": {"repo": 1, "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": "Tzeusy/butlers#9", "issue_number": "9", "quality_tiers": {"unresolved": 5, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-f88940b6113b66b4", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#9\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#9\nRepo: Tzeusy/butlers\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 20\nEdges: 29\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'api_integration_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10}\nQuality tiers: {'unresolved': 5, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-1fffaf21fd547f56", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423504, "scanner": "foundry_dataset", "fingerprint": "9c11c241ec8786eaea839dfb515b1651e9c63f4040636205e4bb2432e7d4b223", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 2, "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": 24, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 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": "Tzeusy/butlers#8", "issue_number": "8", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-ed2cfceb58e53a95", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#8\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#8\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#8\nRepo: Tzeusy/butlers\nIssue/PR number: 8\nGraph consistency label: assumption_check\nNodes: 17\nEdges: 24\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'test_ci_gap': 2, '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, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-3d204e9946abde1d", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423503, "scanner": "foundry_dataset", "fingerprint": "232a3ab353048d2d462e11d65030a94d299567144c8570744504f726c5346727", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "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, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 18, "node_types": {"repo": 1, "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": "Tzeusy/butlers#7", "issue_number": "7", "quality_tiers": {"unresolved": 5, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-4a422ae4a5cef0de", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#7\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#7\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#7\nRepo: Tzeusy/butlers\nIssue/PR number: 7\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 25\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 5, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-c9d3334792124394", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423502, "scanner": "foundry_dataset", "fingerprint": "13a88ee0eada7a3a9b92e8137b84c2b4e4c667754bf8ed3eb577211e8e782c11", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"security_auth_secret": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 1, "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": 20, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#6", "issue_number": "6", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-ede46768d6d93edf", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#6\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: Tzeusy/butlers\nThread: Tzeusy/butlers#6\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#6\nRepo: Tzeusy/butlers\nIssue/PR number: 6\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8}\nQuality tiers: {'unresolved': 4, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-5bd7ce3ade1e94bb", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423501, "scanner": "foundry_dataset", "fingerprint": "4b17476c5bea9453a42e6a0acb9e6fce20ae5afb5fb449bc2b23dae119c84991", "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": "Tzeusy/butlers#58", "issue_number": "58", "quality_tiers": {"unresolved": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-2c8ddfb3abd14228", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#58\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#58\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#58\nRepo: Tzeusy/butlers\nIssue/PR number: 58\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-b602651468744067", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423500, "scanner": "foundry_dataset", "fingerprint": "43ee6eac5252ce7f3993b518e2b82fcda7019aca94269671bf009351d04d6d77", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#57", "issue_number": "57", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-378d5945af16b18b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#57\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: Tzeusy/butlers\nThread: Tzeusy/butlers#57\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#57\nRepo: Tzeusy/butlers\nIssue/PR number: 57\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-ed0d61495f3c07e2", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423499, "scanner": "foundry_dataset", "fingerprint": "f7e7cb3739d84b0b71310e82d9cad4bb29bcbe81a97243af956d830d865a36db", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#56", "issue_number": "56", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-687362b951ecdc60", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#56\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: Tzeusy/butlers\nThread: Tzeusy/butlers#56\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#56\nRepo: Tzeusy/butlers\nIssue/PR number: 56\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-38b643ed0cd29df7", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423498, "scanner": "foundry_dataset", "fingerprint": "390dccd53eb0dbd86c57e99e2fb5d488a19df233c5bda74e4f1024ca03be61c4", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#55", "issue_number": "55", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-01fb6f784a51ead9", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#55\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: Tzeusy/butlers\nThread: Tzeusy/butlers#55\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#55\nRepo: Tzeusy/butlers\nIssue/PR number: 55\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-fef44aa0a0645c72", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423497, "scanner": "foundry_dataset", "fingerprint": "fb5c8884a7d017a9f66675e674831a127878cc9460daf0f2bf9569d6e810cd29", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#54", "issue_number": "54", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-d3987f6efcd6cbe5", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#54\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: Tzeusy/butlers\nThread: Tzeusy/butlers#54\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#54\nRepo: Tzeusy/butlers\nIssue/PR number: 54\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-64062ba458113d8e", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423496, "scanner": "foundry_dataset", "fingerprint": "f19e382235d4e48676dba83c5f023eed014f89f9b9cba7f5ce7c4b5b38c6afe6", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#53", "issue_number": "53", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-60e4340aa322804d", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#53\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: Tzeusy/butlers\nThread: Tzeusy/butlers#53\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#53\nRepo: Tzeusy/butlers\nIssue/PR number: 53\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-52ad158c5b6b0e09", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423495, "scanner": "foundry_dataset", "fingerprint": "190f343a73de82234f9035e1a6f0552e706da50415bb93046051c63832f06afe", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#52", "issue_number": "52", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-b5c911716a38d478", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#52\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: Tzeusy/butlers\nThread: Tzeusy/butlers#52\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#52\nRepo: Tzeusy/butlers\nIssue/PR number: 52\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-bc421e6d5220d8da", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423494, "scanner": "foundry_dataset", "fingerprint": "9e91db6388f97daf8e5d5f8c9f64acd0cad237959ab32c56b43ecc775ad41bcd", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#51", "issue_number": "51", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-83a527d55d620e11", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#51\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: Tzeusy/butlers\nThread: Tzeusy/butlers#51\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#51\nRepo: Tzeusy/butlers\nIssue/PR number: 51\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-3911436596a2169b", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423493, "scanner": "foundry_dataset", "fingerprint": "b45bda8ad601e25b94248e78c95570b1d3cc5cb5ab4fdfc8fbb097689b819695", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#50", "issue_number": "50", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-fdf959b21808f90d", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#50\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: Tzeusy/butlers\nThread: Tzeusy/butlers#50\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#50\nRepo: Tzeusy/butlers\nIssue/PR number: 50\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-78a4ad467a657d8d", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423492, "scanner": "foundry_dataset", "fingerprint": "6d71ec65ccd7d5fba5fa37f6c7510ab4684f55ee7589fab63bbfb4ee36840575", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#49", "issue_number": "49", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-6bbf2d948de78a66", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#49\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: Tzeusy/butlers\nThread: Tzeusy/butlers#49\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#49\nRepo: Tzeusy/butlers\nIssue/PR number: 49\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-4a5c0cae7d16ac32", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423491, "scanner": "foundry_dataset", "fingerprint": "86de0bee66f4f70ec4be5b66eb69029bae0148a4328d0d9a3e56ace47d2bac81", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#48", "issue_number": "48", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-ad9b5def963da9d2", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#48\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: Tzeusy/butlers\nThread: Tzeusy/butlers#48\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#48\nRepo: Tzeusy/butlers\nIssue/PR number: 48\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-4125421dff76ebda", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423490, "scanner": "foundry_dataset", "fingerprint": "00e8a9d15e183e2cf7a3a2ddaa8e2f5bd8a83a71d046391bed9a8b53fcbda00f", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#47", "issue_number": "47", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-51601ab866bd9199", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#47\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: Tzeusy/butlers\nThread: Tzeusy/butlers#47\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#47\nRepo: Tzeusy/butlers\nIssue/PR number: 47\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-c33bd240d1f01706", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423489, "scanner": "foundry_dataset", "fingerprint": "c98ae468d11d29b1ba1bbc9a35414edbc5ac843fcbedda3374c5ee5676ba4dec", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#46", "issue_number": "46", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-66ce9559822b7c12", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#46\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: Tzeusy/butlers\nThread: Tzeusy/butlers#46\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#46\nRepo: Tzeusy/butlers\nIssue/PR number: 46\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-b9137f2a43545515", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423488, "scanner": "foundry_dataset", "fingerprint": "a31109f03a4aea6940a93857bbf8b4a5dabb73e8112129b1ee9f2814105c6fe5", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#45", "issue_number": "45", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-f364f2422cebaf34", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#45\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: Tzeusy/butlers\nThread: Tzeusy/butlers#45\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#45\nRepo: Tzeusy/butlers\nIssue/PR number: 45\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-68dab691b9ec37d6", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423487, "scanner": "foundry_dataset", "fingerprint": "bb95659a48248691772d8068b69bda84c821a2552c1ed5b85e41ee381086843f", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#44", "issue_number": "44", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-c316fee810c865f0", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#44\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: Tzeusy/butlers\nThread: Tzeusy/butlers#44\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#44\nRepo: Tzeusy/butlers\nIssue/PR number: 44\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-b24d85fcb1e3ee9a", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423486, "scanner": "foundry_dataset", "fingerprint": "ac297f02d0a54c608f7e62af78bed5307415f3f4e24aa9058805557aee650276", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#43", "issue_number": "43", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-1065d418795ecdcb", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#43\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: Tzeusy/butlers\nThread: Tzeusy/butlers#43\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#43\nRepo: Tzeusy/butlers\nIssue/PR number: 43\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-c713f208410d7f3f", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423485, "scanner": "foundry_dataset", "fingerprint": "37e265cd33afee544f7ba80159fa6b42b2a6500e7fae95c7794715e93c5a1e9c", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#42", "issue_number": "42", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-57daa08f6974c018", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#42\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: Tzeusy/butlers\nThread: Tzeusy/butlers#42\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#42\nRepo: Tzeusy/butlers\nIssue/PR number: 42\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-51c4da8d7be13a37", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423484, "scanner": "foundry_dataset", "fingerprint": "f8ef4da1b8bdce1a1e1c7212cd9f610e024f6bd2484bbb6968e905fe5d7aa120", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#41", "issue_number": "41", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-84fa4024d922337e", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#41\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: Tzeusy/butlers\nThread: Tzeusy/butlers#41\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#41\nRepo: Tzeusy/butlers\nIssue/PR number: 41\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-c48b4ec6d2401ec6", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423483, "scanner": "foundry_dataset", "fingerprint": "46a46d8ec1baea22efa70b30cfdef5264c5c1dccf1164280c3a635b8f0c67e53", "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": 2, "unlinked_human_feedback": 2, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4}, "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": 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": "Tzeusy/butlers#40", "issue_number": "40", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-0dc389ab4688e55f", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#40\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: Tzeusy/butlers\nThread: Tzeusy/butlers#40\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#40\nRepo: Tzeusy/butlers\nIssue/PR number: 40\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: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-71c5987d9f43e98f", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423482, "scanner": "foundry_dataset", "fingerprint": "2d5b5c5177724b90e610c037a17bd478d1db0b6df83a25c8533a4f221e565d51", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 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": 2, "ambiguous_needs_more_evidence": 6}, "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": "Tzeusy/butlers#39", "issue_number": "39", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-8b0d58a2084cd9b4", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#39\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: Tzeusy/butlers\nThread: Tzeusy/butlers#39\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#39\nRepo: Tzeusy/butlers\nIssue/PR number: 39\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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'mock_placeholder': 1, 'unlinked_human_feedback': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-4e38bcdc696aea73", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423481, "scanner": "foundry_dataset", "fingerprint": "7b9b12918a9b5e8fa203399b411d95ba0e2a421a431fac0f69f9b36b3271d118", "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": {"runtime_failure": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 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": 2, "ambiguous_needs_more_evidence": 6}, "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": "Tzeusy/butlers#38", "issue_number": "38", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-f5c3adf41e710211", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#38\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: Tzeusy/butlers\nThread: Tzeusy/butlers#38\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#38\nRepo: Tzeusy/butlers\nIssue/PR number: 38\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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'runtime_failure': 1, 'unlinked_human_feedback': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-ed4a32168d90ec7c", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423480, "scanner": "foundry_dataset", "fingerprint": "22f83a66088c5bfa3bc8b91f9997a4678883c866909c4c8058a4ac9142832d57", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "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": 2, "ambiguous_needs_more_evidence": 6}, "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, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#37", "issue_number": "37", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-5521e32fa6c4aa4b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#37\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: Tzeusy/butlers\nThread: Tzeusy/butlers#37\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#37\nRepo: Tzeusy/butlers\nIssue/PR number: 37\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 4, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-2efebad8dad9eb71", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423479, "scanner": "foundry_dataset", "fingerprint": "bb109bb8fa5734465d0a7e49197c5a37de2e116e04bbdec4d5867d989c4ffede", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "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": 2, "ambiguous_needs_more_evidence": 6}, "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, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#36", "issue_number": "36", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-296a840135e09cb0", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#36\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: Tzeusy/butlers\nThread: Tzeusy/butlers#36\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#36\nRepo: Tzeusy/butlers\nIssue/PR number: 36\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 4, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-3f1c4b88d5fe4423", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423478, "scanner": "foundry_dataset", "fingerprint": "30b44394bbeced548410886fff89628760939f244a97d490f1a5a395a4117007", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "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": 2, "ambiguous_needs_more_evidence": 6}, "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, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#35", "issue_number": "35", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-906a3d798689dacb", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#35\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: Tzeusy/butlers\nThread: Tzeusy/butlers#35\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#35\nRepo: Tzeusy/butlers\nIssue/PR number: 35\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 4, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-d246e3d7876b8a63", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423477, "scanner": "foundry_dataset", "fingerprint": "93c29e4dc3c9f7008876b5886d7110398590454eeb00b091f670e8a502ba807d", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 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": 2, "ambiguous_needs_more_evidence": 6}, "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": "Tzeusy/butlers#34", "issue_number": "34", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-1fd5afa506f47fc6", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#34\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: Tzeusy/butlers\nThread: Tzeusy/butlers#34\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#34\nRepo: Tzeusy/butlers\nIssue/PR number: 34\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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'mock_placeholder': 1, 'unlinked_human_feedback': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-83ce32d56b8590c2", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423476, "scanner": "foundry_dataset", "fingerprint": "038960b427e40b8a42a2c2b7a0c653b34b03c119103f43bfd591e9aa6c8f1be0", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "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": 2, "ambiguous_needs_more_evidence": 6}, "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, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#33", "issue_number": "33", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-8281b04adbce9d60", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#33\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: Tzeusy/butlers\nThread: Tzeusy/butlers#33\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#33\nRepo: Tzeusy/butlers\nIssue/PR number: 33\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 4, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-cb851deae60bfd86", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423475, "scanner": "foundry_dataset", "fingerprint": "65fd45093ab27e7e94880e1be590725deefe92a735a9a75d7ccf7ddb6653443f", "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": {"runtime_failure": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 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": 2, "ambiguous_needs_more_evidence": 6}, "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": "Tzeusy/butlers#32", "issue_number": "32", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-571d70d213d98f89", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#32\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: Tzeusy/butlers\nThread: Tzeusy/butlers#32\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#32\nRepo: Tzeusy/butlers\nIssue/PR number: 32\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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'runtime_failure': 1, 'unlinked_human_feedback': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-b854a060cb9534c9", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423474, "scanner": "foundry_dataset", "fingerprint": "85ee0a2d25e14861e15fc4f1f1ec9bd1e21a08c0e45de3adda005ee45be85409", "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": {"runtime_failure": 1, "mock_placeholder": 1, "security_auth_secret": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 18, "node_types": {"repo": 1, "thread": 1, "comment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#31", "issue_number": "31", "quality_tiers": {"unresolved": 6}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-7114634ad36dfddd", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#31\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: Tzeusy/butlers\nThread: Tzeusy/butlers#31\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#31\nRepo: Tzeusy/butlers\nIssue/PR number: 31\nGraph consistency label: needs_more_evidence\nNodes: 18\nEdges: 26\nNode types: {'link_quality': 6, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 6, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'mock_placeholder': 1, 'runtime_failure': 1, 'security_auth_secret': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 6}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-33ad72b8ac3e05cd", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423473, "scanner": "foundry_dataset", "fingerprint": "1f682b70546621a5d276e5c5e8b3da27b961ac4a9ecd879733c651fadd28c8af", "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": {"runtime_failure": 2, "deployment_env_gap": 1, "verification_or_tests": 1, "human_feedback_general": 3, "unlinked_human_feedback": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6, "comment_has_related_commit_context": 2, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 12}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 38, "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": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 6}, "node_count": 25, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 6}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#30", "issue_number": "30", "quality_tiers": {"unresolved": 4, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-7a75f2aea2d48f37", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#30\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: Tzeusy/butlers\nThread: Tzeusy/butlers#30\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#30\nRepo: Tzeusy/butlers\nIssue/PR number: 30\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 38\nNode types: {'link_quality': 8, 'comment': 6, 'comment_chain': 6, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 8, 'thread_has_comment': 6, 'thread_has_comment_chain': 6, 'comment_has_chain': 6, 'issue_chain_has_comment_chain': 6, 'comment_chain_links_commit': 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': 6, 'human_feedback_general': 3, 'runtime_failure': 2, 'unlinked_human_feedback': 2, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'verification_or_tests': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12, 'not_resolved_or_not_observed': 4}\nQuality tiers: {'unresolved': 4, 'weak_supervision': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-4220b28088fcac6f", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423472, "scanner": "foundry_dataset", "fingerprint": "28ef82bf3c1b0bf4e83f3c3ed2b5b4f0f01b6a3fa95682c759ccea0a8e4a2eb1", "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": 3, "agent_instruction_gap": 2, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 7, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 5, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 14, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 36, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 6}, "node_count": 24, "node_types": {"repo": 1, "thread": 1, "comment": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 6}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#29", "issue_number": "29", "quality_tiers": {"unresolved": 8}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-8f9c4d9abe2470ed", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#29\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: Tzeusy/butlers\nThread: Tzeusy/butlers#29\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#29\nRepo: Tzeusy/butlers\nIssue/PR number: 29\nGraph consistency label: needs_more_evidence\nNodes: 24\nEdges: 36\nNode types: {'link_quality': 8, 'comment': 6, 'comment_chain': 6, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'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: {'not_resolved_or_not_observed': 7, 'human_reported_issue_no_linked_fix': 5, 'security_auth_secret': 3, 'agent_instruction_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'not_resolved_or_not_observed': 14, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 8}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-aa9c59a0d16bad35", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423471, "scanner": "foundry_dataset", "fingerprint": "4ef178e1a58ef3ec34a75d2cdef685122602b99ec8cab6738171f6c95a048e4f", "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, "agent_instruction_gap": 2, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#28", "issue_number": "28", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-8c5d4b157652e6a1", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#28\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: Tzeusy/butlers\nThread: Tzeusy/butlers#28\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#28\nRepo: Tzeusy/butlers\nIssue/PR number: 28\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'agent_instruction_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-8200045c63377f37", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423470, "scanner": "foundry_dataset", "fingerprint": "3d264703a1872cb6ff93a34270a36416f6d926d7cf0ba19239cc9448f9bc159a", "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, "runtime_failure": 2, "ui_workflow_gap": 1, "positive_human_signal": 2, "human_feedback_general": 2, "unlinked_human_feedback": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 2, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 4, "positive_feedback_no_linked_change": 2, "human_positive_or_acceptance_signal": 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": 12, "ambiguous_needs_more_evidence": 4, "human_positive_or_acceptance_signal": 4}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 54, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 8, "thread_has_comment": 8, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 12, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 8}, "node_count": 35, "node_types": {"repo": 1, "thread": 1, "comment": 8, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 12, "comment_chain": 8, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#27", "issue_number": "27", "quality_tiers": {"unresolved": 10, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-b1fc9ecfbb70726b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#27\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: Tzeusy/butlers\nThread: Tzeusy/butlers#27\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#27\nRepo: Tzeusy/butlers\nIssue/PR number: 27\nGraph consistency label: assumption_check\nNodes: 35\nEdges: 54\nNode types: {'link_quality': 12, 'comment': 8, 'comment_chain': 8, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 12, 'thread_has_comment': 8, 'thread_has_comment_chain': 8, 'comment_has_chain': 8, 'issue_chain_has_comment_chain': 8, '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: {'not_resolved_or_not_observed': 6, 'human_reported_issue_no_linked_fix': 4, 'human_feedback_general': 2, 'runtime_failure': 2, 'positive_human_signal': 2, 'unlinked_human_feedback': 2, 'ambiguous_needs_more_evidence': 2, 'positive_feedback_no_linked_change': 2, 'human_positive_or_acceptance_signal': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'ui_workflow_gap': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 12, 'ambiguous_needs_more_evidence': 4, 'human_positive_or_acceptance_signal': 4}\nQuality tiers: {'unresolved': 10, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-331e374027656e98", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423469, "scanner": "foundry_dataset", "fingerprint": "c794f234d2b100b631e4c7713592509116188c4437802788f7440bdb9ed00d05", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "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": 2, "ambiguous_needs_more_evidence": 6}, "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, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#26", "issue_number": "26", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-c7c31c9cafebd9be", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#26\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: Tzeusy/butlers\nThread: Tzeusy/butlers#26\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#26\nRepo: Tzeusy/butlers\nIssue/PR number: 26\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 4, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-989da5967ce9774a", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423468, "scanner": "foundry_dataset", "fingerprint": "745175c65fc8d9ba972754a04ad4a962265b660d4b863c5409b449f28d71a08a", "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, "mock_placeholder": 1, "human_feedback_general": 2, "unlinked_human_feedback": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "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": 4, "ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#25", "issue_number": "25", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-7eda2745b1daee77", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#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: Tzeusy/butlers\nThread: Tzeusy/butlers#25\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#25\nRepo: Tzeusy/butlers\nIssue/PR number: 25\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_ci_gap': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'not_resolved_or_not_observed': 4}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-5d6bce1de6dc0f6f", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423467, "scanner": "foundry_dataset", "fingerprint": "1db935d1bfa6a76df41d022dff6e06cc26ff9a0d200d65b11b344fdbf02b47f0", "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, "agent_instruction_gap": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#24", "issue_number": "24", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-110cff691125b4fd", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#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: Tzeusy/butlers\nThread: Tzeusy/butlers#24\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#24\nRepo: Tzeusy/butlers\nIssue/PR number: 24\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'agent_instruction_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-30b8c2c850b98060", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423466, "scanner": "foundry_dataset", "fingerprint": "553627d5eccaab05324ef37c027a8349e2dc1788766d513041591ad2e4b9238b", "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, "human_feedback_general": 1, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 23, "node_types": {"repo": 1, "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": "Tzeusy/butlers#23", "issue_number": "23", "quality_tiers": {"unresolved": 6, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-9d25b083781210e2", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#23\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: Tzeusy/butlers\nThread: Tzeusy/butlers#23\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#23\nRepo: Tzeusy/butlers\nIssue/PR number: 23\nGraph consistency label: assumption_check\nNodes: 23\nEdges: 34\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-1f965adee161ab98", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423465, "scanner": "foundry_dataset", "fingerprint": "0cc59a40c98592418912fd3ff52774a17199509290dd2c50f88b90d5e1374747", "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, "api_integration_gap": 1, "security_auth_secret": 3, "human_feedback_general": 2, "unlinked_human_feedback": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 7, "ambiguous_needs_more_evidence": 2, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 5, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 14, "ambiguous_needs_more_evidence": 4}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 49, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 7, "thread_has_comment": 7, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 11, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 7}, "node_count": 32, "node_types": {"repo": 1, "thread": 1, "comment": 7, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 7, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#22", "issue_number": "22", "quality_tiers": {"unresolved": 9, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-06345df2c85fa047", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#22\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: Tzeusy/butlers\nThread: Tzeusy/butlers#22\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#22\nRepo: Tzeusy/butlers\nIssue/PR number: 22\nGraph consistency label: assumption_check\nNodes: 32\nEdges: 49\nNode types: {'link_quality': 11, 'comment': 7, 'comment_chain': 7, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 11, 'thread_has_comment': 7, 'thread_has_comment_chain': 7, 'comment_has_chain': 7, 'issue_chain_has_comment_chain': 7, '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: {'not_resolved_or_not_observed': 7, 'human_reported_issue_no_linked_fix': 5, 'security_auth_secret': 3, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'ambiguous_needs_more_evidence': 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, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 14, 'ambiguous_needs_more_evidence': 4}\nQuality tiers: {'unresolved': 9, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-786e1b514c99d414", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423464, "scanner": "foundry_dataset", "fingerprint": "1cb6c19c8b14ca97931326c0450f65603e61bab76d7319bade8a4efe27134b94", "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, "positive_human_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "positive_feedback_no_linked_change": 1, "human_positive_or_acceptance_signal": 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": 8, "ambiguous_needs_more_evidence": 2, "human_positive_or_acceptance_signal": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#21", "issue_number": "21", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-5d02e4de64d58438", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#21\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: Tzeusy/butlers\nThread: Tzeusy/butlers#21\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#21\nRepo: Tzeusy/butlers\nIssue/PR number: 21\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'positive_human_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'positive_feedback_no_linked_change': 1, 'human_positive_or_acceptance_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2, 'human_positive_or_acceptance_signal': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-ad00187737bc57a0", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423463, "scanner": "foundry_dataset", "fingerprint": "24dbf7ca1ba37a93571699bbb19d5685ad59d6aae7541ac2dcd9b69b0ee58555", "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": {"runtime_failure": 1, "human_feedback_general": 3, "unlinked_human_feedback": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 5, "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": 2, "ambiguous_needs_more_evidence": 10}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 18, "node_types": {"repo": 1, "thread": 1, "comment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#20", "issue_number": "20", "quality_tiers": {"unresolved": 6}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-af1d7072672caf65", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#20\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: Tzeusy/butlers\nThread: Tzeusy/butlers#20\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#20\nRepo: Tzeusy/butlers\nIssue/PR number: 20\nGraph consistency label: needs_more_evidence\nNodes: 18\nEdges: 26\nNode types: {'link_quality': 6, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 6, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 5, 'human_feedback_general': 3, 'unlinked_human_feedback': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'runtime_failure': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 6}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-cf5ea1d1dc955a67", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423462, "scanner": "foundry_dataset", "fingerprint": "d3feb361b74765908ddce854136f90104e85137f5d9687301c27fbf4df7d682b", "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, "positive_human_signal": 3, "verification_or_tests": 1, "human_feedback_general": 3, "data_schema_persistence": 1, "unlinked_human_feedback": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 6, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "positive_feedback_no_linked_change": 2, "human_positive_or_acceptance_signal": 3, "positive_feedback_with_related_change": 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": 12, "human_positive_or_acceptance_signal": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 56, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 8, "thread_has_comment": 8, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 12, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 8, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 8}, "node_count": 36, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 8, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 12, "comment_chain": 8, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#19", "issue_number": "19", "quality_tiers": {"unresolved": 6, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-5bc9db0c6518c556", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#19\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: Tzeusy/butlers\nThread: Tzeusy/butlers#19\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#19\nRepo: Tzeusy/butlers\nIssue/PR number: 19\nGraph consistency label: weak_supervision_needs_review\nNodes: 36\nEdges: 56\nNode types: {'link_quality': 12, 'comment': 8, 'comment_chain': 8, 'alignment': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 12, 'thread_has_comment': 8, 'thread_has_comment_chain': 8, 'comment_has_chain': 8, 'issue_chain_has_comment_chain': 8, 'comment_chain_links_commit': 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': 6, 'human_feedback_general': 3, 'positive_human_signal': 3, 'unlinked_human_feedback': 3, 'human_positive_or_acceptance_signal': 3, 'positive_feedback_no_linked_change': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'positive_feedback_with_related_change': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12, 'human_positive_or_acceptance_signal': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 6, 'weak_supervision': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-abb1f84ee86fbd52", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423461, "scanner": "foundry_dataset", "fingerprint": "6d0f72a1a079809e2afeea4489a55136bf476b0b9e19199735cf91c9632ae5a6", "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, "positive_human_signal": 1, "human_feedback_general": 5, "unlinked_human_feedback": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 7, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "positive_feedback_no_linked_change": 1, "human_positive_or_acceptance_signal": 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": 4, "ambiguous_needs_more_evidence": 14, "human_positive_or_acceptance_signal": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 50, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 8, "thread_has_comment": 8, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 11, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 8}, "node_count": 33, "node_types": {"repo": 1, "thread": 1, "comment": 8, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 8, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#18", "issue_number": "18", "quality_tiers": {"unresolved": 10, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-f6029f25e1a6e8ed", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#18\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: Tzeusy/butlers\nThread: Tzeusy/butlers#18\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#18\nRepo: Tzeusy/butlers\nIssue/PR number: 18\nGraph consistency label: assumption_check\nNodes: 33\nEdges: 50\nNode types: {'link_quality': 11, 'comment': 8, 'comment_chain': 8, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 11, 'thread_has_comment': 8, 'thread_has_comment_chain': 8, 'comment_has_chain': 8, 'issue_chain_has_comment_chain': 8, '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': 7, 'human_feedback_general': 5, 'unlinked_human_feedback': 5, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'positive_human_signal': 1, 'positive_feedback_no_linked_change': 1, 'human_positive_or_acceptance_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 14, 'not_resolved_or_not_observed': 4, 'human_positive_or_acceptance_signal': 2}\nQuality tiers: {'unresolved': 10, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-14087d66d95a30db", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423460, "scanner": "foundry_dataset", "fingerprint": "2a330fa93f928c63efee70b74acdc3903c70cd2292963a09c7e5cc15c1ffc7ab", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 2, "security_auth_secret": 2, "agent_instruction_gap": 2, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 6, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 16, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 49, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 7, "thread_has_comment": 7, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 11, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 7}, "node_count": 32, "node_types": {"repo": 1, "thread": 1, "comment": 7, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 7, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#17", "issue_number": "17", "quality_tiers": {"unresolved": 9, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-9771a2bda894e275", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#17\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: Tzeusy/butlers\nThread: Tzeusy/butlers#17\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#17\nRepo: Tzeusy/butlers\nIssue/PR number: 17\nGraph consistency label: assumption_check\nNodes: 32\nEdges: 49\nNode types: {'link_quality': 11, 'comment': 7, 'comment_chain': 7, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 11, 'thread_has_comment': 7, 'thread_has_comment_chain': 7, 'comment_has_chain': 7, 'issue_chain_has_comment_chain': 7, '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: {'not_resolved_or_not_observed': 8, 'human_reported_issue_no_linked_fix': 6, 'security_auth_secret': 2, 'test_ci_gap': 2, 'agent_instruction_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 16, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 9, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-ec672465722d8512", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423459, "scanner": "foundry_dataset", "fingerprint": "ea47b016c7deb65be6403da1ef7d658853f439372fcd73ca39982bdde83e282b", "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, "positive_human_signal": 5, "human_feedback_general": 10, "data_schema_persistence": 2, "unlinked_human_feedback": 10, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 12, "blueprint_human_gap_disagreement": 3, "human_reported_issue_no_linked_fix": 3, "positive_feedback_no_linked_change": 5, "human_positive_or_acceptance_signal": 5, "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, "ambiguous_needs_more_evidence": 24, "human_positive_or_acceptance_signal": 10}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 108, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 18, "thread_has_comment": 18, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 23, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 18, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 18}, "node_count": 67, "node_types": {"repo": 1, "thread": 1, "comment": 18, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 23, "comment_chain": 18, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#16", "issue_number": "16", "quality_tiers": {"unresolved": 20, "assumption_check": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-c481ef4dbc670599", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#16\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: Tzeusy/butlers\nThread: Tzeusy/butlers#16\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#16\nRepo: Tzeusy/butlers\nIssue/PR number: 16\nGraph consistency label: assumption_check\nNodes: 67\nEdges: 108\nNode types: {'link_quality': 23, 'comment': 18, 'comment_chain': 18, 'alignment': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 23, 'thread_has_comment': 18, 'thread_has_comment_chain': 18, 'comment_has_chain': 18, 'issue_chain_has_comment_chain': 18, '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: {'ambiguous_needs_more_evidence': 12, 'human_feedback_general': 10, 'unlinked_human_feedback': 10, 'positive_human_signal': 5, 'positive_feedback_no_linked_change': 5, 'human_positive_or_acceptance_signal': 5, 'human_reported_issue_no_linked_fix': 3, 'not_resolved_or_not_observed': 3, 'blueprint_human_gap_disagreement': 3, 'data_schema_persistence': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 24, 'human_positive_or_acceptance_signal': 10, 'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 20, 'assumption_check': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-d5203aa7a4fdbaf0", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423458, "scanner": "foundry_dataset", "fingerprint": "9145e61a6f01a48f60eb60a5ce790934537f26ef8787ac92fb18e7edd3ac1ade", "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": {"runtime_failure": 3, "mock_placeholder": 1, "positive_human_signal": 1, "human_feedback_general": 2, "unlinked_human_feedback": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 2, "human_reported_issue_no_linked_fix": 4, "positive_feedback_no_linked_change": 1, "human_positive_or_acceptance_signal": 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": 12, "ambiguous_needs_more_evidence": 4, "human_positive_or_acceptance_signal": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 41, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 7, "thread_has_comment": 7, "chain_has_link_quality": 9, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 7}, "node_count": 27, "node_types": {"repo": 1, "thread": 1, "comment": 7, "fix_outcome": 1, "issue_chain": 1, "link_quality": 9, "comment_chain": 7}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#15", "issue_number": "15", "quality_tiers": {"unresolved": 9}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-24cbfefdf65afbc8", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#15\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: Tzeusy/butlers\nThread: Tzeusy/butlers#15\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#15\nRepo: Tzeusy/butlers\nIssue/PR number: 15\nGraph consistency label: needs_more_evidence\nNodes: 27\nEdges: 41\nNode types: {'link_quality': 9, 'comment': 7, 'comment_chain': 7, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 9, 'thread_has_comment': 7, 'thread_has_comment_chain': 7, 'comment_has_chain': 7, 'issue_chain_has_comment_chain': 7, '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': 6, 'human_reported_issue_no_linked_fix': 4, 'runtime_failure': 3, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'ambiguous_needs_more_evidence': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'positive_human_signal': 1, 'positive_feedback_no_linked_change': 1, 'human_positive_or_acceptance_signal': 1}\nOutcomes: {'not_resolved_or_not_observed': 12, 'ambiguous_needs_more_evidence': 4, 'human_positive_or_acceptance_signal': 2}\nQuality tiers: {'unresolved': 9}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-d9ad844d1d096b8e", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423457, "scanner": "foundry_dataset", "fingerprint": "b60d06127f6866ab6f162e5016e4edc1530b87af3db1264f65659eae3cd1718b", "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, "mock_placeholder": 1, "agent_instruction_gap": 2, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 22, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#14", "issue_number": "14", "quality_tiers": {"unresolved": 3, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-8ac05b58400256a3", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#14\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: Tzeusy/butlers\nThread: Tzeusy/butlers#14\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#14\nRepo: Tzeusy/butlers\nIssue/PR number: 14\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 31\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'agent_instruction_gap': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 3, 'weak_supervision': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-48b9960490f0dee7", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423456, "scanner": "foundry_dataset", "fingerprint": "24b8bf5a7b62efe8606a69727ff5c811e838199f488a2b98bae955d51bf8808d", "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": 3, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 3, "comment_has_related_commit_context": 2, "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": 8}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 35, "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": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 23, "node_types": {"repo": 1, "commit": 1, "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": "Tzeusy/butlers#13", "issue_number": "13", "quality_tiers": {"unresolved": 1, "assumption_check": 3, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-fcc5782fa8d08fb1", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#13\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: Tzeusy/butlers\nThread: Tzeusy/butlers#13\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#13\nRepo: Tzeusy/butlers\nIssue/PR number: 13\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 35\nNode types: {'link_quality': 8, 'comment': 3, 'comment_chain': 3, 'alignment': 3, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'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, 'comment_chain_links_commit': 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, 'test_ci_gap': 3, 'blueprint_human_gap_disagreement': 3, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'verification_or_tests': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-e0464f4963db7183", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423455, "scanner": "foundry_dataset", "fingerprint": "d2fa3aecb50baf0f8c1df74b858b14859d92b60f875a83586f1041ec119685f9", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 2, "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": 24, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 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": "Tzeusy/butlers#12", "issue_number": "12", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-db4b7474e6b3ca8d", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#12\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#12\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#12\nRepo: Tzeusy/butlers\nIssue/PR number: 12\nGraph consistency label: assumption_check\nNodes: 17\nEdges: 24\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'test_ci_gap': 2, '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, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-f6bc613b203e9367", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423454, "scanner": "foundry_dataset", "fingerprint": "b152caa3267e8c1e930b9961f63bc83d042c71d07e5669a507028ec62de8aec8", "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": {"runtime_failure": 1, "mock_placeholder": 1, "deployment_env_gap": 1, "human_feedback_general": 2, "unlinked_human_feedback": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 2, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 4}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 5, "chain_has_link_quality": 7, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 5, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 5}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#11", "issue_number": "11", "quality_tiers": {"unresolved": 7}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-95fa94e50103b710", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#11\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: Tzeusy/butlers\nThread: Tzeusy/butlers#11\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#11\nRepo: Tzeusy/butlers\nIssue/PR number: 11\nGraph consistency label: needs_more_evidence\nNodes: 21\nEdges: 31\nNode types: {'link_quality': 7, 'comment': 5, 'comment_chain': 5, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'ambiguous_needs_more_evidence': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'runtime_failure': 1, 'deployment_env_gap': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 4}\nQuality tiers: {'unresolved': 7}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-04c562f432be289a", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 423453, "scanner": "foundry_dataset", "fingerprint": "a7cb86dd51910848bf69117b3f740b13edd6fe96d6407049c1d1f91afa98b9ef", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 2, "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": 24, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 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": "Tzeusy/butlers#10", "issue_number": "10", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-3d79d267bc129f0c", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#10\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: Tzeusy/butlers\nThread: Tzeusy/butlers#10\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#10\nRepo: Tzeusy/butlers\nIssue/PR number: 10\nGraph consistency label: assumption_check\nNodes: 17\nEdges: 24\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'test_ci_gap': 2, '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, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-f9aa1f941f8eab52", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395380, "scanner": "foundry_dataset", "fingerprint": "b03bbfcc9881632158ce0725b0705d68afa7f539ce227f4ce576a04cf3ae6210", "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": {"mock_placeholder": 1, "api_integration_gap": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 10}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 29, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 20, "node_types": {"repo": 1, "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": "Tzeusy/butlers#9", "issue_number": "9", "quality_tiers": {"unresolved": 5, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-53c4dada35ba3505", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#9\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#9\nRepo: Tzeusy/butlers\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 20\nEdges: 29\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'api_integration_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10}\nQuality tiers: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-94c66467a340e8bf", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395379, "scanner": "foundry_dataset", "fingerprint": "5012a176ac64520e05b4e413afa9cc7e9b140fe099928225cbf2bdb58bab1d8f", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 2, "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": 24, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 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": "Tzeusy/butlers#8", "issue_number": "8", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1c259a04cbc059cd", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#8\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#8\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#8\nRepo: Tzeusy/butlers\nIssue/PR number: 8\nGraph consistency label: assumption_check\nNodes: 17\nEdges: 24\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'test_ci_gap': 2, '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, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-408a03726f26b757", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395378, "scanner": "foundry_dataset", "fingerprint": "f77b99150def6ab9c65cf29e03d4efa22afdc7d6fbf09e08681491cc3168cc6d", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "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, "ambiguous_needs_more_evidence": 2}, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 18, "node_types": {"repo": 1, "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": "Tzeusy/butlers#7", "issue_number": "7", "quality_tiers": {"unresolved": 5, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f4e462886bf95e50", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#7\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#7\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#7\nRepo: Tzeusy/butlers\nIssue/PR number: 7\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 25\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-d8b241ad42260e97", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395377, "scanner": "foundry_dataset", "fingerprint": "2f73264513281d36837bda479dad72e975024b9fcbd4ca4faf0ac42482c9c94d", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"security_auth_secret": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 1, "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": 20, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#6", "issue_number": "6", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-a3c3d9526e303dc0", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#6\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#6\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#6\nRepo: Tzeusy/butlers\nIssue/PR number: 6\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8}\nQuality tiers: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-9b12421d10df0df2", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395376, "scanner": "foundry_dataset", "fingerprint": "6443077f2827dc4a2a82fd424f218e4207ae05b13661f2563ab3b898abd9360f", "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, "ui_workflow_gap": 1, "positive_human_signal": 1, "verification_or_tests": 2, "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}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 10}, "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": 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": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 22, "node_types": {"repo": 1, "commit": 2, "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": "Tzeusy/butlers#4", "issue_number": "4", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-2c46838046b05a4c", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#4\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#4\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#4\nRepo: Tzeusy/butlers\nIssue/PR number: 4\nGraph consistency label: supported_by_high_confidence_link\nNodes: 22\nEdges: 34\nNode types: {'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'commit': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 5, '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: {'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'positive_human_signal': 1, 'ui_workflow_gap': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 2, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-8890304e32df01be", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395375, "scanner": "foundry_dataset", "fingerprint": "56358b0b18603308157ad83b11f9cb5928ab4a83ae62b1a548ac9c20af84b7f9", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "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": 2, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#37", "issue_number": "37", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b5ce3e05bc5e678a", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#37\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: Tzeusy/butlers\nThread: Tzeusy/butlers#37\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#37\nRepo: Tzeusy/butlers\nIssue/PR number: 37\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-a140f89aca336c0b", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395374, "scanner": "foundry_dataset", "fingerprint": "044dac4a2444b5b9bc97cd08a7438e29c9264a4e21e60bc0625e8d7b42897099", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "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": 2, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#36", "issue_number": "36", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-ccb256eca6a769ff", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#36\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#36\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#36\nRepo: Tzeusy/butlers\nIssue/PR number: 36\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-1abdf857a85ac127", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395373, "scanner": "foundry_dataset", "fingerprint": "cb54fadbf85822a9217ac773808d8d804f16d89e39b25418a97fd0e4157d1a78", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "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": 2, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#35", "issue_number": "35", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b742bb31cc100cb2", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#35\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: Tzeusy/butlers\nThread: Tzeusy/butlers#35\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#35\nRepo: Tzeusy/butlers\nIssue/PR number: 35\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-8034adc6f3d4c82b", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395372, "scanner": "foundry_dataset", "fingerprint": "75ca280c7cf7b72da65f457df3ed4c16fcc4ae82ded2f1ff0084313ccc51a8e9", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "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": 2, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#33", "issue_number": "33", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-68a0eab5404bbfa6", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#33\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: Tzeusy/butlers\nThread: Tzeusy/butlers#33\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#33\nRepo: Tzeusy/butlers\nIssue/PR number: 33\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-59d5f98f5fca1b13", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395371, "scanner": "foundry_dataset", "fingerprint": "534d0ac2d97ceb2cf8bb2949efa215b3c8ba8b6e7a0e8cf247847bf59555f53b", "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, "security_auth_secret": 1, "agent_instruction_gap": 1, "verification_or_tests": 1, "human_feedback_general": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 7, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 5, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 14}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 44, "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": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 27, "node_types": {"repo": 1, "commit": 1, "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": "Tzeusy/butlers#3", "issue_number": "3", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-8c2e91f584fb1c0f", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#3\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#3\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#3\nRepo: Tzeusy/butlers\nIssue/PR number: 3\nGraph consistency label: supported_by_high_confidence_link\nNodes: 27\nEdges: 44\nNode types: {'link_quality': 9, 'comment': 5, 'comment_chain': 5, 'alignment': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 9, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'comment_chain_links_commit': 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: {'ambiguous_needs_more_evidence': 7, 'comment_has_related_commit_context': 5, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'api_integration_gap': 1, 'human_feedback_general': 1, 'agent_instruction_gap': 1, 'verification_or_tests': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 14}\nQuality tiers: {'weak_supervision': 4, 'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-6b6bc6a9eee6da51", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395370, "scanner": "foundry_dataset", "fingerprint": "fa57dd6fd7aa143a30d5e1d45dc93e8a3b8f7ad13f61bd0c068aee282bf3afa7", "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, "agent_instruction_gap": 2, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 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": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#28", "issue_number": "28", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0efc3456371565bb", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#28\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: Tzeusy/butlers\nThread: Tzeusy/butlers#28\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#28\nRepo: Tzeusy/butlers\nIssue/PR number: 28\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'agent_instruction_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-e6b5139ca9a87ddc", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395369, "scanner": "foundry_dataset", "fingerprint": "46700e6f2ddad83df61f21e3866d85863ae3e42aebe032620c5847c7ec635a4a", "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, "runtime_failure": 2, "ui_workflow_gap": 1, "positive_human_signal": 2, "human_feedback_general": 2, "unlinked_human_feedback": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 2, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 4, "positive_feedback_no_linked_change": 2, "human_positive_or_acceptance_signal": 2, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 12, "ambiguous_needs_more_evidence": 4, "human_positive_or_acceptance_signal": 4}, "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": 8, "thread_has_comment": 8, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 12, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 8}, "node_count": 35, "node_types": {"repo": 1, "thread": 1, "comment": 8, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 12, "comment_chain": 8, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#27", "issue_number": "27", "quality_tiers": {"unresolved": 10, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-cc5f5f5773e634b5", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#27\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#27\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#27\nRepo: Tzeusy/butlers\nIssue/PR number: 27\nGraph consistency label: assumption_check\nNodes: 35\nEdges: 54\nNode types: {'link_quality': 12, 'comment': 8, 'comment_chain': 8, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 12, 'thread_has_comment': 8, 'thread_has_comment_chain': 8, 'comment_has_chain': 8, 'issue_chain_has_comment_chain': 8, '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: {'not_resolved_or_not_observed': 6, 'human_reported_issue_no_linked_fix': 4, 'human_feedback_general': 2, 'runtime_failure': 2, 'positive_human_signal': 2, 'unlinked_human_feedback': 2, 'ambiguous_needs_more_evidence': 2, 'positive_feedback_no_linked_change': 2, 'human_positive_or_acceptance_signal': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'ui_workflow_gap': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 12, 'ambiguous_needs_more_evidence': 4, 'human_positive_or_acceptance_signal': 4}\nQuality tiers: {'unresolved': 10, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-a634ae81920011e4", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395368, "scanner": "foundry_dataset", "fingerprint": "f31b781bb860306a9f1e676206cd74060d759081e292e5fec930c4797143294a", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "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": 2, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#26", "issue_number": "26", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-ca2d70d868d41cbb", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#26\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#26\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#26\nRepo: Tzeusy/butlers\nIssue/PR number: 26\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-76f868c19ea8eac0", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395367, "scanner": "foundry_dataset", "fingerprint": "46f78ea5c0838ca765f55073e2dfd9eaf7ef39ea825591e45b00b732d3d1aecf", "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, "mock_placeholder": 1, "human_feedback_general": 2, "unlinked_human_feedback": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "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": 4, "ambiguous_needs_more_evidence": 8}, "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": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#25", "issue_number": "25", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-c3a8e4245ce933e9", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#25\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#25\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#25\nRepo: Tzeusy/butlers\nIssue/PR number: 25\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_ci_gap': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'not_resolved_or_not_observed': 4}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-e60dece2a997f465", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395366, "scanner": "foundry_dataset", "fingerprint": "16a7b0499210a9a37e2fad8ce381ba3ca563f694ec63e7c418cebba48992f3dc", "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, "ui_or_frontend": 2, "api_integration_gap": 1, "verification_or_tests": 8, "human_feedback_general": 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}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 10}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 52, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 1, "thread_touches_file": 2, "thread_has_pr_review": 2, "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, "issue_chain_touches_file": 2, "thread_has_comment_chain": 3, "comment_chain_links_commit": 13, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 30, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 1, "pr_file": 2, "alignment": 2, "pr_review": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2486", "issue_number": "2486", "quality_tiers": {"high_confidence": 5, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-44c65958a1d0ec1b", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"ui_or_frontend": 12}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2486\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2486\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2486\nRepo: Tzeusy/butlers\nIssue/PR number: 2486\nGraph consistency label: supported_by_high_confidence_link\nNodes: 30\nEdges: 52\nNode types: {'commit': 8, 'link_quality': 7, 'comment_chain': 3, 'pr_review': 2, 'pr_file': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 13, 'chain_has_link_quality': 7, 'comment_chain_touches_file': 6, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'thread_has_pr_review': 2, 'thread_touches_file': 2, 'issue_chain_touches_file': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 8, 'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'ui_or_frontend': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'human_feedback_general': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10}\nQuality tiers: {'high_confidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-d92be600a9e60aca", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395365, "scanner": "foundry_dataset", "fingerprint": "94f1b697669aa23f5415802263725f03da35840a1a4359c57b0964bc2bb58c81", "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, "api_or_backend": 5, "api_integration_gap": 6, "verification_or_tests": 10, "data_schema_persistence": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 10, "blueprint_human_gap_disagreement": 8, "comment_has_related_commit_context": 8, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 20}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 166, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 8, "thread_has_comment": 1, "thread_touches_file": 6, "thread_has_pr_review": 7, "alignment_uses_comment": 8, "alignment_uses_finding": 8, "chain_has_link_quality": 18, "comment_aligns_finding": 8, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 6, "thread_has_comment_chain": 8, "comment_chain_links_commit": 28, "comment_chain_touches_file": 48, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 8}, "node_count": 63, "node_types": {"repo": 1, "commit": 10, "thread": 1, "comment": 1, "pr_file": 6, "alignment": 8, "pr_review": 7, "fix_outcome": 1, "issue_chain": 1, "link_quality": 18, "comment_chain": 8, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2484", "issue_number": "2484", "quality_tiers": {"high_confidence": 10, "assumption_check": 8}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-2d851b8438a9edf6", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 11, "api_or_backend": 55}}, "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2484\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2484\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2484\nRepo: Tzeusy/butlers\nIssue/PR number: 2484\nGraph consistency label: supported_by_high_confidence_link\nNodes: 63\nEdges: 166\nNode types: {'link_quality': 18, 'commit': 10, 'comment_chain': 8, 'alignment': 8, 'pr_review': 7, 'pr_file': 6, 'thread': 1, 'repo': 1, 'comment': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 48, 'comment_chain_links_commit': 28, 'chain_has_link_quality': 18, 'thread_has_comment_chain': 8, 'comment_has_chain': 8, 'issue_chain_has_comment_chain': 8, 'alignment_uses_comment': 8, 'alignment_uses_finding': 8, 'comment_aligns_finding': 8, 'thread_has_pr_review': 7, 'thread_touches_file': 6, 'issue_chain_touches_file': 6, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 10, 'ambiguous_needs_more_evidence': 10, 'comment_has_related_commit_context': 8, 'blueprint_human_gap_disagreement': 8, 'api_integration_gap': 6, 'api_or_backend': 5, 'data_schema_persistence': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_or_ci': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 20}\nQuality tiers: {'high_confidence': 10, 'assumption_check': 8}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-a4ddda89a4738dc2", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395364, "scanner": "foundry_dataset", "fingerprint": "7c566283273d899039335d0679c1792f2d8264157480d8d0b8c62bfc5455bd48", "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_or_frontend": 4, "api_integration_gap": 2, "verification_or_tests": 7, "human_feedback_general": 2, "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": 4, "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": 78, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 1, "thread_touches_file": 4, "thread_has_pr_review": 3, "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, "issue_chain_touches_file": 4, "thread_has_comment_chain": 4, "comment_chain_links_commit": 20, "comment_chain_touches_file": 16, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 34, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 1, "pr_file": 4, "alignment": 2, "pr_review": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2483", "issue_number": "2483", "quality_tiers": {"high_confidence": 6, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-a959f1f0f92c21bc", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"ui_or_frontend": 28}}, "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2483\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2483\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2483\nRepo: Tzeusy/butlers\nIssue/PR number: 2483\nGraph consistency label: supported_by_high_confidence_link\nNodes: 34\nEdges: 78\nNode types: {'link_quality': 8, 'commit': 7, 'pr_file': 4, 'comment_chain': 4, 'pr_review': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 20, 'comment_chain_touches_file': 16, 'chain_has_link_quality': 8, 'thread_touches_file': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'issue_chain_touches_file': 4, 'thread_has_pr_review': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 7, 'ambiguous_needs_more_evidence': 6, 'ui_or_frontend': 4, 'comment_has_related_commit_context': 4, 'api_integration_gap': 2, 'human_feedback_general': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12}\nQuality tiers: {'high_confidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-62f106425394a228", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395363, "scanner": "foundry_dataset", "fingerprint": "260c75a2f8e9b8d9fcfb6319f35d6563ca421eaeaf7f57ae95f1a3900d7849bf", "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, "api_or_backend": 2, "security_auth_secret": 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": 1, "thread_touches_file": 2, "thread_has_pr_review": 1, "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": 1, "pr_file": 2, "alignment": 1, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2482", "issue_number": "2482", "quality_tiers": {"high_confidence": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-4456fcd71cd50fe8", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 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: Tzeusy/butlers\nThread: Tzeusy/butlers#2482\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2482\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2482\nRepo: Tzeusy/butlers\nIssue/PR number: 2482\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 34\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_review': 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_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_comment': 1, 'thread_has_pr_review': 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}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'api_or_backend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 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': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-cb36829a181347c8", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395362, "scanner": "foundry_dataset", "fingerprint": "e8d9c5ca467318ca94cc631d557b3ca4e84fa248b73917202c78293f095a69f9", "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, "ui_or_frontend": 1, "api_integration_gap": 1, "verification_or_tests": 6, "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": 36, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 1, "thread_touches_file": 1, "thread_has_pr_review": 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_links_commit": 8, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 1, "pr_file": 1, "alignment": 2, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2481", "issue_number": "2481", "quality_tiers": {"high_confidence": 4, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-efca4d1835113fb6", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"ui_or_frontend": 5}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2481\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2481\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2481\nRepo: Tzeusy/butlers\nIssue/PR number: 2481\nGraph consistency label: supported_by_high_confidence_link\nNodes: 24\nEdges: 36\nNode types: {'commit': 6, 'link_quality': 6, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_review': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 8, 'chain_has_link_quality': 6, '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_has_comment': 1, 'thread_has_pr_review': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 6, 'ambiguous_needs_more_evidence': 4, '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, 'test_ci_gap': 1, 'api_integration_gap': 1, 'ui_or_frontend': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-e3c11a5a0b1afe6b", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395361, "scanner": "foundry_dataset", "fingerprint": "6c834aad6946f403ff0cc1960a870420e40055201bc83095d5174b6e749ceaf7", "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, "source_or_other": 2, "verification_or_tests": 8, "human_feedback_general": 1, "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}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 10}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 59, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 1, "thread_touches_file": 3, "thread_has_pr_review": 2, "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, "issue_chain_touches_file": 3, "thread_has_comment_chain": 3, "comment_chain_links_commit": 15, "comment_chain_touches_file": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 31, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 1, "pr_file": 3, "alignment": 2, "pr_review": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2480", "issue_number": "2480", "quality_tiers": {"high_confidence": 5, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-5740671bca6f8a0b", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 6, "source_or_other": 12}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2480\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2480\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2480\nRepo: Tzeusy/butlers\nIssue/PR number: 2480\nGraph consistency label: supported_by_high_confidence_link\nNodes: 31\nEdges: 59\nNode types: {'commit': 8, 'link_quality': 7, 'pr_file': 3, 'comment_chain': 3, 'pr_review': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 15, 'comment_chain_touches_file': 9, 'chain_has_link_quality': 7, 'thread_touches_file': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'issue_chain_touches_file': 3, 'thread_has_pr_review': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 8, 'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'data_schema_persistence': 1, 'human_feedback_general': 1, 'test_or_ci': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10}\nQuality tiers: {'high_confidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-ec145d09a7b8ec90", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395360, "scanner": "foundry_dataset", "fingerprint": "5ae418aee79e991506e4bf037dfacffffbbc4e54afaff23308adde3a58c41c48", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "api_or_backend": 1, "api_integration_gap": 1, "verification_or_tests": 9, "human_feedback_general": 1, "ci_pending_or_incomplete": 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}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 10}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {"ci_pending_or_incomplete": 2}, "synthetic": false, "edge_count": 52, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 1, "thread_touches_file": 2, "comment_chain_has_ci": 1, "thread_has_pr_review": 2, "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, "issue_chain_touches_file": 2, "thread_has_comment_chain": 3, "comment_chain_links_commit": 12, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 32, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 1, "pr_file": 2, "alignment": 2, "pr_review": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2479", "issue_number": "2479", "quality_tiers": {"high_confidence": 5, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-283885b13c02a99b", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 6, "api_or_backend": 6}}, "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2479\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2479\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2479\nRepo: Tzeusy/butlers\nIssue/PR number: 2479\nGraph consistency label: supported_by_high_confidence_link\nNodes: 32\nEdges: 52\nNode types: {'commit': 9, 'link_quality': 7, 'comment_chain': 3, 'pr_review': 2, 'pr_file': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 12, 'chain_has_link_quality': 7, 'comment_chain_touches_file': 6, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'thread_has_pr_review': 2, 'thread_touches_file': 2, 'issue_chain_touches_file': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1}\nLabels: {'verification_or_tests': 9, 'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'human_feedback_general': 1, 'api_or_backend': 1, 'test_or_ci': 1, 'ci_pending_or_incomplete': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10}\nQuality tiers: {'high_confidence': 5, 'assumption_check': 2}\nCI labels: {'ci_pending_or_incomplete': 2}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-e3537602c7c9f642", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395359, "scanner": "foundry_dataset", "fingerprint": "95da94132710bc884aad9b06bdb9a6fa4a7b0be4477542bbf14c762108c94c6a", "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, "api_or_backend": 4, "ui_or_frontend": 2, "api_integration_gap": 1, "security_auth_secret": 1, "verification_or_tests": 7, "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, "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": 8, "claimed_resolved_with_verification_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 80, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 1, "thread_touches_file": 8, "thread_has_pr_review": 2, "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, "issue_chain_touches_file": 8, "thread_has_comment_chain": 3, "comment_chain_links_commit": 11, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 36, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 1, "pr_file": 8, "alignment": 2, "pr_review": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2478", "issue_number": "2478", "quality_tiers": {"high_confidence": 5, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e045a4aab6445838", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 12, "api_or_backend": 24, "ui_or_frontend": 12}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2478\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2478\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2478\nRepo: Tzeusy/butlers\nIssue/PR number: 2478\nGraph consistency label: supported_by_verification_signal\nNodes: 36\nEdges: 80\nNode types: {'pr_file': 8, 'commit': 8, 'link_quality': 7, 'comment_chain': 3, 'pr_review': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 24, 'comment_chain_links_commit': 11, 'thread_touches_file': 8, 'issue_chain_touches_file': 8, 'chain_has_link_quality': 7, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'thread_has_pr_review': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 7, 'api_or_backend': 4, 'ambiguous_needs_more_evidence': 4, 'test_or_ci': 2, 'ui_or_frontend': 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, 'test_ci_gap': 1, 'security_auth_secret': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'claimed_resolved_with_verification_signal': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'high_confidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-4145e2e2b90ce3e2", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395358, "scanner": "foundry_dataset", "fingerprint": "240114755217f2cd140cf5c6e0762c727252e617ae0809fd143c5b0d47a57d8d", "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, "source_or_other": 1, "api_integration_gap": 1, "agent_instruction_gap": 1, "verification_or_tests": 5, "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": 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": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 1, "thread_touches_file": 2, "thread_has_pr_review": 1, "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": 1, "pr_file": 2, "alignment": 1, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2477", "issue_number": "2477", "quality_tiers": {"high_confidence": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-92ed5100f4ec1c32", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 5, "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: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2477\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2477\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2477\nRepo: Tzeusy/butlers\nIssue/PR number: 2477\nGraph consistency label: supported_by_high_confidence_link\nNodes: 22\nEdges: 34\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_review': 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_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_comment': 1, 'thread_has_pr_review': 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}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'api_integration_gap': 1, 'source_or_other': 1, 'test_or_ci': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-9d438a4cdffd8c09", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395357, "scanner": "foundry_dataset", "fingerprint": "77b69f79e55bfa918dc4228e7e6e6bbea5067078f68fdbdb1e43e15ab395e631", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 2, "test_ci_gap": 1, "ui_or_frontend": 4, "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": 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": "Tzeusy/butlers#2476", "issue_number": "2476", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-c0cbb049dd348711", "graph_gold_label": "supported_by_high_confidence_link", "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_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2476\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2476\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2476\nRepo: Tzeusy/butlers\nIssue/PR number: 2476\nGraph consistency label: supported_by_high_confidence_link\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: {'verification_or_tests': 5, 'ui_or_frontend': 4, 'ambiguous_needs_more_evidence': 3, 'test_or_ci': 2, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-5a992fb2db18455a", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395356, "scanner": "foundry_dataset", "fingerprint": "090c647eb39434d818d419dcd591d2608a64dbc949850565506dd673185414ac", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "ui_or_frontend": 1, "source_or_other": 2, "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": 32, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 4, "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": 4, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 21, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2474", "issue_number": "2474", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-297d449cd2b21377", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 4, "ui_or_frontend": 4, "source_or_other": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2474\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2474\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2474\nRepo: Tzeusy/butlers\nIssue/PR number: 2474\nGraph consistency label: supported_by_high_confidence_link\nNodes: 21\nEdges: 32\nNode types: {'commit': 5, 'pr_file': 4, '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, 'thread_touches_file': 4, 'comment_chain_touches_file': 4, 'chain_has_link_quality': 4, 'issue_chain_touches_file': 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, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'test_or_ci': 1, 'ui_or_frontend': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-a5f50215d3a61d34", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395355, "scanner": "foundry_dataset", "fingerprint": "b55c3042523c73eb0e00ca2d607a9f7149cdad5ac44e993dd87f7f1b44b0ee47", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "api_or_backend": 1, "ui_or_frontend": 1, "source_or_other": 2, "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": 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": "Tzeusy/butlers#2472", "issue_number": "2472", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-2765fe60d97e6522", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 4, "ui_or_frontend": 4, "source_or_other": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2472\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2472\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2472\nRepo: Tzeusy/butlers\nIssue/PR number: 2472\nGraph consistency label: supported_by_high_confidence_link\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: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_or_backend': 1, 'ui_or_frontend': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-1d5f59c392d04add", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395354, "scanner": "foundry_dataset", "fingerprint": "4a7184356ddc291c701f154b8f3128890d6ded2e4688682ae654a7e391fae1a9", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 2, "test_ci_gap": 1, "api_or_backend": 1, "docs_or_claims": 2, "ui_or_frontend": 3, "source_or_other": 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": 47, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 9, "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": 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": 26, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 9, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2471", "issue_number": "2471", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-23638bb288bc94b4", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 8, "api_or_backend": 4, "docs_or_claims": 8, "ui_or_frontend": 12, "source_or_other": 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: Tzeusy/butlers\nThread: Tzeusy/butlers#2471\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2471\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2471\nRepo: Tzeusy/butlers\nIssue/PR number: 2471\nGraph consistency label: supported_by_high_confidence_link\nNodes: 26\nEdges: 47\nNode types: {'pr_file': 9, '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': 9, 'comment_chain_touches_file': 9, 'issue_chain_touches_file': 9, '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, 'ui_or_frontend': 3, 'ambiguous_needs_more_evidence': 3, 'docs_or_claims': 2, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_or_backend': 1, 'source_or_other': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-ae9088459cb3f531", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395353, "scanner": "foundry_dataset", "fingerprint": "d40752b4929bb747fb9a34b300a43cff0fb5157712f1f8ed026dade14a6a492e", "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": 5, "api_or_backend": 3, "docs_or_claims": 3, "ui_or_frontend": 5, "source_or_other": 5, "api_integration_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": 65, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 21, "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": 38, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 21, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2469", "issue_number": "2469", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b28ea84bf0f8c2b9", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 20, "api_or_backend": 12, "docs_or_claims": 12, "ui_or_frontend": 20, "source_or_other": 20}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2469\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2469\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2469\nRepo: Tzeusy/butlers\nIssue/PR number: 2469\nGraph consistency label: supported_by_high_confidence_link\nNodes: 38\nEdges: 65\nNode types: {'pr_file': 21, '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': 21, '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: {'source_or_other': 5, 'test_or_ci': 5, 'ui_or_frontend': 5, 'verification_or_tests': 5, 'docs_or_claims': 3, 'api_or_backend': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_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/Tzeusy/butlers", "source_id": "graph-query-motif_query-ecb4ae98b18b0091", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395352, "scanner": "foundry_dataset", "fingerprint": "04fabeb2b2c159f80528657a05ef222f583110452a9a0f044811502b5eaabeac", "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, "data_schema_persistence": 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}, "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": "Tzeusy/butlers#2468", "issue_number": "2468", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-fdb06030a8c849bc", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2468\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2468\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2468\nRepo: Tzeusy/butlers\nIssue/PR number: 2468\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, 'data_schema_persistence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-2fa1a2a8d7a45fe3", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395351, "scanner": "foundry_dataset", "fingerprint": "a80040696632cc6183d13f3b3895cb629caa4334bf9229b63954d59cabb87e8d", "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": "Tzeusy/butlers#2467", "issue_number": "2467", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f5188b3beb073eaf", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2467\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2467\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2467\nRepo: Tzeusy/butlers\nIssue/PR number: 2467\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-dc095f2a1c838335", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395350, "scanner": "foundry_dataset", "fingerprint": "c1ba6b9a90829fdb60ae29924d1bf6980078e9cd9e599cf57c41440335a4e4a2", "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, "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": "Tzeusy/butlers#2466", "issue_number": "2466", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-cccadb9d407e9563", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2466\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2466\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2466\nRepo: Tzeusy/butlers\nIssue/PR number: 2466\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, 'api_integration_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/Tzeusy/butlers", "source_id": "graph-query-motif_query-a77016b6e74b0631", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395349, "scanner": "foundry_dataset", "fingerprint": "79e3115055312df0e9a188a544de75751d1d6deef3c695c9e89dcd75358e27a0", "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": 5, "ui_or_frontend": 3, "verification_or_tests": 5, "data_schema_persistence": 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}, "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": 44, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 8, "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": 8, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 8, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2465", "issue_number": "2465", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0d448fd21e5e856c", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 20, "ui_or_frontend": 12}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2465\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2465\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2465\nRepo: Tzeusy/butlers\nIssue/PR number: 2465\nGraph consistency label: supported_by_high_confidence_link\nNodes: 25\nEdges: 44\nNode types: {'pr_file': 8, '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': 8, 'comment_chain_touches_file': 8, 'issue_chain_touches_file': 8, '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': 5, 'verification_or_tests': 5, 'ui_or_frontend': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-fdd0457b0ca8ebda", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395348, "scanner": "foundry_dataset", "fingerprint": "916e61c897d6ba855d726acb84fce7a8621bad8fac97406e1730983813dbb285", "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": "Tzeusy/butlers#2464", "issue_number": "2464", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-88df09e3fd29fa6e", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2464\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2464\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2464\nRepo: Tzeusy/butlers\nIssue/PR number: 2464\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-7c1ebc87ffc05974", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395347, "scanner": "foundry_dataset", "fingerprint": "a344e361e712ecff3598b2f9151eb4ecc310152b814120f0b1b96653aee2674d", "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, "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": "Tzeusy/butlers#2463", "issue_number": "2463", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9967827217defff8", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2463\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2463\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2463\nRepo: Tzeusy/butlers\nIssue/PR number: 2463\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, 'api_integration_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/Tzeusy/butlers", "source_id": "graph-query-motif_query-85060d9ab1d217fe", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395346, "scanner": "foundry_dataset", "fingerprint": "27b851d994a2e73c25dc5724dac93edfbc5a503dc5d217de8c20a13da8963889", "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, "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": "Tzeusy/butlers#2462", "issue_number": "2462", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-3e00dc6544187a57", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2462\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2462\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2462\nRepo: Tzeusy/butlers\nIssue/PR number: 2462\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, 'api_integration_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/Tzeusy/butlers", "source_id": "graph-query-motif_query-9fd79fe0957f7dba", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395345, "scanner": "foundry_dataset", "fingerprint": "9f2a35f33b60aafa87b443803bd8d79b3a8f92414041674bd3e27ab26a8c997e", "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, "verification_or_tests": 4, "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": 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": "Tzeusy/butlers#2460", "issue_number": "2460", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1f3f824e27e0df59", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2460\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2460\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2460\nRepo: Tzeusy/butlers\nIssue/PR number: 2460\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, 'data_schema_persistence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-efb3e4a644bee4b7", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395344, "scanner": "foundry_dataset", "fingerprint": "4bc6c260d465cefc52aeefb46eb2eeb51214e85eae1f888cec5051c7fa76207b", "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": "Tzeusy/butlers#2459", "issue_number": "2459", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-5b7491b831cf355e", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2459\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2459\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2459\nRepo: Tzeusy/butlers\nIssue/PR number: 2459\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-0aecc189df7003f2", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395343, "scanner": "foundry_dataset", "fingerprint": "79f8ea3affa3fc4c5d661e87e68b68e6e0d37b5ba3a8cb689e33d2371c4330b1", "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": "Tzeusy/butlers#2458", "issue_number": "2458", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1e882ebdad20c6f1", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2458\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2458\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2458\nRepo: Tzeusy/butlers\nIssue/PR number: 2458\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-9804b07cbe871d3b", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395342, "scanner": "foundry_dataset", "fingerprint": "e579db727d2ee31392089384a8ad1877dae1b734f1c3d86025907b45d3806565", "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": "Tzeusy/butlers#2456", "issue_number": "2456", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-8cdf00dd874a0938", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2456\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2456\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2456\nRepo: Tzeusy/butlers\nIssue/PR number: 2456\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-3a9962a4b905916d", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395341, "scanner": "foundry_dataset", "fingerprint": "1735015dd3b73f7fedd371aaa8225a62c959c986244e269410712070d9f935db", "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, "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": "Tzeusy/butlers#2455", "issue_number": "2455", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-8132bd65273ab44e", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2455\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2455\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2455\nRepo: Tzeusy/butlers\nIssue/PR number: 2455\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, 'api_integration_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/Tzeusy/butlers", "source_id": "graph-query-motif_query-46f672718946e507", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395340, "scanner": "foundry_dataset", "fingerprint": "d20b3d59d042b2d41af9740b1d7852ac5097b50ffddff63b640e18438a1107d3", "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": "Tzeusy/butlers#2454", "issue_number": "2454", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-170daca142e74c34", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2454\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2454\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2454\nRepo: Tzeusy/butlers\nIssue/PR number: 2454\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-42aa908de2a508a2", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395339, "scanner": "foundry_dataset", "fingerprint": "83d1463b1450d6997040479f355e0ccb568ef37a0b1da19882b8714a4f1190fb", "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": "Tzeusy/butlers#2452", "issue_number": "2452", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9472fca317aba29d", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2452\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2452\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2452\nRepo: Tzeusy/butlers\nIssue/PR number: 2452\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-f75ab601fc0f1644", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395338, "scanner": "foundry_dataset", "fingerprint": "4567661525d6f14110e536fc45310122d64f2f13c46021e7381505374d04bd69", "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": "Tzeusy/butlers#2451", "issue_number": "2451", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1957139a59cdf56e", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2451\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2451\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2451\nRepo: Tzeusy/butlers\nIssue/PR number: 2451\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-6b97245fec7d56ec", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395337, "scanner": "foundry_dataset", "fingerprint": "8edfa8748c470a107a083b7cc1bf2154989b773fc72b7d59a5bc181310356a97", "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": "Tzeusy/butlers#2450", "issue_number": "2450", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f8c085af676149f5", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2450\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2450\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2450\nRepo: Tzeusy/butlers\nIssue/PR number: 2450\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-86ef5f536d6114b8", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395336, "scanner": "foundry_dataset", "fingerprint": "d804dd82b8dd40ec9bf1fd8207398d6809fa7861dd6ec739004135b7ea6cf31c", "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": "Tzeusy/butlers#2449", "issue_number": "2449", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0ad5b31350f1aa4c", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2449\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2449\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2449\nRepo: Tzeusy/butlers\nIssue/PR number: 2449\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-73a4cdf65c14a6a7", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395335, "scanner": "foundry_dataset", "fingerprint": "cb38e3d2fc922c7f6cc5574cf638b75391d0653522d7aa91e312bfceab3c6d05", "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": "Tzeusy/butlers#2448", "issue_number": "2448", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-ef4064195dd56a39", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2448\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2448\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2448\nRepo: Tzeusy/butlers\nIssue/PR number: 2448\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-db8b1d404a16ea6d", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395334, "scanner": "foundry_dataset", "fingerprint": "df81dd9768949f6ce82f8504423404c15f940fb1338e7ad24bbb98849207665b", "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": "Tzeusy/butlers#2442", "issue_number": "2442", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-675ef456cab3b24b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2442\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2442\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2442\nRepo: Tzeusy/butlers\nIssue/PR number: 2442\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-d533a787f8774b56", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395333, "scanner": "foundry_dataset", "fingerprint": "9a95746e0c43567d0f79cfd7ea87aaa5541b11cc1ee5d090f03674daf54487a8", "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, "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": "Tzeusy/butlers#2440", "issue_number": "2440", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-fca89d322f3f3fd0", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2440\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2440\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2440\nRepo: Tzeusy/butlers\nIssue/PR number: 2440\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, 'api_integration_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/Tzeusy/butlers", "source_id": "graph-query-motif_query-0caca9bd7c1acf69", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395332, "scanner": "foundry_dataset", "fingerprint": "d0f1bed4a9f97134551d59d990348c9b0b3182e3cf282aae8e14bcb695aa380c", "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": "Tzeusy/butlers#2439", "issue_number": "2439", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-63cb4ef9359b8160", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2439\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2439\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2439\nRepo: Tzeusy/butlers\nIssue/PR number: 2439\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-6cb407b765e7b91e", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395331, "scanner": "foundry_dataset", "fingerprint": "402a8e5eae24420b42a1c065bcc994ec673ced8f583213dfc0e15d7a768197bd", "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": "Tzeusy/butlers#2438", "issue_number": "2438", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-7c471b804152bf97", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2438\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2438\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2438\nRepo: Tzeusy/butlers\nIssue/PR number: 2438\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-3c65f5fdf262245b", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395330, "scanner": "foundry_dataset", "fingerprint": "f57767b00ca190f618cb353d38db8d257b8e459c0d99adb11eb1bfe8009425c8", "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": {"generated_provenance": 1, "verification_or_tests": 4, "data_schema_persistence": 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}, "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": "Tzeusy/butlers#2434", "issue_number": "2434", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f0220aad974ed1c3", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2434\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2434\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2434\nRepo: Tzeusy/butlers\nIssue/PR number: 2434\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': 4, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'generated_provenance': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-7e2bff98ccf37067", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395329, "scanner": "foundry_dataset", "fingerprint": "e3df07c3974ed3387f482548594d29d998a26154cc6a5d8dfa2a26eaf30698bf", "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": "Tzeusy/butlers#2433", "issue_number": "2433", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-2675d3f049008725", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2433\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2433\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2433\nRepo: Tzeusy/butlers\nIssue/PR number: 2433\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-84ea49fde715d879", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395328, "scanner": "foundry_dataset", "fingerprint": "54495be92fe558221e5f3dbcfd3f35cd4b35a78d118a6f323f02109029f76bcb", "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": "Tzeusy/butlers#2432", "issue_number": "2432", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-a4bf29395c1ce1a3", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2432\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2432\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2432\nRepo: Tzeusy/butlers\nIssue/PR number: 2432\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-288ee973f6fbb427", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395327, "scanner": "foundry_dataset", "fingerprint": "5a3b3c43b8c0f23a00e8f7a9f554caef1af08887e8db6a1456f983aad8496db8", "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, "generated_provenance": 1, "verification_or_tests": 4, "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": "Tzeusy/butlers#2430", "issue_number": "2430", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9e5362ed74ade4d1", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2430\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2430\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2430\nRepo: Tzeusy/butlers\nIssue/PR number: 2430\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': 4, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'generated_provenance': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-96c34df49a8d4e3c", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395326, "scanner": "foundry_dataset", "fingerprint": "14f68788d8a782d5a03ca41e7a2b0e2e8b62243a73575c0bd751ae83e941a836", "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": "Tzeusy/butlers#2429", "issue_number": "2429", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-2124f1c625a7952a", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2429\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2429\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2429\nRepo: Tzeusy/butlers\nIssue/PR number: 2429\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-ec9ddd1267e6d712", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395325, "scanner": "foundry_dataset", "fingerprint": "aa323381d37f85a497b050137ae3490ab8a42c91c602a16969e93250f1cf8110", "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": "Tzeusy/butlers#2428", "issue_number": "2428", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-93322f6adc070d8c", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2428\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2428\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2428\nRepo: Tzeusy/butlers\nIssue/PR number: 2428\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-9b760a06c62150aa", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395324, "scanner": "foundry_dataset", "fingerprint": "8c68790384c70bd985c672af763370caed4e4c7ae2247354372ba29adb826a51", "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": "Tzeusy/butlers#2427", "issue_number": "2427", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-cece61b58f0d028c", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2427\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2427\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2427\nRepo: Tzeusy/butlers\nIssue/PR number: 2427\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-5be1d39fe5c72852", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395323, "scanner": "foundry_dataset", "fingerprint": "88ad651d3eaa6637eb559d5114a03cb04d7405a39f16fbe7163f16db98a9cdf2", "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": "Tzeusy/butlers#2426", "issue_number": "2426", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-cb3826c3aba3b447", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2426\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2426\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2426\nRepo: Tzeusy/butlers\nIssue/PR number: 2426\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-2dfce00e46dfb973", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395322, "scanner": "foundry_dataset", "fingerprint": "522910a3814aeba5a9b39e25aeb2a3eccdf9b0835eb0dd187b07a8e248977d54", "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": "Tzeusy/butlers#2424", "issue_number": "2424", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-03bee7803f9c1204", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2424\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2424\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2424\nRepo: Tzeusy/butlers\nIssue/PR number: 2424\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-29a4875dcae129a2", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395321, "scanner": "foundry_dataset", "fingerprint": "fca24562efad4a3865a25b2e2dcd4bc14eade9ab9024d4208ddf657025e908bd", "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": "Tzeusy/butlers#2423", "issue_number": "2423", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-da5bd04a397bfbc1", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2423\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2423\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2423\nRepo: Tzeusy/butlers\nIssue/PR number: 2423\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-df3f2aade26afbca", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395320, "scanner": "foundry_dataset", "fingerprint": "61e551306acbcb2ee14b3e93386af7b29ec28d2f010351f16c4b96c1f592969d", "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": "Tzeusy/butlers#2422", "issue_number": "2422", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9e26d3703cb32c91", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2422\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2422\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2422\nRepo: Tzeusy/butlers\nIssue/PR number: 2422\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-774094dc2b333231", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395319, "scanner": "foundry_dataset", "fingerprint": "f5ef8968ccb2d358b3f8550832a674a27394a8e8122d0138bd6c700def5aefd5", "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, "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": "Tzeusy/butlers#2421", "issue_number": "2421", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9704992e1d830446", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2421\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2421\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2421\nRepo: Tzeusy/butlers\nIssue/PR number: 2421\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, 'api_integration_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/Tzeusy/butlers", "source_id": "graph-query-motif_query-a10b0c46607ca255", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395318, "scanner": "foundry_dataset", "fingerprint": "61777539b4054dfa0ed4998025305bfcae9f0cdf3922e7a0dddb8e7b8250cd20", "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": "Tzeusy/butlers#2419", "issue_number": "2419", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1bba78e37a43e953", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2419\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2419\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2419\nRepo: Tzeusy/butlers\nIssue/PR number: 2419\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-75781f375826759b", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395317, "scanner": "foundry_dataset", "fingerprint": "130b8248a7802aae43dc4de346914851c2c33ca6a4f5484b0c729b75882f885a", "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": "Tzeusy/butlers#2418", "issue_number": "2418", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9ceb5b3c2b3d8e39", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2418\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2418\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2418\nRepo: Tzeusy/butlers\nIssue/PR number: 2418\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-0df47317f4c63cb7", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395316, "scanner": "foundry_dataset", "fingerprint": "9e7db8e2b2c86668af9a4c55e537988c26bd654ad674c1edd8fa2dc5f58ebdc2", "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": "Tzeusy/butlers#2417", "issue_number": "2417", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1ffb626089aeb3df", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2417\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2417\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2417\nRepo: Tzeusy/butlers\nIssue/PR number: 2417\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-6ab288680a076135", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395315, "scanner": "foundry_dataset", "fingerprint": "2184529cc5f9a240ed365d5e70724378a40f9d7cfc11ca8eed7b6dd7cdfc5b78", "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, "verification_or_tests": 4, "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": 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": "Tzeusy/butlers#2414", "issue_number": "2414", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-8b57c1bef7f85c80", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2414\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2414\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2414\nRepo: Tzeusy/butlers\nIssue/PR number: 2414\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, 'data_schema_persistence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-14a6d1c6797c43fa", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395314, "scanner": "foundry_dataset", "fingerprint": "106c9e85a28879dfa8c1e88ebf42751b27521bbe8fd8d966de052b9f095be2ca", "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": "Tzeusy/butlers#2411", "issue_number": "2411", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-c78f0ae3520f0dfd", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2411\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2411\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2411\nRepo: Tzeusy/butlers\nIssue/PR number: 2411\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-0c3b27166387695b", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395313, "scanner": "foundry_dataset", "fingerprint": "f497fbe407c02c35a95028881b99bdfa1ef3e3c871fac279f443edc69e8e8e16", "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": "Tzeusy/butlers#2410", "issue_number": "2410", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-35fd5dd5e4cdb51b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2410\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2410\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2410\nRepo: Tzeusy/butlers\nIssue/PR number: 2410\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-83590e4f618d22e4", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395312, "scanner": "foundry_dataset", "fingerprint": "d8c3a3ac6aec9850e28ce6c7b994074226933f77806608866c71330601b9216b", "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": "Tzeusy/butlers#2409", "issue_number": "2409", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b664b0f9cdc4702b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2409\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2409\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2409\nRepo: Tzeusy/butlers\nIssue/PR number: 2409\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-bdfec5848a902d76", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395311, "scanner": "foundry_dataset", "fingerprint": "5cfe23a8b4ac8c919f8a844dbcc400cf133fe95f7fcf349cb5524858969059b1", "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": "Tzeusy/butlers#2408", "issue_number": "2408", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-5c21ee8a624545fe", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2408\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2408\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2408\nRepo: Tzeusy/butlers\nIssue/PR number: 2408\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-61f39b6b1da6bd19", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395310, "scanner": "foundry_dataset", "fingerprint": "50db98b87a99c336c2054b80bc6496ec256b2bcc163f0704bb9845855543f3a5", "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": "Tzeusy/butlers#2407", "issue_number": "2407", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-8a4c4313841029ce", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2407\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2407\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2407\nRepo: Tzeusy/butlers\nIssue/PR number: 2407\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-00756d60422579b6", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395309, "scanner": "foundry_dataset", "fingerprint": "e9854669713837391fa6e6a974e38f0da25d3adff5b1528c4f7b2643e5bceacc", "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, "generated_provenance": 1, "verification_or_tests": 4, "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": "Tzeusy/butlers#2404", "issue_number": "2404", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-5ed1f6cafc2dd408", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2404\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2404\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2404\nRepo: Tzeusy/butlers\nIssue/PR number: 2404\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': 4, '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, 'generated_provenance': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-f9a10151f8781805", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395308, "scanner": "foundry_dataset", "fingerprint": "30bca4a58377e002a88fde3c7471ebd906f0be4b5696fa1e4720a011ba3662c4", "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": "Tzeusy/butlers#2403", "issue_number": "2403", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-479348b59d160113", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2403\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2403\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2403\nRepo: Tzeusy/butlers\nIssue/PR number: 2403\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-5099f7f9ab9ff1bb", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395307, "scanner": "foundry_dataset", "fingerprint": "c585481f13e67d653df7bf58835a34c0b0469c2e2feec76b0505b41c21f3ebdc", "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": "Tzeusy/butlers#2402", "issue_number": "2402", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-3161086e3b51c183", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2402\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2402\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2402\nRepo: Tzeusy/butlers\nIssue/PR number: 2402\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-b79815c000edb1b4", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395306, "scanner": "foundry_dataset", "fingerprint": "1ced37f93a2f3efcebefcbb5c9b37413f2d3f26e1c8f668a96a404eddd97e854", "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": "Tzeusy/butlers#2401", "issue_number": "2401", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-671664195a5469e5", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2401\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2401\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2401\nRepo: Tzeusy/butlers\nIssue/PR number: 2401\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-348614f75102b0e0", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395305, "scanner": "foundry_dataset", "fingerprint": "02345a0e1236e7cec1919a32bfa41e9526652710b07e2fe02f720fa315e6838c", "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, "agent_instruction_gap": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 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": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#24", "issue_number": "24", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-5941e18f586abc1d", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#24\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: Tzeusy/butlers\nThread: Tzeusy/butlers#24\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#24\nRepo: Tzeusy/butlers\nIssue/PR number: 24\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'agent_instruction_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-bfc58da6ebb3f5ca", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395304, "scanner": "foundry_dataset", "fingerprint": "80533789e4e4e56ab5030e1d1a2cd0382ab6b924e961b6ecd7fe09ef81dca615", "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": 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": "Tzeusy/butlers#2399", "issue_number": "2399", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d56a882b1ec11cd4", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2399\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2399\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2399\nRepo: Tzeusy/butlers\nIssue/PR number: 2399\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, 'ui_workflow_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/Tzeusy/butlers", "source_id": "graph-query-motif_query-29f1a5f411236dce", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395303, "scanner": "foundry_dataset", "fingerprint": "6f545908c313530cc7f02dfab93fc44633f8b6ee94d9bac7e6d8d1daac77b91c", "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": "Tzeusy/butlers#2397", "issue_number": "2397", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-7f59e7e96d1625e0", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2397\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2397\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2397\nRepo: Tzeusy/butlers\nIssue/PR number: 2397\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-c18856df36dc5de0", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395302, "scanner": "foundry_dataset", "fingerprint": "7e79337da5947b058037de183920c49ea80e745c62b1b2342f3fe627e0753a7a", "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": "Tzeusy/butlers#2396", "issue_number": "2396", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-474550dc0a2052de", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2396\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2396\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2396\nRepo: Tzeusy/butlers\nIssue/PR number: 2396\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-8d0424cd462679a4", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395301, "scanner": "foundry_dataset", "fingerprint": "af73e957218ebcd440216164f917b4632fcc75bdffba11ec0859305fb4fa0638", "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": "Tzeusy/butlers#2395", "issue_number": "2395", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-df6755a33ab48bf0", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2395\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2395\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2395\nRepo: Tzeusy/butlers\nIssue/PR number: 2395\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-d80ecc7bb87d6212", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395300, "scanner": "foundry_dataset", "fingerprint": "79235e8ef291408330458a36854e0606a260748d963de12aa49256f0d3862384", "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, "data_schema_persistence": 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}, "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": "Tzeusy/butlers#2392", "issue_number": "2392", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e914ac8f7e88369a", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2392\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2392\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2392\nRepo: Tzeusy/butlers\nIssue/PR number: 2392\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, 'data_schema_persistence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-18d972ce53f33ccf", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395299, "scanner": "foundry_dataset", "fingerprint": "0f5d302e9ece5b53646610fc1f60303d65a282064cbacebddb905b41b0771996", "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, "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": "Tzeusy/butlers#2391", "issue_number": "2391", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-7a7239190b821511", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2391\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2391\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2391\nRepo: Tzeusy/butlers\nIssue/PR number: 2391\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, 'api_integration_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/Tzeusy/butlers", "source_id": "graph-query-motif_query-4676866211e69ebf", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395298, "scanner": "foundry_dataset", "fingerprint": "f2a8d20f669d0ba44cafe35bdbab1c17c766a4f3a4574a5d97c81af0c67061fe", "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": "Tzeusy/butlers#2390", "issue_number": "2390", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0185466b808aca2d", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2390\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2390\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2390\nRepo: Tzeusy/butlers\nIssue/PR number: 2390\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-c80631d64f4a27cd", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395297, "scanner": "foundry_dataset", "fingerprint": "028adfcf0cca70ae09c6e2e6454796790460be10e8192795c2b21a42104582df", "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": "Tzeusy/butlers#2389", "issue_number": "2389", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-fe64539a299c63cc", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2389\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2389\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2389\nRepo: Tzeusy/butlers\nIssue/PR number: 2389\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-94e4accd5c7b2387", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395296, "scanner": "foundry_dataset", "fingerprint": "50f5f1d7fd665cefeff7ceb64941f7455f13ef59b5fc267bce4b5af4ed3866ff", "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, "human_feedback_general": 1, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 23, "node_types": {"repo": 1, "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": "Tzeusy/butlers#23", "issue_number": "23", "quality_tiers": {"unresolved": 6, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-a06f2a29f4535f53", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#23\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#23\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#23\nRepo: Tzeusy/butlers\nIssue/PR number: 23\nGraph consistency label: assumption_check\nNodes: 23\nEdges: 34\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-40627f3854e848bb", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395295, "scanner": "foundry_dataset", "fingerprint": "3040abfe168edd734dd81a5029167e9c3ae5123f02e950386df6eb5983f95757", "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, "api_integration_gap": 1, "security_auth_secret": 3, "human_feedback_general": 2, "unlinked_human_feedback": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 7, "ambiguous_needs_more_evidence": 2, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 5, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 14, "ambiguous_needs_more_evidence": 4}, "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": 7, "thread_has_comment": 7, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 11, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 7}, "node_count": 32, "node_types": {"repo": 1, "thread": 1, "comment": 7, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 7, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#22", "issue_number": "22", "quality_tiers": {"unresolved": 9, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-6fdc5de1d1a3611b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#22\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: Tzeusy/butlers\nThread: Tzeusy/butlers#22\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#22\nRepo: Tzeusy/butlers\nIssue/PR number: 22\nGraph consistency label: assumption_check\nNodes: 32\nEdges: 49\nNode types: {'link_quality': 11, 'comment': 7, 'comment_chain': 7, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 11, 'thread_has_comment': 7, 'thread_has_comment_chain': 7, 'comment_has_chain': 7, 'issue_chain_has_comment_chain': 7, '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: {'not_resolved_or_not_observed': 7, 'human_reported_issue_no_linked_fix': 5, 'security_auth_secret': 3, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'ambiguous_needs_more_evidence': 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, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 14, 'ambiguous_needs_more_evidence': 4}\nQuality tiers: {'unresolved': 9, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-cb74b4a5417120d7", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395294, "scanner": "foundry_dataset", "fingerprint": "f20595e6f28f670ad161eb41be1c0877caf5d7fc717e0e4c9128132d88b779c7", "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, "positive_human_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "positive_feedback_no_linked_change": 1, "human_positive_or_acceptance_signal": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2, "human_positive_or_acceptance_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": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#21", "issue_number": "21", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0660d3d1c5a4ba4b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#21\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#21\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#21\nRepo: Tzeusy/butlers\nIssue/PR number: 21\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'positive_human_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'positive_feedback_no_linked_change': 1, 'human_positive_or_acceptance_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2, 'human_positive_or_acceptance_signal': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-6f004cce8420e566", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395293, "scanner": "foundry_dataset", "fingerprint": "4926a79775d5ed462eb8195e5f91312621ad0adabe28f5f2b9f411a6baeb1180", "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, "positive_human_signal": 3, "verification_or_tests": 1, "human_feedback_general": 3, "data_schema_persistence": 1, "unlinked_human_feedback": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 6, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "positive_feedback_no_linked_change": 2, "human_positive_or_acceptance_signal": 3, "positive_feedback_with_related_change": 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": 12, "human_positive_or_acceptance_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 56, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 8, "thread_has_comment": 8, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 12, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 8, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 8}, "node_count": 36, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 8, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 12, "comment_chain": 8, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#19", "issue_number": "19", "quality_tiers": {"unresolved": 6, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-7ae838a9a9e5f996", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#19\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: Tzeusy/butlers\nThread: Tzeusy/butlers#19\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#19\nRepo: Tzeusy/butlers\nIssue/PR number: 19\nGraph consistency label: weak_supervision_needs_review\nNodes: 36\nEdges: 56\nNode types: {'link_quality': 12, 'comment': 8, 'comment_chain': 8, 'alignment': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 12, 'thread_has_comment': 8, 'thread_has_comment_chain': 8, 'comment_has_chain': 8, 'issue_chain_has_comment_chain': 8, 'comment_chain_links_commit': 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': 6, 'human_feedback_general': 3, 'positive_human_signal': 3, 'unlinked_human_feedback': 3, 'human_positive_or_acceptance_signal': 3, 'positive_feedback_no_linked_change': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'positive_feedback_with_related_change': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12, 'human_positive_or_acceptance_signal': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-9ce4464edf333c9a", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395292, "scanner": "foundry_dataset", "fingerprint": "909de1dfc9ac29e927c59dbc867ac61e2a143bb6243c07eeccc9605a887ee5e1", "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, "positive_human_signal": 1, "human_feedback_general": 5, "unlinked_human_feedback": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 7, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "positive_feedback_no_linked_change": 1, "human_positive_or_acceptance_signal": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 14, "human_positive_or_acceptance_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 50, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 8, "thread_has_comment": 8, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 11, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 8}, "node_count": 33, "node_types": {"repo": 1, "thread": 1, "comment": 8, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 8, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#18", "issue_number": "18", "quality_tiers": {"unresolved": 10, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-c3eb5285788cd8b0", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#18\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: Tzeusy/butlers\nThread: Tzeusy/butlers#18\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#18\nRepo: Tzeusy/butlers\nIssue/PR number: 18\nGraph consistency label: assumption_check\nNodes: 33\nEdges: 50\nNode types: {'link_quality': 11, 'comment': 8, 'comment_chain': 8, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 11, 'thread_has_comment': 8, 'thread_has_comment_chain': 8, 'comment_has_chain': 8, 'issue_chain_has_comment_chain': 8, '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': 7, 'human_feedback_general': 5, 'unlinked_human_feedback': 5, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'positive_human_signal': 1, 'positive_feedback_no_linked_change': 1, 'human_positive_or_acceptance_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 14, 'not_resolved_or_not_observed': 4, 'human_positive_or_acceptance_signal': 2}\nQuality tiers: {'unresolved': 10, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-49ec040f4258b4d2", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395291, "scanner": "foundry_dataset", "fingerprint": "684d52855b73b952100b3760ef6192c049aef68982157afc54e678592ee6c34f", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 2, "security_auth_secret": 2, "agent_instruction_gap": 2, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 6, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 16, "ambiguous_needs_more_evidence": 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": 7, "thread_has_comment": 7, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 11, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 7}, "node_count": 32, "node_types": {"repo": 1, "thread": 1, "comment": 7, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 7, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#17", "issue_number": "17", "quality_tiers": {"unresolved": 9, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-8f2aa52044d7f7cd", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#17\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#17\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#17\nRepo: Tzeusy/butlers\nIssue/PR number: 17\nGraph consistency label: assumption_check\nNodes: 32\nEdges: 49\nNode types: {'link_quality': 11, 'comment': 7, 'comment_chain': 7, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 11, 'thread_has_comment': 7, 'thread_has_comment_chain': 7, 'comment_has_chain': 7, 'issue_chain_has_comment_chain': 7, '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: {'not_resolved_or_not_observed': 8, 'human_reported_issue_no_linked_fix': 6, 'security_auth_secret': 2, 'test_ci_gap': 2, 'agent_instruction_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 16, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 9, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-c7329ef7495ad943", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395290, "scanner": "foundry_dataset", "fingerprint": "19e27d522a65ad24748d02cebbb31b9c4ff9f74262cefd42755889f0a266f4fb", "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, "positive_human_signal": 5, "human_feedback_general": 10, "data_schema_persistence": 2, "unlinked_human_feedback": 10, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 12, "blueprint_human_gap_disagreement": 3, "human_reported_issue_no_linked_fix": 3, "positive_feedback_no_linked_change": 5, "human_positive_or_acceptance_signal": 5, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 24, "human_positive_or_acceptance_signal": 10}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 108, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 18, "thread_has_comment": 18, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 23, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 18, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 18}, "node_count": 67, "node_types": {"repo": 1, "thread": 1, "comment": 18, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 23, "comment_chain": 18, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#16", "issue_number": "16", "quality_tiers": {"unresolved": 20, "assumption_check": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-faedb121fea4b62c", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#16\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#16\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#16\nRepo: Tzeusy/butlers\nIssue/PR number: 16\nGraph consistency label: assumption_check\nNodes: 67\nEdges: 108\nNode types: {'link_quality': 23, 'comment': 18, 'comment_chain': 18, 'alignment': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 23, 'thread_has_comment': 18, 'thread_has_comment_chain': 18, 'comment_has_chain': 18, 'issue_chain_has_comment_chain': 18, '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: {'ambiguous_needs_more_evidence': 12, 'human_feedback_general': 10, 'unlinked_human_feedback': 10, 'positive_human_signal': 5, 'positive_feedback_no_linked_change': 5, 'human_positive_or_acceptance_signal': 5, 'human_reported_issue_no_linked_fix': 3, 'not_resolved_or_not_observed': 3, 'blueprint_human_gap_disagreement': 3, 'data_schema_persistence': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 24, 'human_positive_or_acceptance_signal': 10, 'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 20, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-8d923b680008b65f", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395289, "scanner": "foundry_dataset", "fingerprint": "b038a6f9ee1505fe270eaf5d10d28de7da631aea5681fe7a0babad103a14f3b8", "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, "mock_placeholder": 1, "agent_instruction_gap": 2, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 22, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#14", "issue_number": "14", "quality_tiers": {"unresolved": 3, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-8a76db127441616b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#14\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#14\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#14\nRepo: Tzeusy/butlers\nIssue/PR number: 14\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 31\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'agent_instruction_gap': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 3, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-23551265ce7e3177", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395288, "scanner": "foundry_dataset", "fingerprint": "3912bf2525bfbc606d445a08cbe393461ae2d53adb92edc900b80d237c1240c3", "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": 3, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 3, "comment_has_related_commit_context": 2, "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": 8}, "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": 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": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 23, "node_types": {"repo": 1, "commit": 1, "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": "Tzeusy/butlers#13", "issue_number": "13", "quality_tiers": {"unresolved": 1, "assumption_check": 3, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e47ac59a72c231b8", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#13\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: Tzeusy/butlers\nThread: Tzeusy/butlers#13\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#13\nRepo: Tzeusy/butlers\nIssue/PR number: 13\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 35\nNode types: {'link_quality': 8, 'comment': 3, 'comment_chain': 3, 'alignment': 3, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'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, 'comment_chain_links_commit': 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, 'test_ci_gap': 3, 'blueprint_human_gap_disagreement': 3, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'verification_or_tests': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 3, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-52c1a328aca84353", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395287, "scanner": "foundry_dataset", "fingerprint": "fe4597279130b2709539ec6c2232ace6f5109c123f07d4763b7009aea2e5609f", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 2, "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": 24, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 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": "Tzeusy/butlers#12", "issue_number": "12", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-bb8463b90acb45bf", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#12\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#12\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#12\nRepo: Tzeusy/butlers\nIssue/PR number: 12\nGraph consistency label: assumption_check\nNodes: 17\nEdges: 24\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'test_ci_gap': 2, '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, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-22f1a23ed55200c5", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395286, "scanner": "foundry_dataset", "fingerprint": "3ec84be3947457a2ff45dc3423cd15bd30457c7c3e52993bc6be0e4fd590837f", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 2, "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": 24, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 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": "Tzeusy/butlers#10", "issue_number": "10", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d8db86ac33e62b7e", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#10\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#10\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#10\nRepo: Tzeusy/butlers\nIssue/PR number: 10\nGraph consistency label: assumption_check\nNodes: 17\nEdges: 24\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'test_ci_gap': 2, '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, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-e312681bd03fcfe6", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Tzeusy/butlers"}, "properties": {"repobilityId": 395285, "scanner": "foundry_dataset", "fingerprint": "b0854d96b71368835d66981bc8264e7dc3e1e89be94e7dee2f9254c9247060cb", "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": 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": 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": 22, "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": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 16, "node_types": {"repo": 1, "commit": 1, "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": "Tzeusy/butlers#1", "issue_number": "1", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e88a1632ffe16031", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#1\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#1\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#1\nRepo: Tzeusy/butlers\nIssue/PR number: 1\nGraph consistency label: weak_supervision_needs_review\nNodes: 16\nEdges: 22\nNode types: {'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'test_ci_gap': 1, 'verification_or_tests': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-823524c4780ce644", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374495, "scanner": "foundry_dataset", "fingerprint": "7bb76a8f267fe8f523bbdc302988588164769505e42747c8f47df2362502d135", "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": "Tzeusy/butlers#58", "human_labels": ["human_feedback_general"], "issue_number": "58", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-21c781c2e62dd1a6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#58\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: Tzeusy/butlers#58\nRepo: Tzeusy/butlers\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-cb915de543085fb1\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/58#issuecomment-3895404012\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/58#issuecomment-3895404012\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-fd537f0aec15d7b9\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 4, \"generated_claims\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 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/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-acd31ebbcd7e3d56", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374494, "scanner": "foundry_dataset", "fingerprint": "248385571da520fdf5496abfec65ee9b0d6bf7dde82db61f43acc104c05f67f1", "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": "Tzeusy/butlers#57", "human_labels": ["human_feedback_general"], "issue_number": "57", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-aa041431500838f6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#57\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: Tzeusy/butlers#57\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-e6edee6e67254f21\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/57#issuecomment-3895341816\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/57#issuecomment-3895341816\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-ec2652a32ab91c72\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/57#issuecomment-3895341901\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/57#issuecomment-3895341901\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-1c0a09d7676f2379\", \"evidence-chain-comment_to_commit-2d469084dec5246b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-aa8a68973cc6deb3", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374493, "scanner": "foundry_dataset", "fingerprint": "f84bed2bbc365a4564f58128f8c3174a13fe5f01823032a4831deadb53ec470b", "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": "Tzeusy/butlers#56", "human_labels": ["human_feedback_general"], "issue_number": "56", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-838202b4fd767115", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#56\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: Tzeusy/butlers#56\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-133030e7b0a7b1c9\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/56#issuecomment-3895341307\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/56#issuecomment-3895341307\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-c2514ca53a74d5d7\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/56#issuecomment-3895341388\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/56#issuecomment-3895341388\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-879929ec611d780a\", \"evidence-chain-comment_to_commit-938945130405ef29\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-a10dd8cb547c6830", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374492, "scanner": "foundry_dataset", "fingerprint": "bbc67c4a8aa0f6ee68d94206cac22848d735e19cb173c55c058ec4a916f0dbdd", "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": "Tzeusy/butlers#55", "human_labels": ["human_feedback_general"], "issue_number": "55", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-d95ae9066a3bb36f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#55\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: Tzeusy/butlers#55\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-401c9e0e39d7b181\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/55#issuecomment-3895332872\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/55#issuecomment-3895332872\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-0be85bdbdb98bcde\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/55#issuecomment-3895332951\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/55#issuecomment-3895332951\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-70740c917f1b684c\", \"evidence-chain-comment_to_commit-2094d618c3866238\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-af88ac9d5c3a29b5", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374491, "scanner": "foundry_dataset", "fingerprint": "50d15b723ee057e96ce2ef2e4616ea158485651b90041b66eced6db1b49a9e28", "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": "Tzeusy/butlers#54", "human_labels": ["human_feedback_general"], "issue_number": "54", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-60c2679bc2f3e2cc", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#54\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: Tzeusy/butlers#54\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-dfadad711bcf609b\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/54#issuecomment-3895330616\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/54#issuecomment-3895330616\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-635d07f4f1b7368d\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/54#issuecomment-3895330954\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/54#issuecomment-3895330954\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-120a90d2e098e12d\", \"evidence-chain-comment_to_commit-775c2e4b36bf9494\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-8f653a0a3d2b2207", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374490, "scanner": "foundry_dataset", "fingerprint": "995efd17575e4176ac3a12a79e2eba918fde4a8ae49c71e0ba17e2fe44bb1a87", "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": "Tzeusy/butlers#53", "human_labels": ["human_feedback_general"], "issue_number": "53", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-6731b1d500228dc3", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#53\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: Tzeusy/butlers#53\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-5b97aa2ccb1c99e7\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/53#issuecomment-3895329360\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/53#issuecomment-3895329360\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-9e1371f6b7d33532\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/53#issuecomment-3895329465\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/53#issuecomment-3895329465\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c3618d379e20d7b1\", \"evidence-chain-comment_to_commit-baabca68034d83fb\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-1f77919bde690088", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374489, "scanner": "foundry_dataset", "fingerprint": "52927dab45a435490da02c8132bc58db5fd4cdd8e437e713011b4fce884c10b9", "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": "Tzeusy/butlers#52", "human_labels": ["human_feedback_general"], "issue_number": "52", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-101a1a9197bfa0a6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#52\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: Tzeusy/butlers#52\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-25863f6d193e5f74\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/52#issuecomment-3895273120\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/52#issuecomment-3895273120\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-69628a89a05038e6\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/52#issuecomment-3895273203\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/52#issuecomment-3895273203\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b21c03319fd25287\", \"evidence-chain-comment_to_commit-9a651aa2fc7c95a3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-02ba8a2ffecda21d", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374488, "scanner": "foundry_dataset", "fingerprint": "7eaa06a920c8f10565bca9bba26095ee175ec3882c5c58e07e454dc02c4484ec", "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": "Tzeusy/butlers#51", "human_labels": ["human_feedback_general"], "issue_number": "51", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-151c3ff799830da5", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#51\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: Tzeusy/butlers#51\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-f33e914453a2439d\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/51#issuecomment-3895269300\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/51#issuecomment-3895269300\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-23711ae79495e2e0\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/51#issuecomment-3895269382\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/51#issuecomment-3895269382\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-be291e1da3fe05b6\", \"evidence-chain-comment_to_commit-8beb70e45ae5ec88\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-daf978b5bf8d1787", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374487, "scanner": "foundry_dataset", "fingerprint": "32838c16c84c9a936aa7956de72abcbad418c8890218ed6590260a07ad413179", "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": "Tzeusy/butlers#50", "human_labels": ["human_feedback_general"], "issue_number": "50", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-54e08f07222321b4", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#50\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: Tzeusy/butlers#50\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-43b66e3a1f822f6b\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/50#issuecomment-3895269004\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/50#issuecomment-3895269004\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-bbec6c1df7cec68a\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/50#issuecomment-3895269095\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/50#issuecomment-3895269095\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-32a158296314d2b1\", \"evidence-chain-comment_to_commit-f3935b6670f9fc0a\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-0ed7dc770ba8f538", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374486, "scanner": "foundry_dataset", "fingerprint": "8a3fd24f4db80a84e2ea963d2f7c472114ec20280ee0dd7ead50a34f493694b3", "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": "Tzeusy/butlers#5", "human_labels": ["human_feedback_general", "runtime_failure"], "issue_number": "5", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-d205638527da52f0", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#5\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: Tzeusy/butlers#5\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'runtime_failure': 1, 'human_feedback_general': 2}\nPolarities: {'bad': 1, 'neutral': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-e40ba6b62d8cf866\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/5#issuecomment-3888741174\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/5#issuecomment-3888741174\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request introduces a foundational change to how Telegram messages are handled by implementing a new database table for logging. The primary objective is to create a persistent record of all incoming messages, capturing their journey from receipt through classification and routing. This enhancement provides a robust audit trail and supports future analytical capabilities for message processing.\\n\\n### Highlights\\n\\n* **Database Schema**: Introduced a new `message_inbox` table to store comprehensive details of Telegram messages, including receipt, classification, and routing information.\\n* **Message Logging**: Implemented the core functionality to log Telegram messages into the newly created `message_inbox` table, enhancing message persisten\"\n  },\n  {\n    \"id\": \"github-feedback-comment-37d6e9edb5845bce\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/5#issuecomment-3893322281\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/5#issuecomment-3893322281\\nTitle: \\nBody:\\nClosing as no-op: branch is rebased to main with zero file diff, so there is nothing left to merge.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-a281965ef98e53ad\",\n    \"kind\": \"review_comment\",\n    \"label\": \"human_feedb\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-65e8c4ec7f87e78d", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374485, "scanner": "foundry_dataset", "fingerprint": "e8300516d1856c66e93d064075416a8903d13f8ed2dd277ec195768e8bd71946", "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": "Tzeusy/butlers#49", "human_labels": ["human_feedback_general"], "issue_number": "49", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-a0f913192fdc0d4c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#49\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: Tzeusy/butlers#49\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-fe36d3b47ef567df\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/49#issuecomment-3895268554\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/49#issuecomment-3895268554\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-e4217a9e80646847\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/49#issuecomment-3895268591\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/49#issuecomment-3895268591\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ae1492becebf8cac\", \"evidence-chain-comment_to_commit-316e69b6c55614bf\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-6452d22d2c20b9f2", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374484, "scanner": "foundry_dataset", "fingerprint": "a496980d35e9626d493f68c9c297479c6089ffe2084f5e53ab521537b6dfbb3d", "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": "Tzeusy/butlers#48", "human_labels": ["human_feedback_general"], "issue_number": "48", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-902719c1d87acf24", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#48\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: Tzeusy/butlers#48\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-82617f7815c16101\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/48#issuecomment-3895219205\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/48#issuecomment-3895219205\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-b00c90f14175c6bc\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/48#issuecomment-3895219217\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/48#issuecomment-3895219217\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-04d8c440ce853e1c\", \"evidence-chain-comment_to_commit-2f695c89c89c7e35\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-3c8796ca9fe84358", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374483, "scanner": "foundry_dataset", "fingerprint": "1396dc14a8777a5e7e03c40b7da33c200f9ad2260df88a931007d608a5530be2", "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": "Tzeusy/butlers#47", "human_labels": ["human_feedback_general"], "issue_number": "47", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-5868df5d88f830d0", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#47\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: Tzeusy/butlers#47\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-21c9f2c612e492e3\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/47#issuecomment-3895206347\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/47#issuecomment-3895206347\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-6b7cccbc0a2ec990\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/47#issuecomment-3895206436\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/47#issuecomment-3895206436\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-a81c9a6d8ed1d4a5\", \"evidence-chain-comment_to_commit-61ca046628404b7e\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-8941e15dbddfba90", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374482, "scanner": "foundry_dataset", "fingerprint": "bda7162ada19a6920cd367e23f3a993bec892d0994cc091ce46c6ade38f01f02", "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": "Tzeusy/butlers#46", "human_labels": ["human_feedback_general"], "issue_number": "46", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-77885828f00d3cc9", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#46\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: Tzeusy/butlers#46\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-f4f132142b4f8d91\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/46#issuecomment-3894953403\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/46#issuecomment-3894953403\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-1e7722eea4a11899\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/46#issuecomment-3894953675\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/46#issuecomment-3894953675\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-fe75c17874f2517f\", \"evidence-chain-comment_to_commit-a742dd6056f24057\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-d5af532bccccb6b0", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374481, "scanner": "foundry_dataset", "fingerprint": "38ba223465f78be1a17b9634d1dd2da297e575ac5d44a75b2db1e2148ef1737b", "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": "Tzeusy/butlers#45", "human_labels": ["human_feedback_general"], "issue_number": "45", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-abf46221adbe0598", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#45\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: Tzeusy/butlers#45\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-f4d7132313fe68e6\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/45#issuecomment-3894952910\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/45#issuecomment-3894952910\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-cd2751df5a9c539c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/45#issuecomment-3894952944\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/45#issuecomment-3894952944\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-bfb8180def5f27ae\", \"evidence-chain-comment_to_commit-f9c18de2646955ab\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-965c5e2641c7b335", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374480, "scanner": "foundry_dataset", "fingerprint": "c4223c73736fdea673d748422c8efeee9fb4158e2dcd4d22b9ad09569c365cd9", "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": "Tzeusy/butlers#44", "human_labels": ["human_feedback_general"], "issue_number": "44", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-eebaeb19c82b2436", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#44\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: Tzeusy/butlers#44\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-412f4ef88b87900d\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/44#issuecomment-3894948238\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/44#issuecomment-3894948238\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-abcc3624d02f7474\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/44#issuecomment-3894948323\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/44#issuecomment-3894948323\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-f38b5b8b1ee9211b\", \"evidence-chain-comment_to_commit-aef85968a70d114c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-2a3cf93e6693eaa2", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374479, "scanner": "foundry_dataset", "fingerprint": "ff875e5475050a51fd04659400122bcac5b2b7cbb40c8f6fd7b406b2cffd3951", "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": "Tzeusy/butlers#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.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-2ded2b57f7b0087e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#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_unresolved\nChain evidence:\nIssue/PR evidence chain: Tzeusy/butlers#43\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-59cc4964dc66fe64\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/43#issuecomment-3894939327\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/43#issuecomment-3894939327\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-b1e7462d986f38e3\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/43#issuecomment-3894939401\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/43#issuecomment-3894939401\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-bf604a2eccb45196\", \"evidence-chain-comment_to_commit-3c53959f26f29303\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-f8c6fbbac50b7708", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374478, "scanner": "foundry_dataset", "fingerprint": "9b3bbf283c5d90e9bb103c7a8a6ab44467b6bf63087f4402f57c0f9c628566eb", "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": "Tzeusy/butlers#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.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-7ab471cb74022f58", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#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_unresolved\nChain evidence:\nIssue/PR evidence chain: Tzeusy/butlers#42\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-775bfa03909e60d0\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/42#issuecomment-3894933039\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/42#issuecomment-3894933039\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-9c5e507e81a5237e\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/42#issuecomment-3894933145\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/42#issuecomment-3894933145\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b8f5cafde6c69cd2\", \"evidence-chain-comment_to_commit-9bb10482ec6a387e\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-5c36a66509962beb", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374477, "scanner": "foundry_dataset", "fingerprint": "15e335bef0004e4030e021a39b2eaf9cca4c0b7faa41f9a4912cf990505c6a5c", "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": "Tzeusy/butlers#41", "human_labels": ["human_feedback_general"], "issue_number": "41", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-4c4d5b159c869c06", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#41\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: Tzeusy/butlers#41\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-5e4b799e8b64a014\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/41#issuecomment-3894927783\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/41#issuecomment-3894927783\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  },\n  {\n    \"id\": \"github-feedback-comment-b13f7a218475ca06\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/41#issuecomment-3894927992\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/41#issuecomment-3894927992\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-2c68329d98efcd3c\", \"evidence-chain-comment_to_commit-fc80834f923e7027\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-162c252f98666965", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374476, "scanner": "foundry_dataset", "fingerprint": "7447cd51744885d442434a62e04392031c4743ea641213070c9c9d28892cf9a4", "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": "Tzeusy/butlers#40", "human_labels": ["human_feedback_general"], "issue_number": "40", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-6aeb8d34f157dda7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#40\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: Tzeusy/butlers#40\nRepo: Tzeusy/butlers\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-bc22ce24554fc903\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/40#issuecomment-3894711458\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/40#issuecomment-3894711458\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-d2d8a6b364b95c78\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/40#issuecomment-3894711448\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/40#issuecomment-3894711448\\nTitle: \\nBody:\\n> [!WARNING]\\n> You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ab2d8640cbcdf346\", \"evidence-chain-comment_to_commit-f796b9afda685e43\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-2b4e9048cf6fe34f", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374475, "scanner": "foundry_dataset", "fingerprint": "940359eec145cd3a47beae53752649cc62dd7cc3306180fac1a5e52efa77a434", "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": "Tzeusy/butlers#4", "human_labels": ["positive_human_signal", "test_ci_gap", "ui_workflow_gap"], "issue_number": "4", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-27a10a6eb553e13d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#4\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: Tzeusy/butlers#4\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'positive_human_signal': 1, 'ui_workflow_gap': 1}\nPolarities: {'bad': 2, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ee10ef001752f356\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/4#issuecomment-3885498347\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/4#issuecomment-3885498347\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request focuses on enhancing the robustness and functionality of the API and butler daemon. It introduces critical regression tests to ensure the API's dependency lifecycle hooks (`init_dependencies`, `init_pricing`, `shutdown_dependencies`) are correctly invoked during application startup and shutdown. Furthermore, it implements a message processing pipeline for the 'switchboard' butler, allowing for structured classification and routing of messages from integrated channel modules. These changes improve the reliability of the API's core services and streamline message handling within the butler ecosystem.\\n\\n### Highlights\\n\\n* **API Lifespan Regression Tests**: New unit tests were added to validate the correct execution of `init_dependencies\"\n  },\n  {\n    \"id\": \"github-feedback-comment-7446e48dc654cede\",\n    \"kind\": \"review_comment\",\n    \"label\": \"positive_human_signal\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/4#discussion_r2794225288\",\n    \"text\": \"GitHub feedback: positive_human_signal\\nPolarity: neutral\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/4#discussion_r2794225288\\nTitle: \\nBody:\\n![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)\\n\\nThe type hint for `pool` is `Any`. While this works, we can provide a more specific type hint to improve type safety an\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-30a6cb9ff172c303", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374474, "scanner": "foundry_dataset", "fingerprint": "1029beebca3a9fb814322b687504bbc893a722889509389616ed623f71a43316", "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": "Tzeusy/butlers#38", "human_labels": ["human_feedback_general", "runtime_failure"], "issue_number": "38", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-392178558474c9fe", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#38\nOutcome: ambiguous_needs_more_evidence\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: Tzeusy/butlers#38\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'runtime_failure': 1}\nPolarities: {'neutral': 1, 'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f9442b6cea29746a\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/38#issuecomment-3894651668\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/38#issuecomment-3894651668\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-ff564401a2d91acc\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/38#issuecomment-3894652653\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/38#issuecomment-3894652653\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly refines the Telegram module's interaction with the Telegram API, particularly concerning message reactions. The primary goal is to make the system more resilient to transient or expected API limitations, such as when a chat does not support reactions. By gracefully handling specific HTTP 400 errors and providing more informative logging, the change prevents unnecessary exceptions and improves operational clarity without disrupting core message processing.\\n\\n### Highlights\\n\\n* **Improved Telegram Reaction Error Handling**: HTTP 400 responses from `setMessageRe\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-d34fc884fdb63668", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374473, "scanner": "foundry_dataset", "fingerprint": "e8e9eef3f531e3f2b91fa8765a3ea4b41f84e58934090a8fdbfb925dfee86d37", "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": "Tzeusy/butlers#37", "human_labels": ["human_feedback_general", "test_ci_gap"], "issue_number": "37", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-8e71a37758d77a56", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#37\nOutcome: ambiguous_needs_more_evidence\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: Tzeusy/butlers#37\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-33bbe05b1ce5ff1e\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/37#issuecomment-3894639786\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/37#issuecomment-3894639786\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-abbdd9893878821b\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/37#issuecomment-3894640473\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/37#issuecomment-3894640473\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request refines and documents the `pytest` quality-gate workflow. It clarifies the default parallel execution mode, provides a benchmark-backed rationale for its selection, and ensures consistent test coverage expectations across different execution modes. Additionally, it normalizes code formatting within a test file to adhere to quality standards.\\n\\n### Highlights\\n\\n* **Makefile Quality-Gate Clarification**: Clarified the default parallel execution mode for the quality gate (`test-qg`) and the serial fallback option (`test-qg-serial`) within the Makefile, including their semantics and ratio\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-b2ebf8392ed94cc3", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374472, "scanner": "foundry_dataset", "fingerprint": "afb9aa257c2b44368859790e62ad4521703fff3402130fcda898b93d4dc897e8", "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": "Tzeusy/butlers#36", "human_labels": ["human_feedback_general", "test_ci_gap"], "issue_number": "36", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-180c59f2adf4bb3a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#36\nOutcome: ambiguous_needs_more_evidence\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: Tzeusy/butlers#36\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-64857ca3b04ac56f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/36#issuecomment-3894315811\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/36#issuecomment-3894315811\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-6f666fe2bec3e381\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/36#issuecomment-3894316125\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/36#issuecomment-3894316125\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request formalizes and tracks changes that were previously implemented, primarily focusing on enhancing the test coverage for the `classify_message` function within the `switchboard` module. The new tests specifically validate the intelligent routing of messages to calendar-capable butlers during decomposition, ensuring that scheduling-related prompts are correctly identified and handled, while other prompts remain untouched.\\n\\n### Highlights\\n\\n* **Calendar Decomposition Routing Tests**: Added two new asynchronous test cases to `roster/switchboard/tests/test_tools.py` to verify the `classify_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-37ed740f6834f1b5", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374471, "scanner": "foundry_dataset", "fingerprint": "1a7f5a63b61470c219f9865a68b8b97541582fc96ac92bcea60eb3caafd3d8f8", "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": "Tzeusy/butlers#35", "human_labels": ["human_feedback_general", "test_ci_gap"], "issue_number": "35", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-401366cfa6dcfcf3", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#35\nOutcome: ambiguous_needs_more_evidence\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: Tzeusy/butlers#35\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-238a82bdd681ac17\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/35#issuecomment-3894311136\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/35#issuecomment-3894311136\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-518718bb00e4ece4\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/35#issuecomment-3894311605\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/35#issuecomment-3894311605\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly enhances the CalendarModule by introducing capabilities for creating and updating calendar events. The core focus is on ensuring that events managed by Butler are properly identified and attributed through a standardized title prefix and dedicated metadata fields. This change allows for better tracking and management of Butler-generated entries within calendar systems, improving the module's utility and maintainability.\\n\\n### Highlights\\n\\n* **New Calendar Write Tools**: Introduced `calendar_create_event` and `calendar_update_event` tools within the CalendarModule, enabli\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-43aab2e82a75a3b1", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374470, "scanner": "foundry_dataset", "fingerprint": "db8b738680d7a2173e16ec8491385fb58367bc6becfd704a778d1b73f5acc948", "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": "Tzeusy/butlers#33", "human_labels": ["human_feedback_general", "test_ci_gap"], "issue_number": "33", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-8d27e4a162e37aba", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#33\nOutcome: ambiguous_needs_more_evidence\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: Tzeusy/butlers#33\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-8f77d12b25eb06b7\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/33#issuecomment-3894279385\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/33#issuecomment-3894279385\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-1032fed592a75861\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/33#issuecomment-3894280758\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/33#issuecomment-3894280758\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly enhances the approval gating mechanism by introducing identity-aware defaults. It ensures that critical user-initiated communication actions, such as sending or replying to emails and Telegram messages, are automatically subject to approval, improving security and control. The changes also provide flexibility for bot-driven actions and respect existing explicit configurations.\\n\\n### Highlights\\n\\n* **Identity-Aware Approval Defaults**: Introduced identity-aware approval defaults for output tools, ensuring user-scoped send/reply actions are gated by default.\\n* **Daemon St\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-f448a194b8667563", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374469, "scanner": "foundry_dataset", "fingerprint": "22fc9804b855400baa06d3a1de9da7a966bd56515f7172b9efafef38bad67d60", "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": "Tzeusy/butlers#32", "human_labels": ["human_feedback_general", "runtime_failure"], "issue_number": "32", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-d47a451f2b171945", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#32\nOutcome: ambiguous_needs_more_evidence\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: Tzeusy/butlers#32\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'runtime_failure': 1}\nPolarities: {'neutral': 1, 'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9bce2bbf9df8790d\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/32#issuecomment-3894270549\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/32#issuecomment-3894270549\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-464557dc35d19537\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/32#issuecomment-3894271068\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/32#issuecomment-3894271068\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request introduces a targeted mechanism to gracefully handle expected client disconnects in the FastMCP SSE application. By wrapping the ASGI app with a custom guard, the system can differentiate between anticipated client disconnections during SSE POST requests and genuine errors, thereby reducing log noise and improving the clarity of error reporting without altering the behavior for other types of exceptions or requests.\\n\\n### Highlights\\n\\n* **Client Disconnect Handling**: Implemented an ASGI guard (`_McpSseDisconnectGuard`) to specifically catch and suppress `ClientDisconnect`\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-2eef4730cb02ad9c", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374468, "scanner": "foundry_dataset", "fingerprint": "ba9437abfd118f2fd371e380f1cbcab03c3bd782c284203b2bf3d74ce990688c", "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": "Tzeusy/butlers#30", "human_labels": ["deployment_env_gap", "human_feedback_general", "runtime_failure"], "issue_number": "30", "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": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-1323ff8783714b81", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#30\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: Tzeusy/butlers#30\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 6\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 3, 'runtime_failure': 2, 'deployment_env_gap': 1}\nPolarities: {'neutral': 3, 'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1aa38c5f2e5bea89\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/30#issuecomment-3893992411\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/30#issuecomment-3893992411\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-02682168becd5a68\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/30#issuecomment-3893993635\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/30#issuecomment-3893993635\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly refactors how Telegram and Email module credentials are managed, moving from a single configuration to distinct 'user' and 'bot' identity scopes. This change improves the clarity and security of credential handling by allowing different environment variables for different operational contexts. It also introduces robust validation for environment variable names and more informative error messages, making it easier to diagnose and resolve credential-related issues during Butler startup. The update ensures that the system's credential manage\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-fc2516ca4641eeb5", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374467, "scanner": "foundry_dataset", "fingerprint": "ea783e73b58eb6864ee26344df1dac402adb08b84ce49bc868a9d90c4a7252d0", "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": "Tzeusy/butlers#3", "human_labels": ["agent_instruction_gap", "api_integration_gap", "data_schema_persistence", "human_feedback_general", "security_auth_secret"], "issue_number": "3", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-42770ad7f8823217", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#3\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: Tzeusy/butlers#3\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 5\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'data_schema_persistence': 1, 'api_integration_gap': 1, 'human_feedback_general': 1, 'agent_instruction_gap': 1}\nPolarities: {'bad': 4, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-34263bd4ab9646a4\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/3#issuecomment-3885431059\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/3#issuecomment-3885431059\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request primarily focuses on restoring and enhancing compatibility for the mailbox module, particularly concerning its integration with external systems and internal testing suites. It refactors the internal database interaction methods, standardizes JSON data handling for message bodies and metadata, and aligns the `post_mail` function's response structure to meet expected contract specifications. These changes ensure consistent data processing and maintain robust integration coverage.\\n\\n### Highlights\\n\\n* **Mailbox `post_mail` Functionality**: Ensured `metadata` is correctly serialized to JSON strings before being passed to the underlying mailbox system and adjusted the response structure to include the full `result` alongside the\"\n  },\n  {\n    \"id\": \"github-feedback-comment-286c0554e0ba50f7\",\n    \"kind\": \"review_comment\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/3#discussion_r2794175667\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/3#discussion_r2794175667\\nTitle: \\nBody:\\n![high](https://www.gstatic.com/codereviewagent/high-priority.svg)\\n\\nThere's an unnecessary database query here. Th\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-3841920f82fd68ea", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374466, "scanner": "foundry_dataset", "fingerprint": "22e39f80c895a6c3a6a98ea3ae1a5b9a70b482a3d46cd2ec229aa01bd7aa294c", "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": "Tzeusy/butlers#26", "human_labels": ["human_feedback_general", "test_ci_gap"], "issue_number": "26", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-f9139efab76eb8ec", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#26\nOutcome: ambiguous_needs_more_evidence\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: Tzeusy/butlers#26\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\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-5ddc3a8376e8467f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/26#issuecomment-3893940497\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/26#issuecomment-3893940497\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-c3baaa762c6454db\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/26#issuecomment-3893941169\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/26#issuecomment-3893941169\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request optimizes the test suite's performance by making parallel execution the default for the `make test-qg` quality gate, based on comprehensive benchmarking that showed significant speed improvements. It also establishes a clear serial fallback command for debugging and updates all relevant documentation to ensure developers are aware of the new testing contract. This change aims to provide faster feedback cycles while maintaining the ability to troubleshoot complex test failures.\\n\\n### Highlights\\n\\n* **Default Parallel Quality Gate**: The `make test-qg` command now defaults to parallel e\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-a3fece4d04a34569", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374465, "scanner": "foundry_dataset", "fingerprint": "4a22ba45ffe84dd83084cd7286a97181e557f566b0f404eebec3fa4f269ac27d", "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": "Tzeusy/butlers#2488", "human_labels": ["agent_instruction_gap", "human_feedback_general", "runtime_failure", "ui_or_frontend"], "issue_number": "2488", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-0b8a30fecf72fddc", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 2}, "linked_commit_count": 13, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2488\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: Tzeusy/butlers#2488\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 13\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'agent_instruction_gap': 1, 'runtime_failure': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 2, 'neutral': 1}\nChanged file labels: {'ui_or_frontend': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d0b0b18563e3c949\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2488\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2488\\nTitle: refactor(spawner): extract resolve_provider_config / _derive_llm_provider into spawner_provider seam [bu-y9dwz]\\nBody:\\n## Summary\\n\\n- Moves `_derive_llm_provider` and `resolve_provider_config` out of `butlers/core/spawner.py` into a new `butlers/core/spawner_provider.py` seam module\\n- Re-exports both from `butlers.core.spawner` via `# noqa: F401` so all existing callers (`model_settings.py`, `discretion_dispatcher.py`) and test patches targeting `butlers.core.spawner.<name>` continue to resolve to the same objects (verified: `resolve_provider_config is rpc2` \u2192 `True`)\\n- Removes the now-unused `import json` from `spawner.py`\\n- `spawner_provider.py` imports only stdlib (`json`, `logging`, `typing`) \u2014 no `butlers.core.*` deps \u2014 satisfying the dependency-direction contract\\n\\nFollow-on to #2483 / #2486 (bu-dl98i.7.1, bu-ipo5v). Discovered from bu-dl98i.7.1.\\n\\n## Test plan\\n\\n- [x] `uv run ruff check src/ tests/ roster/ conftest.py` \u2014 all clean\\n- [x] `uv run ruff format --check ...` \u2014 no changes needed\\n- [x] `tests/contr\"\n  },\n  {\n    \"id\": \"github-pr-review-submission-8b730df6fb98b732\",\n    \"kind\": \"pr_review_submission\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2488#pullrequestreview-4523372590\",\n    \"text\": \"GitHub PR review submission: runtime_failure\\nPolarity: bad\\nReview state: COMMENTED\\nRepo: Tzeusy/butlers\\nPull request: #2488 refactor(spawner): extract resolve_provider_config / _derive_llm_provider into spawner_provider seam [bu-y9dwz]\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/2488#pullrequestreview-4523372590\\nBody:\\n## Code Rev\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-9e442b7168f98ec5", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374464, "scanner": "foundry_dataset", "fingerprint": "d69575b9f5321dc4e1f6b99b0dc4046ec4dbdfd52a0c1af9d21a888b2885c26f", "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": "Tzeusy/butlers#2487", "human_labels": ["api_or_backend", "human_feedback_general", "runtime_failure", "test_or_ci"], "issue_number": "2487", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-8359a95f00511b9c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 7, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 3, "api_or_backend": 4}, "linked_commit_count": 16, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2487\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: Tzeusy/butlers#2487\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 4\nLinked commit count: 16\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 7\nLabels: {'runtime_failure': 2, 'human_feedback_general': 2}\nPolarities: {'bad': 2, 'neutral': 2}\nChanged file labels: {'api_or_backend': 4, 'test_or_ci': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-21d8d68ad4e43c0b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2487\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2487\\nTitle: feat(read-models): activity_v1 + insights_v1 versioned read-model fan-out [bu-frwls]\\nBody:\\n## Summary\\n\\n- **`src/butlers/api/read_models/activity_v1.py`** \u2014 new versioned read-model for the activity feed: `SESSION_COLUMNS`, `ACTION_COLUMNS`, `EPISODE_COLUMNS` projection constants; `ActivitySessionRow`, `ActivityActionRow`, `ActivityEpisodeRow` typed dataclasses; `query_activity_sessions/actions/episodes` async functions with `UndefinedTableError` graceful-skip; `row_to_session/action/episode` converters; `READ_MODEL_VERSION = \\\"activity_v1\\\"`\\n- **`src/butlers/api/read_models/insights_v1.py`** \u2014 new versioned read-model for the insights delivery-state endpoint: `INSIGHT_DELIVERY_COLUMNS` projection constant; `InsightDeliveryStateRow` typed dataclass; `query_insight_delivery_state` (raises on error \u2014 graceful degrade stays in router); `READ_MODEL_VERSION = \\\"insights_v1\\\"`\\n- **`routers/activity_feed.py`** \u2014 delegates the three pool queries to `activity_v1`; event builder functions now accept typed DTOs instead of raw `asy\"\n  },\n  {\n    \"id\": \"github-pr-review-submission-1bf74e6d3597cee0\",\n    \"kind\": \"pr_review_submission\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2487#pullrequestreview-4523234531\",\n    \"text\": \"GitHub PR review submission: runtime_failure\\nPolarity: bad\\nReview state: COMMENTED\\nRepo: Tzeusy/butlers\\nPull request: #2487 feat(read-models): activity_v1 + insights_v1 versioned read-model fan-out [bu-frwls]\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/2487#pullrequestreview-4523234531\\nBody:\\n## Code Review\\n\\nThis pull request introduces versioned rea\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-5e62726457a24866", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374463, "scanner": "foundry_dataset", "fingerprint": "b85e54381441b4c81e0a95f9ea4f6ff9f2f607dae8f860ec97ef114791c9fe8e", "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": "Tzeusy/butlers#2486", "human_labels": ["api_integration_gap", "human_feedback_general", "test_ci_gap", "ui_or_frontend"], "issue_number": "2486", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-7c124d58694b850b", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 2}, "linked_commit_count": 13, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2486\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: Tzeusy/butlers#2486\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 13\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 2, 'neutral': 1}\nChanged file labels: {'ui_or_frontend': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-047cc2f1e7fad90e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2486\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2486\\nTitle: refactor(spawner): extract _build_env / _capture_pipeline_routing_context into spawner_env seam [bu-ipo5v]\\nBody:\\n## Summary\\n\\n- Extracts `_build_env` (~35L) and `_capture_pipeline_routing_context` (~10L) from `spawner.py` into a new `src/butlers/core/spawner_env.py` seam\\n- Follows the exact pattern established by bu-dl98i.7.1 (#2483): `spawner_context.py`, `spawner_tool_calls.py`, `spawner_guardrails.py`\\n- Both functions are re-exported from `butlers.core.spawner` (with `# noqa: F401`) so existing test patch targets and import paths at `butlers.core.spawner._build_env` / `butlers.core.spawner._capture_pipeline_routing_context` continue to resolve correctly\\n- Pure structural move \u2014 zero logic changes, behavior identical\\n- Dependency direction contract preserved: `spawner_env.py` imports only from `butlers.core.*` and `butlers.credential_store`\\n\\n## Test plan\\n\\n- [x] `uv run ruff check src/ tests/ roster/ conftest.py --output-format concise` \u2014 clean\\n- [x] `uv run ruff format --check src/ tests/ roster/ conftest.py -q` \u2014 cle\"\n  },\n  {\n    \"id\": \"github-pr-review-submission-23b75341b793714c\",\n    \"kind\": \"pr_review_submission\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2486#pullrequestreview-4523161341\",\n    \"text\": \"GitHub PR review submission: api_integration_gap\\nPolarity: bad\\nReview state: COMMENTED\\nRepo: Tzeusy/butlers\\nPull request: #2486 refactor(spawner): extract _build_env / _capture_pipeline_routing_context into spawner_env seam [bu-ipo5v]\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/2486#pullrequestreview-4523161341\\nBody:\\n## Code Review\\n\\nThis pul\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-3e62c134c21d2719", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374462, "scanner": "foundry_dataset", "fingerprint": "5a02ed29c8a599ec12adad68fbe7f0a0d11ac8be77be5e3da86b1c27fe2351dd", "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": "Tzeusy/butlers#2484", "human_labels": ["api_integration_gap", "api_or_backend", "data_schema_persistence", "test_or_ci"], "issue_number": "2484", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-2ee710d63afe553a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 6, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "api_or_backend": 5}, "linked_commit_count": 28, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2484\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: Tzeusy/butlers#2484\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 8\nLinked commit count: 28\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 6\nLabels: {'data_schema_persistence': 2, 'api_integration_gap': 6}\nPolarities: {'bad': 8}\nChanged file labels: {'api_or_backend': 5, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-81de2d5ca7fd3757\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2484\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2484\\nTitle: feat(api): versioned read-model/DTO layer for sessions and timeline [bu-dl98i.7.5]\\nBody:\\n## Summary\\n\\n- Introduces `butlers.api.read_models` as a versioned read-boundary package: each sub-module (`sessions_v1`, `timeline_v1`) is a typed DTO contract between the dashboard API routers and raw asyncpg fan-out. Breaking schema changes go to `_v2` \u2014 `_v1` is never silently altered.\\n- **sessions_v1** (`src/butlers/api/read_models/sessions_v1.py`): typed `SessionSummaryRow` / `SessionDetailRow` dataclasses, `SUMMARY_COLUMNS` / `DETAIL_COLUMNS` SQL projections, `query_session_summaries_fan_out`, `query_session_detail_fan_out`, `query_session_detail_single` \u2014 wired into all four sessions router paths.\\n- **timeline_v1** (`src/butlers/api/read_models/timeline_v1.py`): typed `TimelineSessionRow` / `TimelineNotificationRow` dataclasses, `SESSION_COLUMNS` / `NOTIFICATION_COLUMNS` projections, `query_timeline_sessions_fan_out`, `query_timeline_notifications_single` \u2014 wired into `list_timeline`.\\n- Behavior-preserving: API r\"\n  },\n  {\n    \"id\": \"github-pr-review-submission-d59fd122c8003156\",\n    \"kind\": \"pr_review_submission\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2484#pullrequestreview-4523017325\",\n    \"text\": \"GitHub PR review submission: data_schema_persistence\\nPolarity: bad\\nReview state: COMMENTED\\nRepo: Tzeusy/butlers\\nPull request: #2484 feat(api): versioned read-model/DTO layer for sessions and timeline [bu-dl98i.7.5]\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/2484#pullrequestreview-4523017325\\nBody:\\n## Code Review\\n\\nThis pull request introduces ver\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-e60b37784e779180", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374461, "scanner": "foundry_dataset", "fingerprint": "2a5b2b429e580b7121f2a077c99597bba19bb20265606f4677e6dface9dfe755", "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": "Tzeusy/butlers#2483", "human_labels": ["api_integration_gap", "human_feedback_general", "ui_or_frontend"], "issue_number": "2483", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-8cdcb4266ccb6416", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 4}, "linked_commit_count": 20, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2483\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: Tzeusy/butlers#2483\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 4\nLinked commit count: 20\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'api_integration_gap': 2, 'human_feedback_general': 2}\nPolarities: {'bad': 2, 'neutral': 2}\nChanged file labels: {'ui_or_frontend': 4}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-60b3dbbd95bf962d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2483\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2483\\nTitle: refactor(spawner): split spawner.py into 3 focused internal seams [bu-dl98i.7.1]\\nBody:\\n## Summary\\n\\nSplits the 2955-line `spawner.py` into three focused internal seams, reducing it by 615 lines (to 2340 lines) while keeping behavior identical:\\n\\n- **`spawner_context.py`** (~380 lines) \u2014 system-prompt assembly and context-fetch seam: `fetch_memory_context`, `fetch_routing_instructions`, `fetch_system_prompt_override`, `fetch_situational_context_preamble`, `store_session_episode`, `_compose_system_prompt`, and memory-table error helpers\\n- **`spawner_tool_calls.py`** (~210 lines) \u2014 tool-call processing seam: `_merge_tool_call_records`, `_dedup_tool_calls_by_id`, `_normalize_tool_name`, `_looks_like_mcp_endpoint_alias`, `_has_non_command_tool_calls`\\n- **`spawner_guardrails.py`** (~160 lines) \u2014 session guardrail checks seam: `_check_degenerate_tool_loop`, `_check_tool_call_budget`, `_check_token_budget`\\n\\nAll extracted symbols are re-exported from `butlers.core.spawner` so existing callers and test patches (`patch(\\\"but\"\n  },\n  {\n    \"id\": \"github-pr-review-submission-9f7e347d3b32162d\",\n    \"kind\": \"pr_review_submission\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2483#pullrequestreview-4522906276\",\n    \"text\": \"GitHub PR review submission: api_integration_gap\\nPolarity: bad\\nReview state: COMMENTED\\nRepo: Tzeusy/butlers\\nPull request: #2483 refactor(spawner): split spawner.py into 3 focused internal seams [bu-dl98i.7.1]\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/2483#pullrequestreview-4522906276\\nBody:\\n## Code Review\\n\\nThis pull request refactors `src/butlers/core/\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-c1c498367d6a0f23", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374460, "scanner": "foundry_dataset", "fingerprint": "c70efea9eb9ccf956dc22ecf51f6820a9df447c6098629080340c5ba5369806b", "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": "Tzeusy/butlers#2481", "human_labels": ["api_integration_gap", "test_ci_gap", "ui_or_frontend"], "issue_number": "2481", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-63e6f0c28f8d27cf", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 1}, "linked_commit_count": 8, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2481\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: Tzeusy/butlers#2481\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 8\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: {'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2d41c53b795f465b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2481\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2481\\nTitle: fix(scheduled_jobs): remove duplicate dead chronicler projection job defs [bu-740bj]\\nBody:\\n## Summary\\n\\n- `_run_chronicler_project_sessions_job` and `_run_chronicler_project_calendar_job` were each defined **three times** in `src/butlers/scheduled_jobs.py`; Python silently used only the last definition.\\n- Removed the two dead earlier copies of each function and the now-unused `from dataclasses import asdict` import (61 lines deleted total).\\n\\n## Behavioral divergence resolved\\n\\nThe three versions used different delegation strategies:\\n\\n| Version | Import | Discovery strategy | Notable gaps |\\n|---------|--------|-------------------|--------------|\\n| 1 (dead, lines 406-438) | `butlers.chronicler.adapters` directly | DB `information_schema` query | No `batch_limit`, no calendar-module filtering, datetime not serialized |\\n| 2 (dead, lines 758-775) | `butlers.jobs.chronicler` | Roster-based, all butlers on consolidated DB | No `batch_limit`, no calendar-module filtering, no fallback schemas |\\n| 3 (surviving, lines 838-855 \u2192 now\"\n  },\n  {\n    \"id\": \"github-pr-review-submission-8debef9225a9697a\",\n    \"kind\": \"pr_review_submission\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2481#pullrequestreview-4522723521\",\n    \"text\": \"GitHub PR review submission: api_integration_gap\\nPolarity: bad\\nReview state: COMMENTED\\nRepo: Tzeusy/butlers\\nPull request: #2481 fix(scheduled_jobs): remove duplicate dead chronicler projection job defs [bu-740bj]\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/2481#pullrequestreview-4522723521\\nBody:\\n## Code Review\\n\\nThis pull request cleans up `src/butlers/scheduled_jobs.py` by removing\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-b49dba3b1ff78741", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374459, "scanner": "foundry_dataset", "fingerprint": "b795767c5e4f334316268cb2e63d703c4742fc358cb2b81cb635bd350fa299ea", "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": "Tzeusy/butlers#2480", "human_labels": ["data_schema_persistence", "human_feedback_general", "source_or_other", "test_ci_gap", "test_or_ci"], "issue_number": "2480", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c84f2e6241fc9ee3", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 3, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "source_or_other": 2}, "linked_commit_count": 15, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2480\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: Tzeusy/butlers#2480\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 15\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 3\nLabels: {'test_ci_gap': 1, 'data_schema_persistence': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 2, 'neutral': 1}\nChanged file labels: {'source_or_other': 2, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b04d1fcd8503e172\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2480\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2480\\nTitle: feat(relationship): episodic predicate curation \u2014 behavior #5 [bu-q2zp6]\\nBody:\\n## Summary\\n\\n- Implements memory curation behavior #5: detect episodic predicates (e.g. `interaction_note`, `current_activity`, `meeting_note`) stored at durable permanence (`stable`/`permanent`) in `relationship.facts`\\n- Adds `run_episodic_predicate_curation(db_pool)` in `relationship_jobs.py` following the established curation pattern \u2014 query, flag, route to `pending_actions`, write checkpoint\\n- Registers `episodic-predicate-curation` scheduler entry in `butler.toml` (Wednesdays 05:00 UTC)\\n- 18 integration tests covering: no-op paths, detection of all episodic predicates, taxonomy boundary enforcement (interaction_* and CRM predicates excluded), dedup guard, owner-entity routing, low-confidence flagging, pending_action structure validation\\n\\n## Taxonomy\\n\\n`_EPISODIC_PREDICATES` (7 predicates): `interaction_note`, `current_activity`, `current_mood`, `today_note`, `meeting_note`, `event_note`, `coordination_note`\\n\\n**Intentionally excluded:** `i\"\n  },\n  {\n    \"id\": \"github-pr-review-submission-2a281d994d4da62b\",\n    \"kind\": \"pr_review_submission\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2480#pullrequestreview-4522629512\",\n    \"text\": \"GitHub PR review submission: data_schema_persistence\\nPolarity: bad\\nReview state: COMMENTED\\nRepo: Tzeusy/butlers\\nPull request: #2480 feat(relationship): episodic predicate curation \u2014 behavior #5 [bu-q2zp6]\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/2480#pullrequestreview-4522629512\\nBody:\\n## Code Review\\n\\nThis pull re\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-769f775998a218eb", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374458, "scanner": "foundry_dataset", "fingerprint": "a7bbda5ad4f656fdaa050eaddc7153fc3a2b05469d1b8bf9618a525dfd7bb7e5", "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": "Tzeusy/butlers#2479", "human_labels": ["api_integration_gap", "api_or_backend", "human_feedback_general", "test_ci_gap", "test_or_ci"], "issue_number": "2479", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-2569ef63d6f3d10c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "api_or_backend": 1}, "linked_commit_count": 12, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 1, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2479\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: Tzeusy/butlers#2479\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 12\nLinked CI commit count: 1\nLinked CI labels: {'ci_pending_or_incomplete': 1}\nChanged file count: 2\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 2, 'neutral': 1}\nChanged file labels: {'api_or_backend': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-021e834101204a2a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2479\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2479\\nTitle: fix(approvals): re-gate guard extracts phantom id from pending_action_id [bu-2r332]\\nBody:\\n## Summary\\n\\nFollow-up precision fix for the re-gate guard added in bu-km0y2 (PR #2464).\\n\\n- The re-gate guard in `_dispatch_approved_action` detects re-gating by checking `status == \\\"pending_approval\\\"`, then reads the phantom action id from the result dict to include it in the error message.\\n- **The bug:** gate.py keys the phantom id as `action_id`, but the notify email-guard path (`_notifications.py`) keys it as `pending_action_id`. The guard only tried `action_id`, so the notify email-guard path always produced `'<unknown>'` in the error message.\\n- **The fix:** try `action_id` first, then fall back to `pending_action_id` \u2014 whichever is present gets used for the error message.\\n\\n## Changes\\n\\n- `src/butlers/api/routers/approvals.py`: update the phantom id extraction (line ~849) to try both keys.\\n- `tests/api/test_api_approvals.py`: add `test_dispatch_approved_action_re_gate_notify_email_guard_uses_pending_action_id` asserting the err\"\n  },\n  {\n    \"id\": \"github-pr-review-submission-f0e11559916f1141\",\n    \"kind\": \"pr_review_submission\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2479#pullrequestreview-4522618103\",\n    \"text\": \"GitHub PR review submission: api_integration_gap\\nPolarity: bad\\nReview state: COMMENTED\\nRepo: Tzeusy/butlers\\nPull request: #2479 fix(approvals): re-gate guard extracts phantom id from pending_action_id [bu-2r332]\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/2479#pullrequestreview-4522618103\\nBody:\\n#\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-b70919195c29b27c", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374457, "scanner": "foundry_dataset", "fingerprint": "b79b5cbd9e9f5ec89f13b70ef1ab35b4a7c41e0562f75162ff0f5120d3f843ff", "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": "Tzeusy/butlers#2478", "human_labels": ["api_integration_gap", "api_or_backend", "security_auth_secret", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "2478", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-f1f02c43db62f9ef", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 8, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 2, "api_or_backend": 4, "ui_or_frontend": 2}, "linked_commit_count": 11, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2478\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: Tzeusy/butlers#2478\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 11\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 8\nLabels: {'test_ci_gap': 1, 'security_auth_secret': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {'api_or_backend': 4, 'test_or_ci': 2, 'ui_or_frontend': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ed9d46854ad11e37\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2478\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2478\\nTitle: feat(health): expose DB role-enforcement state on health endpoint and dashboard [bu-zxxyo]\\nBody:\\n## Summary\\n\\n- Adds `role_enforcement_disabled: bool` to the health endpoint `security` object (GET /api/health and /health)\\n- Wires it through `Database.role_enforcement_disabled` property \u2192 `DatabaseManager` \u2192 deps init \u2192 health endpoint\\n- Surfaces it as a new \\\\\\\"DB role enforcement\\\\\\\" `PostureRow` in `SecurityPostureTile` on the frontend dashboard\\n- Dev posture (no DB role configured, `_role_verified=False`) correctly reports `disabled=True`; only clears to `False` when a role is configured AND verified against `pg_roles`\\n\\n## Changed files\\n\\n- `src/butlers/db.py` \u2014 `Database.role_enforcement_disabled` property\\n- `src/butlers/api/db.py` \u2014 `DatabaseManager._role_enforcement_disabled` + property + setter\\n- `src/butlers/api/deps.py` \u2014 aggregate state tracking in `init_db_manager()`\\n- `src/butlers/api/app.py` \u2014 health endpoint includes `role_enforcement_disabled`\\n- `frontend/src/api/types.ts` \u2014 `HealthSecurityPosture.role_enforce\"\n  },\n  {\n    \"id\": \"github-pr-review-submission-9c9c00b5a0ce92bf\",\n    \"kind\": \"pr_review_submission\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2478#pullrequestreview-4522591642\",\n    \"text\": \"GitHub PR review submission: security_auth_secret\\nPolarity: bad\\nReview state: COMMENTED\\nRepo: Tzeusy/butlers\\nPull request: #2478 feat(health): expose DB role-enforcement state on health endpoint and dashboard [bu-zxxyo]\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/2478#pullrequestreview-4522591642\\nBody:\\n## Code Revi\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-b19926ae21b7634c", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374456, "scanner": "foundry_dataset", "fingerprint": "fd0bdf2b764ef8a99ab9a4941dc43c5c8fd71384ebbb0e4a78bd8b3c4e8c34ab", "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": "Tzeusy/butlers#2477", "human_labels": ["agent_instruction_gap", "api_integration_gap", "source_or_other", "test_or_ci"], "issue_number": "2477", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-d75215c3c592aa78", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "source_or_other": 1}, "linked_commit_count": 6, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2477\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: Tzeusy/butlers#2477\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'agent_instruction_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7752ecf2c27b34ba\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2477\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2477\\nTitle: fix(entity-dedup): minimum-length guard for Levenshtein near-identical matching [bu-q7vfe]\\nBody:\\n## Summary\\n\\n- Short distinct names ('Sam'/'Pam', 'Jon'/'Jan', 'Ana'/'Ava') were being flagged as near-identical merge candidates due to threshold=2 edit-distance matching with no minimum name length guard\\n- Adds `_ENTITY_DEDUP_MIN_NAME_LEN_FOR_NEAR_MATCH = 5`: pairs where either normalised name is shorter than 5 characters are skipped in the Levenshtein near-identical path\\n- Exact (case-insensitive) duplicates continue to be surfaced regardless of length \u2014 they are caught in the separate exact-match step before the Levenshtein check\\n\\n## Test plan\\n\\n- [x] `test_entity_dedup_short_names_not_flagged_as_near_identical` \u2014 Sam/Pam, Jon/Jan, Ana/Ava produce zero near-identical pairs\\n- [x] `test_entity_dedup_short_name_exact_dup_still_flagged` \u2014 exact duplicate 'Sam'/'Sam' still surfaces\\n- [x] `test_entity_dedup_short_name_exact_dup_case_insensitive` \u2014 'Jon'/'jon' still surfaces\\n- [x] `test_entity_dedup_long_near_identical\"\n  },\n  {\n    \"id\": \"github-pr-review-submission-d0185fd3936670c7\",\n    \"kind\": \"pr_review_submission\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2477#pullrequestreview-4522472780\",\n    \"text\": \"GitHub PR review submission: api_integration_gap\\nPolarity: bad\\nReview state: COMMENTED\\nRepo: Tzeusy/butlers\\nPull request: #2477 fix(entity-dedup): minimum-length guard for Levenshtein near-identical matching [bu-q7vfe]\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/2477#pullrequestreview-4522472780\\nBody:\\n## Code Review\\n\\nThis pull request introduces a\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-ad93aa486f167576", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374455, "scanner": "foundry_dataset", "fingerprint": "2ef03baca6838188737bf0f585d709ca1715a813f1a78e105a44639a6670c9c2", "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": "Tzeusy/butlers#2476", "human_labels": ["test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "2476", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-04811877ab97288c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 6, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 2, "ui_or_frontend": 4}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2476\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: Tzeusy/butlers#2476\nRepo: Tzeusy/butlers\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: 6\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 4, 'test_or_ci': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4f6ac9db036f6193\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2476\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2476\\nTitle: refactor(bu-k2sny): decouple QaModule+SelfHealingModule from direct spawner hold\\nBody:\\n## Summary\\n\\n- Introduces `src/butlers/core/spawn_hooks.py` \u2014 a dependency-inversion hook registry (same pattern as `memory_hooks`/`approvals_hooks`) that lets the daemon register the spawner once and modules retrieve it at dispatch time via `get_spawner()`\\n- Removes `self._spawner` instance attribute from both `QaModule` and `SelfHealingModule`, eliminating the Vision Rule 2 violation (\\\"modules only add tools, never touch core infrastructure\\\")\\n- Empties `ALLOWLIST_SPAWNER_HOLDER` in `tests/contracts/test_module_boundary.py` \u2014 both violations are now resolved; future regressions are caught immediately\\n\\n## What changed\\n\\n| File | Change |\\n|------|--------|\\n| `src/butlers/core/spawn_hooks.py` | New hook module: `register_spawner`, `clear_spawner`, `get_spawner` |\\n| `src/butlers/daemon.py` | Call `register_spawner(self.spawner)` in `_wire_module_runtime()` before iterating modules |\\n| `src/butlers/modules/qa/__init__.py` | Remove `self._s\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-e083243423f8cb79\",\n    \"filename\": \"src/butlers/core/spawn_hooks.py\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"added\",\n    \"additions\": 90,\n    \"deletions\": 0,\n    \"changes\": 90,\n    \"blob_url\": \"https://github.com/Tzeusy/butlers/blob/80dc9f394e4dde10f32a7a8b9bea2a09a3e03116/src%2Fbutlers%2Fcore%2Fspawn_hooks.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-58a22ed957d93fac\",\n    \"filename\": \"src/butlers/daemon.py\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 7,\n    \"deletions\": 0,\n    \"changes\": 7,\n    \"blob_url\": \"https://github.com/Tzeusy/butlers/blob/80dc9f394e4dde10f32a7a8b9bea2a09a3e03116/src%2Fbutlers\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-a41fd038daccc401", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374454, "scanner": "foundry_dataset", "fingerprint": "c64b18ece95563c4f0187e803370425acfd45a4697d157f6f79127a69ea2285e", "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": "Tzeusy/butlers#2475", "human_labels": ["api_or_backend", "runtime_failure", "test_or_ci", "ui_or_frontend"], "issue_number": "2475", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-46f02ff2a9870e26", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 7, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 2, "api_or_backend": 3, "ui_or_frontend": 2}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2475\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: Tzeusy/butlers#2475\nRepo: Tzeusy/butlers\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: 7\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'api_or_backend': 3, 'test_or_ci': 2, 'ui_or_frontend': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-65b3cca6fd165e1c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2475\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2475\\nTitle: feat(security): degraded-safety indicator for insecure infra defaults [bu-dl98i.6.3]\\nBody:\\n## Summary\\n\\n- Adds `has_insecure_infra_defaults()` and `is_grafana_anon_outside_dev()` pure detection helpers to `src/butlers/db.py`, reusing the `_KNOWN_DEFAULT_INFRA_CREDS` table from bu-dl98i.6.2\\n- Surfaces `security.insecure_infra_defaults` on `GET /api/health` and `/health` \u2014 `True` when any infra credential is at its known default OR Grafana anon is enabled in hardened posture; `False` only when fully hardened\\n- Wires the indicator end-to-end: `HealthSecurityPosture` type, `HealthResponse.security` field, and a new row in the `SecurityPostureTile` dashboard component showing \\\"Hardened\\\" / \\\"Insecure defaults active\\\"\\n- Default-when-unset = dev posture \u2192 indicator shows `True` (dev stack with absent creds = honest warning, not broken)\\n\\n## Test plan\\n\\n- [x] `tests/api/test_insecure_defaults_indicator.py`: 15 new Python tests \u2014 unit helpers (`has_insecure_infra_defaults`, `is_grafana_anon_outside_dev`) + health endpoint integr\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-bdb98be95c0514be\",\n    \"filename\": \"frontend/src/api/index.ts\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 0,\n    \"changes\": 1,\n    \"blob_url\": \"https://github.com/Tzeusy/butlers/blob/a42252c46acef3119ed40931342db1e70e3a6877/frontend%2Fsrc%2Fapi%2Findex.ts\"\n  },\n  {\n    \"id\": \"github-pr-file-file-5855bb2c0b6f133a\",\n    \"filename\": \"frontend/src/api/types.ts\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 15,\n    \"deletions\": 1,\n    \"changes\": 16,\n    \"blob_url\": \"https://github.com/Tzeusy/butlers/blob/a42252c46acef3119ed40931342db1e\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-e99b928445802584", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374453, "scanner": "foundry_dataset", "fingerprint": "37e26788f774de843ccb1f79de204167e80b678c28fe01d68df79da16beb9018", "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": "Tzeusy/butlers#2474", "human_labels": ["source_or_other", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "2474", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-bea11176db7e6973", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "ui_or_frontend": 1, "source_or_other": 2}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2474\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: Tzeusy/butlers#2474\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 2, 'test_or_ci': 1, 'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1739f1367f0efd65\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2474\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2474\\nTitle: feat(relationship): entity dedup curation \u2014 detect duplicate canonical names [bu-090co]\\nBody:\\n## Summary\\n\\n- Adds `run_entity_dedup_curation(db_pool)` to `roster/relationship/jobs/relationship_jobs.py`: scans `public.entities` for exact (case-insensitive) and near-identical (Levenshtein \u2264 2) `canonical_name` duplicates and surfaces each pair as a `pending_actions` row with `tool_name='entity_merge'`\\n- Safety policy strictly enforced: **no autonomous merge** \u2014 every pair goes through the owner-approval loop; the existing `entity_merge` pathway is called only when the owner approves\\n- Pure-Python `_levenshtein()` helper for near-identical name matching (no external dependencies)\\n- Dedup guard mirrors `run_fact_retraction_curation`: skips pairs with an existing `status='pending'` row\\n- Checkpoint written to `state` table after each run for observability\\n- Registered in `src/butlers/scheduled_jobs.py` as `entity_dedup_curation` and in `roster/relationship/butler.toml` (weekly Tuesday 06:00 cron)\\n- 21 integration tests in `r\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-3deb3667d033a4c1\",\n    \"filename\": \"roster/relationship/butler.toml\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 0,\n    \"changes\": 6,\n    \"blob_url\": \"https://github.com/Tzeusy/butlers/blob/8f964376771c535b5d90ac1c746f28ed1f59f0a6/roster%2Frelationship%2Fbutler.toml\"\n  },\n  {\n    \"id\": \"github-pr-file-file-2e2a1d68efe6a0ac\",\n    \"filename\": \"roster/relationship/jobs/relationship_jobs.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 395,\n    \"deletions\": 0,\n    \"changes\": 395,\n    \"blob_url\": \"https://github.com/Tzeusy/butlers/blob/8f9643767\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-09355b2569384ba8", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374452, "scanner": "foundry_dataset", "fingerprint": "341c8f8d07ef850b38a151cb7f5a3e946fd4578a5cce04287ae9505786fbcfbc", "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": "Tzeusy/butlers#2473", "human_labels": ["api_or_backend", "docs_or_claims", "human_feedback_general", "security_auth_secret", "source_or_other", "test_or_ci"], "issue_number": "2473", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.895, "repo_full_name": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-6df64da6042a06d5", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 5, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 2, "api_or_backend": 1, "docs_or_claims": 1, "source_or_other": 1}, "linked_commit_count": 15, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2473\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: Tzeusy/butlers#2473\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 15\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 5\nLabels: {'security_auth_secret': 1, 'human_feedback_general': 2}\nPolarities: {'bad': 1, 'neutral': 2}\nChanged file labels: {'api_or_backend': 1, 'source_or_other': 1, 'test_or_ci': 2, 'docs_or_claims': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d59eea5d05032a45\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2473\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2473\\nTitle: feat(identity): owner self-identity carve-out exemption [bu-oluyt.4]\\nBody:\\n## Problem\\n\\n`relationship_assert_fact` routes **ALL** writes whose subject is the owner entity to `pending_actions` (RFC-0017 \u00a72.3). This means the owner can never acquire a `has-handle/has-email/has-phone` triple through the normal path \u2014 they stay permanently unresolvable without manual approval of every identity fact.\\n\\nThe carve-out was designed to gate **third-party claims** about the owner (e.g. an LLM session asserting \\\"owner@company.com\\\"), not the owner's OWN self-registered identity handles entered via owner-setup tools or daemon bootstrap.\\n\\n## Fix\\n\\nAdds `_OWNER_SELF_SOURCES = frozenset({\\\"owner-bootstrap\\\", \\\"owner-self\\\"})` to `relationship_assert_fact.py`.\\n\\nWhen `src in _OWNER_SELF_SOURCES` AND `subject` is the owner entity, the write goes **directly to `entity_facts`** \u2014 no `pending_actions` entry created.\\n\\nThird-party assertions about the owner (any other `src`) **still park** for approval, preserving the RFC-0017 security boun\"\n  },\n  {\n    \"id\": \"github-pr-review-submission-13a56479a7b25b69\",\n    \"kind\": \"pr_review_submission\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2473#pullrequestreview-4522193882\",\n    \"text\": \"GitHub PR review submission: human_feedback_general\\nPolarity: neutral\\nReview state: COMMENTED\\nRepo: Tzeusy/butlers\\nPull request: #2473 feat(identity): owner self-identity carve-out exemption [bu-oluyt.4]\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2473#pullrequestreview-4522193882\\nBody:\\n\"\n  },\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-f4140615fdddcc91", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374451, "scanner": "foundry_dataset", "fingerprint": "0a892ae6539bdd239af356dad68b15ecfa64c8d27adcc5e51a450f7d4f9700f3", "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": "Tzeusy/butlers#2472", "human_labels": ["api_or_backend", "source_or_other", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "2472", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-11c19848402200c9", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 5, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "api_or_backend": 1, "ui_or_frontend": 1, "source_or_other": 2}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2472\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: Tzeusy/butlers#2472\nRepo: Tzeusy/butlers\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: 5\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 2, 'api_or_backend': 1, 'ui_or_frontend': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7d16fc6764d3af4c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2472\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2472\\nTitle: feat(security): infra creds via env indirection + known-default detection [bu-dl98i.6.2]\\nBody:\\n## Summary\\n\\n- Replace hardcoded MinIO (`minioadmin`) and Grafana (`admin`/`admin`) credentials in `docker-compose.yml` and `docker-compose.observability.yml` with `${VAR:-default}` env-var indirection \u2014 dev stack keeps working with no changes required\\n- Add `check_infra_default_creds()` in `butlers.db` (co-located with `is_hardened_posture`): warns loudly in dev posture, raises `RuntimeError` in hardened posture (explicit opt-in only)\\n- Wire the check into the API lifespan startup sequence\\n- 7 unit tests cover all specified acceptance scenarios\\n\\n## Acceptance criteria verified\\n\\n- [x] Infra creds sourced via env/secret indirection (`${VAR:-default}` style)\\n- [x] Dev-friendly defaults preserved \u2014 stack continues starting unchanged\\n- [x] Known-default detection: warns in dev, refuses under `BUTLERS_POSTURE=hardened`\\n- [x] Tests: known-default \u2192 warn in dev; known-default \u2192 refuse hardened; non-default \u2192 ok\\n- [x] No secrets commi\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-7ee70ca7ff14e0a0\",\n    \"filename\": \"docker-compose.observability.yml\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 2,\n    \"changes\": 4,\n    \"blob_url\": \"https://github.com/Tzeusy/butlers/blob/8d7155cdefb6b4bd9bf0a94bd661086ebe003594/docker-compose.observability.yml\"\n  },\n  {\n    \"id\": \"github-pr-file-file-9a934c87b61e2132\",\n    \"filename\": \"docker-compose.yml\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 3,\n    \"changes\": 9,\n    \"blob_url\": \"https://github.com/Tzeusy/butlers/blob/8d7155cdefb6b4bd\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-e935558288103c44", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374450, "scanner": "foundry_dataset", "fingerprint": "7119cddc0ab147e678064514d3a23fb92e65aa689d3f96ade14f3edd907f1cdf", "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": "Tzeusy/butlers#2471", "human_labels": ["api_or_backend", "docs_or_claims", "source_or_other", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "2471", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-4037043bff39b8b7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 9, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 2, "api_or_backend": 1, "docs_or_claims": 2, "ui_or_frontend": 3, "source_or_other": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2471\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: Tzeusy/butlers#2471\nRepo: Tzeusy/butlers\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: 9\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 2, 'api_or_backend': 1, 'source_or_other': 1, 'ui_or_frontend': 3, 'test_or_ci': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-88c75445b8236d34\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2471\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2471\\nTitle: feat(identity): declare entity_info/entity_facts seam law (RFC 0004 Amendment 3)\\nBody:\\n## Summary\\n\\nPhase 1 of the contact-schema migration epic (bu-oluyt): declare the sensitivity-based seam between the two identity stores. This is DECLARATION + write-guard + predicate-mirror consistency + RFC amendment + tests only \u2014 no destructive migrations, no data backfill, no table drops.\\n\\n### Changes\\n\\n- **Predicate-mirror consistency**: `telegram_chat_id` mapped to `has-handle` in all 4 predicate-mirror constants (`identity.py`, `approvals/_shared.py`, `relationship_assert_fact.py`, `relationship_jobs.py`)\\n- **Write-guard**: `assert_entity_info_secured(info_type, secured)` added to `credential_store.py`; raises `ValueError` when a non-secret, non-whitelisted type is written to `entity_info`. Guard wired at:\\n  - `upsert_owner_entity_info()` \u2014 function-call level\\n  - `POST /api/relationship/entity-info` \u2014 HTTP 422 on violation\\n- **RFC 0004 Amendment 3**: Documents the seam law, the `secured` column semantics, the whitelist (`teleg\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-b1d59e1f521f8f23\",\n    \"filename\": \"about/legends-and-lore/rfcs/0004-identity-and-contact-resolution.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 78,\n    \"deletions\": 6,\n    \"changes\": 84,\n    \"blob_url\": \"https://github.com/Tzeusy/butlers/blob/8a53f7e50f7b471a05218cfd9848a18b23c7331e/about%2Flegends-and-lore%2Frfcs%2F0004-identity-and-contact-resolution.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-b74ef68ab23b8cf6\",\n    \"filename\": \"roster/relationship/api/router.py\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 8,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-ea15be7fc2407bae", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374449, "scanner": "foundry_dataset", "fingerprint": "da7dc76151b55ab013f29ce1377e0eda12cfa6d6dbe3057e18b9bd94dcae1559", "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": "Tzeusy/butlers#2470", "human_labels": ["runtime_failure"], "issue_number": "2470", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-cb81947a8a04e0c4", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2470\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: Tzeusy/butlers#2470\nRepo: Tzeusy/butlers\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-9ea30999e570934e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2470\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2470\\nTitle: feat(security): strict DB role enforcement under hardened posture [bu-dl98i.6.5]\\nBody:\\n## Summary\\n\\n- Adds `is_hardened_posture()` to `src/butlers/db.py` \u2014 reads `BUTLERS_POSTURE` env var; returns `False` by default (dev), `True` when set to `hardened`.\\n- Extends `Database.__init__` with `strict_role_enforcement: bool | None = None` \u2014 `None` auto-detects from posture env var; explicit override for tests/DI.\\n- Under hardened posture, `Database.connect()` raises `RuntimeError` when a butler role is missing or cannot be verified, instead of silently downgrading to shared-user privileges.\\n- Dev posture (default when unset) retains the existing warn-and-continue (fail-open) behaviour \u2014 running stack is never broken.\\n\\n## Changes\\n\\n**`src/butlers/db.py`**\\n- `is_hardened_posture()` utility function\\n- `strict_role_enforcement` parameter on `Database`\\n- Fail-closed `RuntimeError` path in `connect()` under strict mode (two sites: verify-error and role-not-found)\\n\\n**`tests/core/test_db_ssl.py`**\\n- 10 new unit tests covering: pos\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-28457e6fcb0f649b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-a0d45ab814116cb6", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374448, "scanner": "foundry_dataset", "fingerprint": "3f1e3a67e4cc0042ceb1ea107c1512566887072f8af7b9cdf4fab5177bb11d29", "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": "Tzeusy/butlers#2469", "human_labels": ["api_integration_gap", "api_or_backend", "docs_or_claims", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "2469", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-18d8017698c330a5", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 21, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 5, "api_or_backend": 3, "docs_or_claims": 3, "ui_or_frontend": 5, "source_or_other": 5}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2469\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: Tzeusy/butlers#2469\nRepo: Tzeusy/butlers\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: 21\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 3, 'source_or_other': 5, 'test_or_ci': 5, 'ui_or_frontend': 5, 'api_or_backend': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6caf09708c30e887\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2469\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2469\\nTitle: feat(relationship): fact retraction curation \u2014 contradicted + low-confidence facts [bu-uoom8]\\nBody:\\n## Summary\\n\\n- Adds `run_fact_retraction_curation(db_pool)` to `roster/relationship/jobs/relationship_jobs.py` implementing memory curation behavior #3 from bu-34dvk: scans `relationship.facts` for (a) **contradicted facts** \u2014 two or more active rows on the same `(entity_id, predicate)` with different content \u2014 and (b) **low-confidence facts** (confidence < 0.6), then queues each for owner review via `pending_actions` (never auto-retracting).\\n- Registers `pending_actions_curation` and `fact_retraction_curation` job handlers in `src/butlers/scheduled_jobs.py` (the former was defined in bu-pfnak but never registered).\\n- Adds schedule entries in `roster/relationship/butler.toml`: `pending-actions-curation` (daily 04:00) and `fact-retraction-curation` (weekly Mon 05:00).\\n- 17 new integration tests covering contradiction detection, low-confidence threshold, owner-fact protection (same pending_actions path, no auto-retr\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-2585beff5592fc4b\",\n    \"filename\": \"docs/operations/backup-restore.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"added\",\n    \"additions\": 333,\n    \"deletions\": 0,\n    \"changes\": 333,\n    \"blob_url\": \"https://github.com/Tzeusy/butlers/blob/41aa8d0968acb24bd946389bae81aaec50609a3b/docs%2Foperations%2Fbackup-restore.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-59f4fc810a504539\",\n    \"filename\": \"docs/operations/index.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 0,\n    \"changes\": 1,\n    \"blob_url\": \"https://github\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-e33b2b2752f8a2a0", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374447, "scanner": "foundry_dataset", "fingerprint": "f5565ad0a1ed2131969190e583da7232ef529dc37a7f8e8eeb5f934e8582e833", "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": "Tzeusy/butlers#2468", "human_labels": ["data_schema_persistence"], "issue_number": "2468", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-526c1d059b2634c7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2468\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: Tzeusy/butlers#2468\nRepo: Tzeusy/butlers\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: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-158ce306d7702d40\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2468\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2468\\nTitle: feat: backup/restore drill \u2014 restore + verify scripts and operator doc [bu-dl98i.6.6]\\nBody:\\n## Summary\\n\\n- Adds `scripts/pg_restore.sh` \u2014 restores a `.sql.gz` dump into a scratch database (`butlers_restore_verify`) so production is never touched during a drill; auto-detects `.env.dev`/`.env.prod`; accepts `--env-file`, `--host/port/user/password` overrides; `--drop-existing` for idempotent re-runs\\n- Adds `scripts/pg_verify_restore.sh` \u2014 6-check integrity suite (connectivity, core schemas, required tables, owner row, model_catalog, row-count parity vs live); exits 0 only when all checks pass\\n- Adds `docs/operations/backup-restore.md` \u2014 full operator drill with expected output, troubleshooting, cadence guidance, and off-site backup note\\n- Updates `docs/operations/index.md` with cross-link to the new page\\n\\nThe existing `deploy/backup/pg_dump.sh` + `backup-cron` compose service already handle the backup side; this PR closes the missing restore and verification gap flagged in docs/butlers-review-improvement-cycle\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ef794b42ee65b861\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-621dc3557e2e83ac", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374446, "scanner": "foundry_dataset", "fingerprint": "e28af6d581e448780cfb6a8e9d68f78731a7bb036a2da53f41f81baeff34ec3f", "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": "Tzeusy/butlers#2466", "human_labels": ["api_integration_gap"], "issue_number": "2466", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-221bab9b9e1ddf7c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2466\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: Tzeusy/butlers#2466\nRepo: Tzeusy/butlers\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: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-88aaa501f39dcf52\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2466\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2466\\nTitle: refactor: dependency-inversion core/core_tools\u2192modules (4 sites) [bu-zn4vp]\\nBody:\\n## Summary\\n\\nResolves **bu-zn4vp**: decouple `core/` and `core_tools/` from `modules/` via\\ndependency inversion. Core now owns the interfaces; modules register their\\nimplementations during `on_startup`. All **9** dependency-direction violations\\nare removed from the 7.2 contract test allowlist.\\n\\n## The 9 violations resolved\\n\\n| Importer | Old (module) import | New (core) source |\\n|---|---|---|\\n| `core/corrections.py` | `modules.memory.tools.management` | `core.memory_hooks` |\\n| `core/spawner.py` | `modules.pipeline` | `core.routing_context` |\\n| `core/spawner.py` | `modules.memory.tools` | `core.memory_hooks` |\\n| `core_tools/_routing.py` | `modules.pipeline` | `core.routing_context` |\\n| `core_tools/_routing.py` | `modules.approvals.email_guard` | `core.approvals_hooks` |\\n| `core_tools/_notifications.py` | `modules.approvals.email_guard` | `core.approvals_hooks` |\\n| `core_tools/_notifications.py` | `modules.approvals.models` | (literal\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-79491db1d4a4d309\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrenc\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-e6991f7183bdb7c8", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374445, "scanner": "foundry_dataset", "fingerprint": "0419199ac5613efed7b4514b2c29ff47469c4fc54cc05381218ad5ba7de83a0b", "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": "Tzeusy/butlers#2465", "human_labels": ["data_schema_persistence", "test_or_ci", "ui_or_frontend"], "issue_number": "2465", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-49fe74906ce30ed8", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 8, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 5, "ui_or_frontend": 3}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2465\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: Tzeusy/butlers#2465\nRepo: Tzeusy/butlers\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: 8\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 3, 'test_or_ci': 5}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-04a1316016fb5df8\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2465\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2465\\nTitle: fix(identity): resolve owner Telegram across stored format + seed owner handle\\nBody:\\n## Problem\\n\\nThe owner's Telegram identity lives in `public.entity_info` (`telegram_chat_id=206570151`), but identity resolution + the approval gate's owner auto-approve read `relationship.entity_facts` `has-handle` triples (stored canonically prefixed `telegram:<id>`, rel_019). So the owner was unresolvable \u2192 notifications parked \u2192 never delivered.\\n\\n## Relationship to #2467 / #2464\\n\\nWhile this was in flight, the fleet merged **#2467** (telegram **@-username** normalization, `bu-c4f7f`) and **#2464** (executor re-gate guard, `bu-km0y2`). This PR is rebased on top and closes the **two gaps #2467 left**:\\n\\n1. **Numeric / bot chat ids.** The `telegram:`-prefix resolution fallback only fired for `channel_type='telegram_user_client'`. A **numeric** chat id sent via `telegram_send_message` (channel `telegram`) or an inbound **`telegram_bot`** sender never tried the canonical `telegram:<id>` form \u2192 missed the stored triple. Generali\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-d7fed1c6c7a7707c\",\n    \"filename\": \"src/butlers/identity.py\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 42,\n    \"deletions\": 10,\n    \"changes\": 52,\n    \"blob_url\": \"https://github.com/Tzeusy/butlers/blob/57eb8c7f0b8eacbb9f3e8c470d6e300bf2b2d74b/src%2Fbutlers%2Fidentity.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-82b1ac71788243d8\",\n    \"filename\": \"src/butlers/modules/approvals/_shared.py\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 17,\n    \"deletions\": 18,\n    \"changes\": 35,\n    \"blob_url\": \"https://github.com/Tzeusy/butlers/blob/57eb8c7f0b8eacbb9f3e8c470d6e\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-367c4436d10e569b", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374444, "scanner": "foundry_dataset", "fingerprint": "eb870270c7dda79d3b866a3ed6407848bfe9ebc63bf9ec12fc6568bad12541de", "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": "Tzeusy/butlers#2464", "human_labels": ["test_ci_gap"], "issue_number": "2464", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-f181bbdb7b33eb20", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2464\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: Tzeusy/butlers#2464\nRepo: Tzeusy/butlers\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-330aac49d5351e2c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2464\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2464\\nTitle: fix: approval executor re-gate guard \u2014 detect pending_approval sentinel [bu-km0y2]\\nBody:\\n## Summary\\n\\n- **Root cause**: `_dispatch_approved_action` calls `client.call_tool()` on the gate-wrapped MCP surface. For non-`notify` tools, this re-enters `gate_wrapper`, which parks a new phantom `pending_action` and returns `{status: pending_approval}`. The original action was then recorded as `executed/success` \u2014 a silent no-op.\\n- **Fix**: Added a re-gate guard in `_dispatch_approved_action` that detects the `{status: pending_approval}` sentinel in the MCP result and converts it to `success=False` with a descriptive error. The original action is left in `approved` state for retry or investigation.\\n- **Scope**: Only `src/butlers/api/routers/approvals.py`. Does not touch `identity.py` or `resolve_contact_by_channel` (sibling bead bu-c4f7f).\\n\\n## Files changed\\n\\n- `src/butlers/api/routers/approvals.py` \u2014 re-gate guard added in `_dispatch_approved_action` after MCP result parsing\\n- `tests/api/test_api_approvals.py` \u2014 3 new regressio\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-1df63dbe8d86c8d3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-06230f18ef1fb789", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374443, "scanner": "foundry_dataset", "fingerprint": "3ef88b71bf7c6afe7e50598c5a90fe5d8cf17260b8f601afab9f7f18b43dcbff", "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": "Tzeusy/butlers#2463", "human_labels": ["api_integration_gap"], "issue_number": "2463", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c66f590a343ac5f8", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2463\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: Tzeusy/butlers#2463\nRepo: Tzeusy/butlers\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: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-3d3a0f1e43114d22\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2463\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2463\\nTitle: fix(whatsapp): honest link liveness + stale-link restart watchdog\\nBody:\\n## Problem\\n\\n\\\\`Is our whatsapp connector working?\\\\` \u2192 No. The connector reported \\\\`state: healthy\\\\` for ~14h while its WhatsApp link was dead and **0 messages** were ingested.\\n\\nRoot cause is a chain of liveness signals all decoupled from the real whatsmeow socket:\\n\\n1. The Go bridge's event handler had **no \\\\`case *waEvents.StreamReplaced\\\\`**. When another device claimed the session, whatsmeow deliberately does *not* auto-reconnect (and emits no \\\\`Disconnected\\\\`), so \\\\`state\\\\` stayed \\\\`connected\\\\` forever.\\n2. The 30s \\\\`keepalivePump\\\\` published an SSE keepalive **unconditionally**, refreshing \\\\`last_event_at\\\\` *and* keeping the Python SSE stream alive \u2014 so the keepalive-timeout never tripped and \\\\`last_event_at\\\\` always looked fresh.\\n3. \\\\`_get_health_state\\\\` returned \\\\`healthy\\\\` whenever the bridge process was alive and not degraded \u2014 neither of which reflected the dead link.\\n\\nA passive connector with no inbound traffic is indistinguishable f\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-d6ad98d9b2b811cf\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_u\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-34058e0cd41b3e17", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374442, "scanner": "foundry_dataset", "fingerprint": "ad06a5eb1e51e6fb4d31cb25155d0f21c70cf39943048c2570910c4e4bd2145b", "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": "Tzeusy/butlers#2462", "human_labels": ["api_integration_gap"], "issue_number": "2462", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-300beda8d43f0a75", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2462\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: Tzeusy/butlers#2462\nRepo: Tzeusy/butlers\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: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ff37f79a73ec68e5\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2462\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2462\\nTitle: feat(relationship): pending_actions curation \u2014 surface RFC-0017 expiring owner carve-outs\\nBody:\\n## Summary\\n\\n- Adds `run_pending_actions_curation()` to `roster/relationship/jobs/relationship_jobs.py` \u2014 curation pass (behavior #4, bead bu-pfnak) for RFC-0017 \u00a72.3\\n- Scans `pending_actions` rows with `status='pending'` whose `expires_at` is within the next 24 hours, surfaces each to the owner via `propose_insight_candidate()` (durable Telegram notify path)\\n- Extends `roster/relationship/tests/test_memory_curation_job.py` with 17 new integration tests covering detection, message content, dedup, and all skip cases\\n\\n## Design\\n\\n- **Warning window**: 24 h before expiry (`_PENDING_ACTIONS_WARN_HOURS = 24`)\\n- **Priority**: 85 (high urgency)\\n- **dedup_key**: `relationship:pending-action-expiry:{action_id}` (3-segment, broker-validated)\\n- **Skip cases tracked separately**: `skipped_no_expiry` (null expires_at), `skipped_not_approaching` (> 24 h out), `skipped_already_expired` (already past \u2014 broker requires future expires_a\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ea11cac32bd70563\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_prof\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-31a078cbc278a9de", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374441, "scanner": "foundry_dataset", "fingerprint": "2a1a8cb6c3fdac9f25a321ee6c29bdbb04f7f3b179561f776e2984fc60400b7b", "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": "Tzeusy/butlers#2461", "human_labels": ["runtime_failure"], "issue_number": "2461", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-41f52575410f1693", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2461\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: Tzeusy/butlers#2461\nRepo: Tzeusy/butlers\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-5cfd593a774c0abf\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2461\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2461\\nTitle: feat: deployment posture profile + Grafana anon-viewer gating [bu-dl98i.6.1]\\nBody:\\n## Summary\\n\\n- Introduces a `BUTLERS_POSTURE` env var (dev/hardened) resolved at startup via `scripts/compose.sh` or the environment; **default-when-unset is `dev`** so the running stack is not broken.\\n- Gates `GF_AUTH_ANONYMOUS_ENABLED` in `docker-compose.observability.yml` on posture: dev = anon viewer on, hardened = login required (explicit opt-in via `--hardened` flag or `BUTLERS_POSTURE=hardened`).\\n- `docker-compose.observability.yml` uses `${GF_AUTH_ANONYMOUS_ENABLED:-false}` so direct `docker compose` invocations also default to safe (anon off) when the variable is absent.\\n- New `docs/operations/deployment-posture.md` documents the posture concept, what it gates, and how to opt into each posture. Cross-linked from `grafana-monitoring.md` and the operations index.\\n\\n## Test plan\\n\\n- [ ] `./scripts/compose.sh --observability` (no `--hardened`): verify compose output says `posture=dev, anonymous viewer on`; confirm `GF_AUTH_ANONYMOU\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-40cd3984f8bda1f4\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nA\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-bcd2b89cba5cfd98", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374440, "scanner": "foundry_dataset", "fingerprint": "b0fc1ed53af0d2bfc242405a240550c744166c1a6d1fe1aee3d344a6db263e9f", "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": "Tzeusy/butlers#2459", "human_labels": ["test_ci_gap"], "issue_number": "2459", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-801ee63a57fb1efd", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2459\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: Tzeusy/butlers#2459\nRepo: Tzeusy/butlers\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-724c9053ab2dbb2b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2459\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2459\\nTitle: docs(v1-status): fix citation rot \u2014 insight test counts + scheduler symbol [bu-cr5rw]\\nBody:\\n## Summary\\n\\n- **SC-8 test counts** re-verified via `pytest --collect-only`:\\n  - `test_insight_engine.py`: 53 \u2192 **69** (grew in PR #2451: digest channel majority-vote + notify envelope tests)\\n  - `tests/contracts/test_insight_delivery.py`: **removed from table** (deleted in PR #2456 \u2014 was 6 tautological assertions, no production code touched)\\n  - Table total + intro paragraph: 88 \u2192 **98** (11 + 69 + 8 + 10, confirmed by fresh collect)\\n\\n- **SC-3 scheduler line citation** fixed:\\n  - Old: `scheduler.py lines 1521, 1547` \u2014 line 1547 was in the unrelated `_butler_dispatch_gated()` docstring\\n  - New: `scheduler.py::_tick_deferred_notification_pass()` \u2014 symbol ref is rotation-stable; the retry comment lives inside this function\\n\\n## How I counted\\n\\n```\\nuv run pytest tests/modules/test_module_insight_broker.py tests/modules/test_insight_engine.py tests/api/test_system_insight_delivery.py tests/jobs/test_insight_delivery_job.py --collect-on\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-763f7c412095c538\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArti\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-2e7c637c290d7f91", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374439, "scanner": "foundry_dataset", "fingerprint": "913ab9d3f3c1bbed4b35134a16524c65fcd80516a30e7f13eeae22176d354e9d", "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": "Tzeusy/butlers#2458", "human_labels": ["test_ci_gap"], "issue_number": "2458", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c84fdc60d3ad91df", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2458\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: Tzeusy/butlers#2458\nRepo: Tzeusy/butlers\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-71129e5d82f1d4ce\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2458\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2458\\nTitle: docs: fix false env_fallback=True default claim in credential-store.md [bu-9078e]\\nBody:\\n## Summary\\n\\n- **False claim removed**: `docs/data_and_storage/credential-store.md` line 17 said `env_fallback=True` **(the default)** \u2014 this is wrong. The actual default is `False` (`CredentialStore.resolve(self, key, *, env_fallback: bool = False)`). `security.md:118-119` explicitly states \\\"disabled by default\\\".\\n- **Misleading comment fixed**: code example comment `# DB + env fallback` corrected to `# DB-only by default; pass env_fallback=True to also check os.environ` \u2014 `resolve()` without `env_fallback=True` is DB-only, not env-fallback.\\n- **Doctrine-drift guard added**: `tests/contracts/test_doctrine_drift.py` now has Invariant 4 asserting the doc cannot re-introduce the false `env_fallback=True (the default)` claim. Paired with existing Invariant 3 (code side), both ends of the doc\u2194code contract are guarded.\\n\\n## Exact change (line 17)\\n\\n**Before:**\\n```\\n3. **Environment variable** -- Falls back to `os.environ[\\\"TELEGRAM_BOT_TOKEN\\\"\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ea7bdd07c0218003\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArti\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-a7c93e5a68aef111", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374438, "scanner": "foundry_dataset", "fingerprint": "e3fda34e4dc75ce81cd073d996f465c7219b78198cf30df11682c254c10387d6", "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": "Tzeusy/butlers#2456", "human_labels": ["test_ci_gap"], "issue_number": "2456", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-3e7834e204829937", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2456\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: Tzeusy/butlers#2456\nRepo: Tzeusy/butlers\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-c12fb61f68885bfe\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2456\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2456\\nTitle: chore: delete tautological RFC-0011 contract test [bu-jtjnr]\\nBody:\\n## Summary\\n\\n- Deletes `tests/contracts/test_insight_delivery.py` (144 lines, 6 test classes)\\n- Every assertion in the file was tautological: `assert \\\"broker\\\" == \\\"broker\\\"`, `assert 14 == 14`, `assert \\\"0 8 * * *\\\" == \\\"0 8 * * *\\\"`, etc.\\n- The file imported **only** stdlib (`re`, `datetime`) and `pytest` \u2014 no production butlers code was ever imported or called\\n- This gave false coverage confidence for RFC-0011\\n\\n## Decision: DELETE (not rewrite)\\n\\nAll 6 test classes were verified tautological one-by-one. Not a single assertion tested real behaviour:\\n\\n| Class | Example tautology |\\n|---|---|\\n| TestSingleEntryPoint | `entry_point = \\\"propose_insight_candidate\\\"; assert entry_point == \\\"propose_insight_candidate\\\"` |\\n| TestValidationRules | regex patterns matched against their own hardcoded inputs; `now+1h > now` always true |\\n| TestGlobalBudgetCap | `assert \\\"broker\\\" == \\\"broker\\\"` |\\n| TestCooldownEnforcement | `assert \\\"dedup_key\\\" == \\\"dedup_key\\\"` |\\n| TestAdaptiveRatchet\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b04fae1f00a35a52\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccur\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-f626267b2db130d4", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374437, "scanner": "foundry_dataset", "fingerprint": "1dee21b89b11bd581bdcc06b32fed06f4600a8ce7b007bd888c783791d555a7b", "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": "Tzeusy/butlers#2455", "human_labels": ["api_integration_gap"], "issue_number": "2455", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-1836a193bc09092d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2455\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: Tzeusy/butlers#2455\nRepo: Tzeusy/butlers\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: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5ec63088656c2ff0\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2455\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2455\\nTitle: test(contracts): module behavioral boundary contract tests [bu-dl98i.7.3]\\nBody:\\n## Summary\\n\\nAdds `tests/contracts/test_module_boundary.py` \u2014 contract tests for Vision Rule 2:\\n**Modules only add tools \u2014 they never touch core infrastructure.**\\n\\nThis is the behavioral-boundary companion to bu-dl98i.7.2 (import-direction). The two tests are complementary, not overlapping:\\n- **7.2**: import-direction (modules cannot import core-internal symbols)\\n- **7.3** (this PR): behavioral contract \u2014 module *instances* and *source files* respect the infrastructure boundary at runtime\\n\\n## Invariants enforced (9 tests across 27 registered Module subclasses)\\n\\n| # | Assertion | Mechanism |\\n|---|-----------|-----------|\\n| 1 | `register_tools()` is the sole legal MCP tool-registration path | `inspect.signature` on ABC + all 27 concrete `on_startup`/`on_shutdown` overrides \u2014 neither accepts `mcp` |\\n| 2 | No Module instance holds core-infra singletons (`spawner`, `scheduler`, `session_log`, `state_store`) as instance attributes | Bare-c\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-758cb25c8778a3c7\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-b8f2a5e4b2b9256f", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374436, "scanner": "foundry_dataset", "fingerprint": "8b140533dd18a2351319c508717a4210dfa4fac5e0799853be66edf8c37c284e", "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": "Tzeusy/butlers#2454", "human_labels": ["test_ci_gap"], "issue_number": "2454", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-2ffef8911377ace1", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2454\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: Tzeusy/butlers#2454\nRepo: Tzeusy/butlers\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-2ac1151902b4282f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2454\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2454\\nTitle: test(contracts): dependency-direction contract tests [bu-dl98i.7.2]\\nBody:\\n## Summary\\n\\n- Adds `tests/contracts/test_dependency_direction.py` with 4 static-analysis contract tests\\n- Enforces the doctrine rule that core/core_tools must not import from the module plugin layer\\n- Uses `ast` to scan all Python files \u2014 deterministic, fast, no runtime imports of heavy modules\\n\\n## Rule enforced\\n\\nFrom `about/craft-and-care/interfaces-and-dependencies.md` + `about/heart-and-soul/architecture.md`:\\n\\n| Direction | Rule |\\n|---|---|\\n| `butlers.core.*` \u2192 `butlers.modules.*` | **FORBIDDEN** |\\n| `butlers.core_tools.*` \u2192 `butlers.modules.*` | **FORBIDDEN** |\\n| `butlers.modules.*` \u2192 `butlers.core.spawner` | **FORBIDDEN** |\\n\\nThe module system is a plugin layer that sits ABOVE core. Core importing modules inverts the direction, coupling core infrastructure to domain-specific capabilities.\\n\\n## Current-compliance status\\n\\n**10 existing violations** were found in core/* and core_tools/*. All are allowlisted with follow-up issues filed (below). Th\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-f5065f625c90e0ff\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-980b8f280e4e2ab3", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374435, "scanner": "foundry_dataset", "fingerprint": "b9ac5a193ab1860a074f74fa79e28639c849c584505a7c7425420ff4f4c852b0", "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": "Tzeusy/butlers#2452", "human_labels": ["test_ci_gap"], "issue_number": "2452", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-cba6597cc3420e6c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2452\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: Tzeusy/butlers#2452\nRepo: Tzeusy/butlers\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-4ae335867140c9ca\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2452\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2452\\nTitle: test: tighten 3 Cycle-3 smoke assertions to scenario parity [bu-kuyd5]\\nBody:\\n## Summary\\n\\nTightens three Cycle-3 smoke test assertions to match the fuller spec scenario wording (bu-kuyd5). Test-only change \u2014 no production code modified.\\n\\n- **(a) Migration round-trip** (`tests/config/test_migrations.py`): Added `_get_table_columns_sql` helper that queries `information_schema.columns` and compares the full table/column inventory of the round-tripped DB against a fresh empty\u2192head migration. Catches asymmetric downgrade paths that a bare `alembic_version` check cannot detect.\\n\\n- **(b) Daemon clean-shutdown** (`tests/smoke/test_daemon_lifecycle.py`): Added `import asyncio`; injects a pre-completed `asyncio.Future` as `daemon._server_task` so the MCP server cleanup path is exercised; asserts `daemon.db.close` was awaited (DB pool released) and `daemon._server_task is None` (server task cleared) after shutdown.\\n\\n- **(c) Route-inbox scan** (`tests/smoke/test_route_inbox_recovery.py`): Added per-row assertions that each result c\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-5544d3808d333253\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_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/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-892f911dd0cedf24", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374434, "scanner": "foundry_dataset", "fingerprint": "845b00041007da79907369f35726d1779a8e3792fb0726bcfdbfb31043139d6c", "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": "Tzeusy/butlers#2451", "human_labels": ["test_ci_gap"], "issue_number": "2451", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-62e37426337f9ae9", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2451\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: Tzeusy/butlers#2451\nRepo: Tzeusy/butlers\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-8c22c81c9bdaad60\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2451\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2451\\nTitle: test: add insight digest notify envelope + channel majority-vote coverage [bu-07rnz]\\nBody:\\n## Summary\\n\\nAdditive test coverage only \u2014 no broker logic changed.\\n\\n- **Notify envelope assertions** (extending `test_multiple_candidates_delivered_as_digest`): verifies `notify_fn` is called exactly once with the correct metadata envelope \u2014 `insight_count`, `insight_ids` (matching `result[\\\"delivered\\\"]`), `intent=\\\"insight\\\"`, and `channel=None` when candidates carry no channel preference.\\n- **`test_digest_channel_majority_vote`**: 2 telegram + 1 email candidates \u2192 resolved delivery channel is `\\\"telegram\\\"` (clear majority via `Counter.most_common`).\\n- **`test_digest_channel_tie_break_first_candidate_wins`**: 1 telegram (priority 85) + 1 email (priority 70) + 1 no-channel (priority 60) \u2192 `\\\"telegram\\\"` wins the tie. Covers the CPython insertion-order / `max()`-first-seen semantics described in the spec comment at broker.py lines 860-861.\\n\\n## Test plan\\n\\n- [x] `uv run pytest tests/modules/test_insight_engine.py -q` \u2014 **69 passed**\\n- [x]\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e5c389748b9b6e67\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-2ac67bce02316ffe", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374433, "scanner": "foundry_dataset", "fingerprint": "2baf3f5acb35df5d9730cadfe6288da6ed47121f993e8be186f303d2d671b7f5", "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": "Tzeusy/butlers#2448", "human_labels": ["test_ci_gap"], "issue_number": "2448", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-3f80c98bd0e93e2a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2448\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: Tzeusy/butlers#2448\nRepo: Tzeusy/butlers\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-19457556758e960a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2448\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2448\\nTitle: test: doc-code drift CI guards for key doctrine claims [bu-dl98i.4.6]\\nBody:\\n## Summary\\n\\nAdds `tests/contracts/test_doctrine_drift.py` with three lightweight CI guards\\nthat fail when key doctrine documents and the code they describe silently diverge.\\n\\n**Invariant 1 \u2014 pyproject.toml description must not contain \\\"framework\\\"**\\nDoctrine: `about/heart-and-soul/vision.md` \u2014 \\\"Not a framework for building other\\nproducts.\\\" Catches regressions like the one fixed in PR #2446.\\n\\n**Invariant 2 \u2014 Tier 1 table name must be `butler_secrets` in code**\\nDoctrine: `about/heart-and-soul/security.md` \u2014 \\\"Tier 1: System (butler_secrets)\\\".\\nGuards `credential_store._TABLE` from being renamed without updating the doc.\\n\\n**Invariant 3 \u2014 `CredentialStore.resolve()` `env_fallback` must default to `False`**\\nDoctrine: `security.md` \u2014 \\\"only reads os.environ when env_fallback=True is explicitly\\npassed (disabled by default).\\\" The existing contract test checks the parameter *exists*;\\nthis checks its *default value* stays safe.\\n\\n## Non-overlap\\n\\n- No route-in\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-65294e64ab211c46\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_pro\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-6c0761ec1175aca1", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374432, "scanner": "foundry_dataset", "fingerprint": "ae050d37e01046f29e3e464647316eda2df2c5efdb37a4f29ca9c03d8d6ccc96", "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": "Tzeusy/butlers#2446", "human_labels": ["agent_instruction_gap"], "issue_number": "2446", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-47f96a254b6ad96b", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2446\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\nChain evidence:\nIssue/PR evidence chain: Tzeusy/butlers#2446\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\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: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9ce56b13c75ff96a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2446\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2446\\nTitle: chore: align pyproject.toml description with single-user butler doctrine [bu-dl98i.4.1]\\nBody:\\n## Summary\\n\\n- Replaces `\\\"AI agent framework \u2014 long-running MCP server daemons with pluggable modules\\\"` with `\\\"Single-user personal butler system \u2014 autonomous AI daemons managing daily life domains\\\"` in `pyproject.toml`.\\n- Doctrine source: `about/heart-and-soul/vision.md` explicitly states _\\\"Not a framework for building other products. Butlers is the product.\\\"_\\n\\n## Change\\n\\n| Field | Value |\\n|---|---|\\n| **Old** | `AI agent framework \u2014 long-running MCP server daemons with pluggable modules` |\\n| **New** | `Single-user personal butler system \u2014 autonomous AI daemons managing daily life domains` |\\n\\n## Test plan\\n\\n- [x] TOML validity: `python -c \\\"import tomllib, pathlib; tomllib.loads(...)\\\"`\\n- [x] Ruff lint: `ruff check src/ tests/ roster/ conftest.py` \u2014 all checks passed\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-4a088d526ea0d955\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 4, \"generated_claims\": 1}\nHelicopter views: {\"graphs\": 2, \"sc\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-4c417c6bec643fa1", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374431, "scanner": "foundry_dataset", "fingerprint": "7cc8617d99258733c42b56289fdc01b36a3982360f1c319bc626285964503790", "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": "Tzeusy/butlers#2442", "human_labels": ["test_ci_gap"], "issue_number": "2442", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-098b37e8cec81a47", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2442\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: Tzeusy/butlers#2442\nRepo: Tzeusy/butlers\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-ce571f6900518ab8\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2442\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2442\\nTitle: feat(relationship): memory-curation scheduled task \u2014 edge backfill [bu-34dvk]\\nBody:\\n## Summary\\n\\nAdds `memory-curation` as a scheduled job on the relationship butler (Sundays 03:00 UTC, `dispatch_mode=job`), implementing **behavior #1 only**: backfill structured entity edges from existing prose facts.\\n\\n### What ships\\n\\n- **`run_memory_curation(db_pool)`** in `roster/relationship/jobs/relationship_jobs.py` \u2014 scans `relationship.facts` for active rows with `object_entity_id IS NOT NULL` and a relational predicate, proposes edges via `relationship_assert_fact`\\n- **`_infer_predicate_from_prose(predicate, content)`** \u2014 deterministic content-keyword helper for prose predicates (`living_arrangement` \u2192 `partner-of`, `family_relationship` \u2192 `child-of`/`parent-of`/`family-of`)\\n- **Dispatcher + registry entry** in `src/butlers/scheduled_jobs.py`\\n- **`[[butler.schedule]]` entry** in `roster/relationship/butler.toml`\\n- **36 tests** covering: no-op, direct predicates, alias normalisation, prose mapping, idempotency, owner carve-out, f\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-3f6a64d5b6887fad\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-a0b312bc3af27e2e", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374430, "scanner": "foundry_dataset", "fingerprint": "2c72bf9791256fe20fff177e6f48363bae4f89497cfb27a355a63f432e1d6e5d", "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": "Tzeusy/butlers#2441", "human_labels": ["runtime_failure"], "issue_number": "2441", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.76, "repo_full_name": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-294fb57298896a9c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2441\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: Tzeusy/butlers#2441\nRepo: Tzeusy/butlers\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-d57cf67906125abc\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2441\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2441\\nTitle: docs(about): add v1-status.md evidence matrix [bu-dl98i.4.2]\\nBody:\\n## Summary\\n\\n- Adds `about/heart-and-soul/v1-status.md` \u2014 an authoritative status matrix mapping all 8 v1 success criteria to current status (implemented / partial / unproven) with concrete evidence (file paths, tests, PRs).\\n- Includes a component coverage section for all \\\"What v1 Ships\\\" areas (Core Infrastructure, Modules, Connectors, Identity, Situational Awareness, Observability).\\n- Honest assessment: 4 implemented, 2 partial, 2 unproven. Key findings:\\n  - SC-2 (routing accuracy): Discord connector is draft/v2-only; no benchmark on primary model; best recorded benchmark is 80.6% (below 90% threshold).\\n  - SC-8 (proactive insights): EPIC C has landed (PRs #2420, #2427, #2435); 88 tests; marks \\\"implemented, unproven in production\\\" with reasoning.\\n  - Observability note: v1.md names \\\"Grafana Alloy\\\" but the stack uses `otel-collector-contrib` \u2014 documented as a name discrepancy only.\\n\\n## Test plan\\n\\n- [ ] Markdown renders correctly (no broken links to s\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-16862edb7f26c285\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profi\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-105a7c0a0a9a2819", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374429, "scanner": "foundry_dataset", "fingerprint": "fac629a1bae05e310c004cebf3a520db015586f11fff432ce6348e7483d264fa", "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": "Tzeusy/butlers#2440", "human_labels": ["api_integration_gap"], "issue_number": "2440", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-ca6f6a054a365885", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2440\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: Tzeusy/butlers#2440\nRepo: Tzeusy/butlers\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: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2f9cb5d5926c1999\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2440\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2440\\nTitle: fix(relationship): collapse duplicate-contact fan-out on entities list + harden contacts sync\\nBody:\\n## Problem\\n\\nOn `/butlers-dev/entities`, a single entity (e.g. **Ang Zhi Yuan**) rendered as **4 identical rows**, and checking one row's checkbox checked all four. All four rows linked to the same entity ID (`b6ef0035\u2026`) \u2014 they were one entity fanned out, not four people.\\n\\n## Root cause (two distinct bugs)\\n\\n**Display fan-out.** The entities list is entity-keyed, but `compute_tier_ranking()` returns one entry **per contact**. An entity with N linked contacts contributed N copies of its `entity_id`, which `unnest()`-ed into the `computed_tiers` CTE and fanned out the `LEFT JOIN` (no `DISTINCT`) \u2192 N duplicate rows. Because the UI keys rows and checkbox selection by `entity.id`, the duplicates also shared selection state.\\n\\n**Why the duplicate contacts existed.** Not an entity merge (verified: no `merged_into`, no `merge_reviews`). A historical Google Contacts sync path created `public.contacts` rows without atomicall\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-9fadb983565d07e4\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-02b07990a51a83d6", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374428, "scanner": "foundry_dataset", "fingerprint": "a4d0a0182a5b75035c6403766117cc224eb61e03689d85b8572d98b07e280626", "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": "Tzeusy/butlers#2439", "human_labels": ["test_ci_gap"], "issue_number": "2439", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-43cfb7215f313893", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2439\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: Tzeusy/butlers#2439\nRepo: Tzeusy/butlers\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-880e4574af8b7053\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2439\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2439\\nTitle: ci: add fast smoke gate + release evidence to check job [bu-dl98i.5.5]\\nBody:\\n## Summary\\n\\n- Adds a **Smoke tests (fast gate + release evidence)** step to the `check` CI job (`.github/workflows/ci.yml`)\\n- Placed after unit tests, before disk cleanup \u2014 runs before expensive integration tests so smoke failures fail fast\\n- Selects `-m smoke --ignore=tests/e2e` \u2014 no real LLM spawned (MockSpawner + postgres_container only)\\n- Non-zero pytest exit propagates directly to CI (smoke failure **fails the job**)\\n- Emits a `SMOKE-RELEASE-EVIDENCE` log line + writes `.tmp/smoke/release-evidence.json` with `cmd`, `sha`, `duration_s`, `status`, `exit_code`, `skipped_classes`\\n- Uploads the full `.tmp/smoke/` directory (log + JUnit XML + evidence JSON) as the `smoke-release-evidence` CI artifact with 30-day retention via `if: always()`\\n\\n## Test plan\\n\\n- [x] Smoke tests pass locally: `uv run pytest tests/ --ignore=tests/e2e -m smoke -q --tb=short` \u2192 27 passed, 1 skipped\\n- [x] YAML syntax validated: `python3 -c \\\"import yaml; yaml.safe_load(op\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-805041a7049b43a7\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtif\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-92e22d7775a1d17c", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374427, "scanner": "foundry_dataset", "fingerprint": "5d0d08281aaa7b228333bc910a3c7ec7ad8a29e8fd905a2f376c9098e75607cb", "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": "Tzeusy/butlers#2438", "human_labels": ["test_ci_gap"], "issue_number": "2438", "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": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-3e0917dc22d2d1db", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2438\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: Tzeusy/butlers#2438\nRepo: Tzeusy/butlers\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-76f9cc462b8f3598\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2438\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2438\\nTitle: fix(memory): fan out reembed pending counts\\nBody:\\n## Summary\\n- Make unscoped `/api/memory/reembed/pending` aggregate across memory-capable butler pools instead of using an arbitrary pool.\\n- Skip non-memory schemas such as `chronicler`, whose `episodes` table has no `embedding` column.\\n- Add a regression test and update the repo memory note for this fanout contract.\\n\\n## Verification\\n- `uv run pytest tests/api/test_memory.py -q --maxfail=1 --tb=short -k reembed_pending`\\n- `uv run ruff check src/butlers/api/routers/memory.py tests/api/test_memory.py`\\n- `uv run ruff format --check src/butlers/api/routers/memory.py tests/api/test_memory.py`\\n- `./scripts/compose.sh` full dev run with gates/rebuild\\n- `GET http://127.0.0.1:42200/api/health` -> `status=ok`\\n- `HEAD http://127.0.0.1:42173/butlers-dev/` -> `200 OK`\\n- `GET http://127.0.0.1:42200/api/oauth/google/credentials` -> `oauth_health=connected`\\n- `GET http://127.0.0.1:42200/api/memory/reembed/pending` -> counts returned, total `5489`\\n- `GET http://127.0.0.1:42200/api/butler\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-7c35aec1f2146f25\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArt\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-e9c2f12ec6968515", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374426, "scanner": "foundry_dataset", "fingerprint": "ddfcb26159cbaacefdd761416c3bd434abaf337e2aeef264dcfef251dacc0275", "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": "Tzeusy/butlers#2434", "human_labels": ["data_schema_persistence"], "issue_number": "2434", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-6f059a2a620db712", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2434\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: Tzeusy/butlers#2434\nRepo: Tzeusy/butlers\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: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-63542e9335401491\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2434\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2434\\nTitle: feat(relationship): show rank-based Dunbar tier in entities list\\nBody:\\n## What\\n\\nThe `/entities` list now displays and sorts by the **rank-based computed Dunbar tier**, not just the manually-pinned override. Previously almost every entity showed `\u2014` because the endpoint only read the `dunbar_tier_override` fact.\\n\\n## Why\\n\\nFollow-up to #2421 (tier-primary sort). With nearly every `tier` NULL, that sort degraded to the old person\u2192org\u2192last_seen order, and the page looked unsorted. The relationship butler already has a complete rank-based scoring engine (`compute_tier_ranking`) that buckets every listed contact into a Dunbar circle and **defaults zero-interaction contacts to 1500 (Familiar Faces)** \u2014 exactly the default the user expected \u2014 but it was never wired into the entities list (spec task 6 of the archived `dunbar-tier-scoring` change was never implemented).\\n\\n## Change\\n\\n`roster/relationship/api/router.py` \u2014 `GET /api/relationship/entities`:\\n- Calls `compute_tier_ranking(pool)` and forwards the result into \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-34edd23b89895dbd\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurre\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-6587dff66df3d737", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374425, "scanner": "foundry_dataset", "fingerprint": "3d767853768815cbc543e5d91933321b0df94496a5dbcf53d33e333fab163f02", "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": "Tzeusy/butlers#2432", "human_labels": ["test_ci_gap"], "issue_number": "2432", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-658249f35a87e503", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2432\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: Tzeusy/butlers#2432\nRepo: Tzeusy/butlers\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-ce72753caeb8dc3f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2432\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2432\\nTitle: feat(security): honest auth-status health indicator [bu-dl98i.1.4]\\nBody:\\n## Summary\\n\\n- Extends `GET /api/health` to include an `auth` posture object with two booleans: `api_key_auth_enabled` (true when `ApiKeyMiddleware` is active) and `export_secret_insecure_default` (true when `DASHBOARD_EXPORT_SECRET` is absent). **No secret values are ever included** \u2014 booleans only.\\n- Adds a `SecurityPostureTile` component on the System page (`/system`) that surfaces these indicators to the operator with clear Enabled/Disabled/Configured/Insecure labels.\\n- Reuses existing detection: `_effective_api_key` from the `create_app()` closure for the API key gate; `os.environ.get(\\\"DASHBOARD_EXPORT_SECRET\\\")` read live for the export secret posture.\\n\\n## Test plan\\n\\n- [ ] Backend: `uv run pytest tests/api/test_auth_status_health.py -q` \u2014 7 tests covering both set/unset states for each field, no-secret-material canary, both `/api/health` and `/health` paths\\n- [ ] Backend: existing `test_api_key_middleware.py` unchanged and green (14 total)\\n- [\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e8ce464c29b30532\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifa\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-2c6e898711df6c8e", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374424, "scanner": "foundry_dataset", "fingerprint": "0097a49e4f574174b51ad9ba4eaf5e73757f195cb98b2521f36d942a6e0ecf81", "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": "Tzeusy/butlers#2430", "human_labels": ["api_integration_gap"], "issue_number": "2430", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-b02245fe55654cf5", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2430\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: Tzeusy/butlers#2430\nRepo: Tzeusy/butlers\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: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1aad9465755ee903\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2430\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2430\\nTitle: spec(relationship): memory-curation capability + extraction edge emission\\nBody:\\nOpenSpec change **`relationship-memory-curation`** \u2014 the signed-off spec delta from a `/th-projects` feature-request funnel. Spec only (no implementation); builds on the active `relational-edges-single-home`.\\n\\n## Funnel summary\\n- **Size:** Large (new capability + cross-skill behavior + doctrine-adjacent autonomy).\\n- **G2 Doctrine:** Aligned \u2014 Rule 4 (judgment in ephemeral LLM sessions, not the daemon) \u2192 curation is a scheduled *session*; vision's autonomy-on-schedules; staffer governance \u2192 domain capability on the relationship butler, not a standalone staffer.\\n- **G3 Topology:** new `memory-curation` skill + `butler.toml` schedule + edits to `fact-extraction` skill; writes through existing `relationship_assert_fact` (owner carve-out \u2192 `pending_actions`). No API contract change.\\n- **G5 Spec:** `relationship-curation` (NEW, 6 reqs) + `relationship-facts` (3 ADDED reqs). `openspec validate --strict` passes.\\n\\n## Owner decisions captured\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-981f0cfe00a6595a\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-22f7691529287c22", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374423, "scanner": "foundry_dataset", "fingerprint": "d5211de9ea4676519d2f2bc38f840dfa78d7c462e866d205dceca4b72ebf1c86", "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": "Tzeusy/butlers#2429", "human_labels": ["test_ci_gap"], "issue_number": "2429", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-93ec6e30e92c8a0b", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2429\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: Tzeusy/butlers#2429\nRepo: Tzeusy/butlers\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-dfdb47f946a2a390\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2429\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2429\\nTitle: test(smoke): clean-start + dashboard-health smoke tests [bu-dl98i.5.2]\\nBody:\\n## Summary\\n\\n- **`tests/smoke/test_clean_start.py`**: Verifies `butlers` + `butlers.cli` importable, `butlers --help` exits 0 and exposes the `run` command (via CliRunner), and the deployment form `uv run --frozen --no-dev butlers --help` resolves (skipped with reason if `uv` not in PATH).\\n- **`tests/smoke/test_health.py`**: Verifies `GET /api/health` and `GET /health` return 200 `{\\\"status\\\":\\\"ok\\\"}` after startup, succeed WITHOUT an API key (they're in `_PUBLIC_PATHS`), and return 503 before lifespan startup completes.\\n- **`src/butlers/api/app.py`**: Adds `app.state.ready` flag \u2014 `False` in `create_app`, `True` after lifespan startup, `False` on shutdown. Health endpoint now returns 503 `{\\\"status\\\":\\\"starting\\\"}` until startup completes.\\n- Updates 4 existing tests (misc_endpoints, api_key_middleware, dashboard_audit_middleware) to set `app.state.ready = True` when expecting a healthy response without triggering the ASGI lifespan.\\n\\n## Test plan\\n\\n- [ \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-8197f0275ab096b9\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nA\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-f7e9ab787fbc87bc", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374422, "scanner": "foundry_dataset", "fingerprint": "bd3b143e7e4d259722c846439cdfc3054e003c1c8721108903a4baad6dd39bb8", "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": "Tzeusy/butlers#2428", "human_labels": ["test_ci_gap"], "issue_number": "2428", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-a05e4644d6b66dee", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2428\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: Tzeusy/butlers#2428\nRepo: Tzeusy/butlers\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-3f87e4811ff7e88c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2428\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2428\\nTitle: test(smoke): extend migration tests with smoke-tier empty->head + down/up round-trip [bu-dl98i.5.3]\\nBody:\\n## Summary\\n\\n- Extends `tests/config/test_migrations.py` with two `@pytest.mark.smoke` tests\\n- `test_core_migration_smoke_empty_to_head`: runs `run_migrations(chain='core')` on a fresh DB and asserts `alembic_version` records the core head revision\\n- `test_core_migration_smoke_downgrade_upgrade_round_trip`: runs to head, downgrades by one step, upgrades back, asserts `alembic_version` is at core head\\n\\n## Design\\n\\n- Reuses existing `create_migration_db` + `bootstrap_extensions` + `_latest_core_revision()` helpers \u2014 zero new infrastructure\\n- Intentionally avoids re-asserting table/schema presence already covered by the integration tests in the same module (per spec: no duplication)\\n- Module-level `pytestmark` (`integration` + `skipif(not docker)`) applies automatically \u2014 smoke tests need Docker for postgres\\n\\n## Test plan\\n\\n- [x] `uv run ruff check tests/config/test_migrations.py` \u2014 clean\\n- [x] `uv run ruff format --chec\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-14aabd7a15a91b19\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArt\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-a36fd6c8451d0a88", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374421, "scanner": "foundry_dataset", "fingerprint": "e59f44895c642788b45773db6bf4cc8294e16c32d4e0beff542fea2854e793fe", "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": "Tzeusy/butlers#2426", "human_labels": ["test_ci_gap"], "issue_number": "2426", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-a5eed44af35d725d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2426\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: Tzeusy/butlers#2426\nRepo: Tzeusy/butlers\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-ae4095b9f6c1961a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2426\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2426\\nTitle: test(security): lock-in ApiKeyMiddleware opt-in auth acceptance suite [bu-dl98i.1.3]\\nBody:\\n## Summary\\n\\n- Add `tests/api/test_api_key_middleware.py` \u2014 a dedicated four-case lock-in suite for the opt-in API-key authentication middleware.\\n- No production code changes: the `ApiKeyMiddleware` implementation and `create_app` wiring were already correct.\\n- Fills two test gaps in the existing coverage: *wrong key value \u2192 401* and */health (non-api prefix) health bypass*.\\n\\n## What this test file covers\\n\\n| Case | Test | Was covered? |\\n|------|------|-------------|\\n| Bad/missing key \u2192 401 (missing header) | `test_bad_or_missing_key_returns_401[missing-header]` | Partially (misc_endpoints) |\\n| Bad/missing key \u2192 401 (wrong value) | `test_bad_or_missing_key_returns_401[wrong-key]` | **No \u2014 new** |\\n| Bad/missing key \u2192 401 (empty string) | `test_bad_or_missing_key_returns_401[empty-key]` | **No \u2014 new** |\\n| Correct key \u2192 pass-through | `test_correct_key_passes_through` | Partially (misc_endpoints) |\\n| `/api/health` bypasses auth | `tes\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ef1eda3dbc0b32b6\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArti\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-69d67e3f0071489c", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374420, "scanner": "foundry_dataset", "fingerprint": "3236573383d818acd584c5e555cb6f62a97d8199128ba4e78dac1e5c2c918954", "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": "Tzeusy/butlers#2424", "human_labels": ["test_ci_gap"], "issue_number": "2424", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-5c6eb41142705681", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2424\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: Tzeusy/butlers#2424\nRepo: Tzeusy/butlers\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-a0ad8fce7bf3b23c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2424\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2424\\nTitle: test(security): route-table contract forbidding legacy reveal endpoint [bu-dl98i.1.2]\\nBody:\\n## Summary\\n\\n- Adds `tests/api/test_no_reveal_route_contract.py` \u2014 a structural contract test that enumerates the **mounted route table** produced by `create_app()` and asserts no route matches the removed `GET /api/butlers/{name}/secrets/{key}/reveal` pattern.\\n- Uses duck-typed recursive traversal of `_IncludedRouter.original_router.routes` to discover all 500+ sub-router routes (not just the two top-level health routes).\\n- 4 tests: sanity guard on enumeration depth, primary GET-pattern invariant, belt-and-suspenders any-method check, and HTTP 404 via ASGI for 3 representative concrete paths.\\n\\n## Why route-table vs string grep?\\n\\nA grep on source files can be fooled by comments, dead code, or a new file in a different module. This test asserts the invariant at the routing layer \u2014 if the endpoint ever gets re-added anywhere, it appears in FastAPI's route table and this test fails immediately.\\n\\n## Test plan\\n\\n- [x] `uv run pytest te\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-0f849bcec969ce27\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifa\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-850720e9f83b412e", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374419, "scanner": "foundry_dataset", "fingerprint": "72ae1e5abf6dffe101cd3a56c7d8e032980a36aaca8f369674df120bada40281", "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": "Tzeusy/butlers#2423", "human_labels": ["test_ci_gap"], "issue_number": "2423", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-d6dec2a3de0e7825", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2423\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: Tzeusy/butlers#2423\nRepo: Tzeusy/butlers\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-db1bbc1f0a46abba\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2423\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2423\\nTitle: fix(security): export signer refuses dev-secret default outside dev [bu-dl98i.1.5]\\nBody:\\n## Summary\\n\\n- **Removes the literal `'dev-secret'` fallback** from `_sign_token` in `data_ops.py`. This string was a known default that would make all export tokens forgeable in production.\\n- **In production** (`ENV` starts with `'prod'`): `_sign_token` now raises `RuntimeError` when `DASHBOARD_EXPORT_SECRET` is unset \u2014 explicitly refusing to sign rather than silently using a forgeable key.\\n- **In dev/test** (any other `ENV` value, including unset): falls back to an explicit non-literal dev secret (`_DEV_EXPORT_SECRET`). Tokens remain forgeable in dev, but no known literal leaks into production.\\n- **Startup check** in `app.py` now distinguishes: production without secret \u2192 `ERROR` + `\\\"REFUSED at runtime\\\"` message; dev without secret \u2192 `WARNING` (unchanged behaviour except message text updated to drop `'dev-secret'` reference).\\n\\n## Files changed\\n\\n- `src/butlers/api/routers/data_ops.py` \u2014 adds `_DEV_EXPORT_SECRET`, `_is_production()`\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-d40399f310b83001\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifac\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-ae0e104afd917192", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374418, "scanner": "foundry_dataset", "fingerprint": "e3be91d533adf32f3ddf62d57f5d71a9cd6bf6bd4e09461a8b1512015b584142", "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": "Tzeusy/butlers#2422", "human_labels": ["test_ci_gap"], "issue_number": "2422", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-b24dfff3291fba3e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2422\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: Tzeusy/butlers#2422\nRepo: Tzeusy/butlers\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-528ce78ddfd44089\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2422\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2422\\nTitle: feat(approvals): resolve entity UUIDs to names in approval dossier [bu-4ni21]\\nBody:\\n## Problem\\n\\nOn `/approvals`, a *Relationship Assert Fact* card asked the owner to approve `works-at = 9510c225-\u2026` on their own entity \u2014 but nothing in the UI resolved that UUID to a name, so there was no way to tell who/what the fact referenced before deciding. (In this case: subject `c64f5aed\u2026` = **Tze How Lee** (owner), object `9510c225\u2026` = **Qube Research & Technologies**.)\\n\\nRoot cause: `relationship_assert_fact` queues evidence/`tool_args` with raw UUIDs, the approvals API serves them verbatim, and the dossier renders them as-is.\\n\\n## Fix\\n\\nResolve entity UUIDs at the **API read layer** (so it works for already-queued approvals, no backfill) and render them.\\n\\n- **Backend** \u2014 `EntityRef` model + `ApprovalDetail.referenced_entities`; new generic `_resolve_referenced_entities()` helper that scans a pending action's `tool_args` for any value that parses as a UUID, batch-resolves them against `public.entities` (`canonical_name`, `entity_ty\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-4d546732b4cbdc08\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-4318cf0ddf89d8e7", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374417, "scanner": "foundry_dataset", "fingerprint": "0fe617f6b5bda976a481a02ea964ed8fc6b56c562446111f18317324f6e6fbec", "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": "Tzeusy/butlers#2421", "human_labels": ["api_integration_gap"], "issue_number": "2421", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c1a4a73f1833eeba", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2421\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: Tzeusy/butlers#2421\nRepo: Tzeusy/butlers\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: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-35b0b648f373cb85\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2421\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2421\\nTitle: feat(relationship): sort entities by Dunbar tier (inner circle first)\\nBody:\\n## What\\n\\nThe `/entities` page now sorts by **Dunbar tier** as the primary key \u2014 the innermost circle leads the entire list, so the people closest to the user (Support Clique = 5 \u2192 Sympathy Group = 15 \u2192 \u2026) appear at the top regardless of entity type.\\n\\n## Why\\n\\nRequested: entities should be ordered so the highest-priority relationships (closest Dunbar circle) are at the top. Previously the list sorted by `entity_type` first (persons \u2192 orgs \u2192 other) with tier only breaking ties *within* persons, so the inner circle was not visibly leading the page.\\n\\n## Change\\n\\n`roster/relationship/api/router.py` \u2014 `GET /api/relationship/entities` `ORDER BY`:\\n\\n- **Primary:** `tier ASC NULLS LAST` \u2014 smallest tier number = innermost circle first. (In Dunbar's circles, `5` = Support Clique is closest; `1500` = Familiar Faces is most distant.)\\n- Untiered entities (no pinned `dunbar_tier_override`) fall to the bottom, where the existing `persons \u2192 orgs \u2192 other` g\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-7c831cd13616446a\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_pr\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-ca125d9d91a46af5", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374416, "scanner": "foundry_dataset", "fingerprint": "27200896d07c29e7a78b7694c810cfc44b6b10ad268812149d1603d37374ea3a", "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": "Tzeusy/butlers#2420", "human_labels": ["runtime_failure"], "issue_number": "2420", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-abb1de2eaffad180", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2420\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: Tzeusy/butlers#2420\nRepo: Tzeusy/butlers\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-6accf8a2c2611a80\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2420\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2420\\nTitle: feat(switchboard): wire durable notify path into insight delivery cycle [bu-dl98i.3.1]\\nBody:\\n## Summary\\n\\n- **`src/butlers/scheduled_jobs.py`**: Add `_build_switchboard_insight_notify_fn()` factory that resolves the owner's delivery channel recipient from `public.entity_info` (telegram or email) and dispatches via `butlers.tools.switchboard.notification.deliver.deliver()`. Update `_run_switchboard_insight_delivery_cycle_job` to pass the real `notify_fn` instead of `None` \u2014 delivery no longer skips when candidates are pending.\\n- **`roster/switchboard/tools/insight/broker.py`**: Compute the majority delivery channel from selected candidates' `channel` field (majority vote, ties broken by first candidate per spec) and include it as `notify_metadata[\\\"channel\\\"]` so the `notify_fn` dispatches to the right channel.\\n- **`tests/jobs/test_insight_delivery_job.py`**: 10 new unit tests covering the wiring (non-None notify_fn), channel fallback/translation, `failed\u2192error` status translation, no-recipient error handling, and brok\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-665859e857c7e251\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArti\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-df154daa935d7fb8", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374415, "scanner": "foundry_dataset", "fingerprint": "865f175ca522ccfc839e4261c62f98010b8c4a2d016def356e4a226658b4538a", "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": "Tzeusy/butlers#2418", "human_labels": ["test_ci_gap"], "issue_number": "2418", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-ed2ed8b6f358d166", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2418\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: Tzeusy/butlers#2418\nRepo: Tzeusy/butlers\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-22b388a401e9ed11\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2418\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2418\\nTitle: feat(test): add smoke test tier scaffolding [bu-dl98i.5.1]\\nBody:\\n## Summary\\n\\n- Registers the `smoke` pytest marker in `pyproject.toml` so `pytest -m smoke` works without unknown-marker warnings\\n- Creates `tests/smoke/` with a `conftest.py` that documents the tier contract and wires `MockSpawner` + session-scoped `postgres_container`\\n- Adds `tests/smoke/test_scaffolding.py` with 5 scaffold tests: import bootstrap, MockSpawner intercept invariant (2 tests), postgres_container reachability, and `smoke_db_url` fixture validation\\n\\nNo smoke test in this tier spawns a real LLM CLI. Docker is allowed for DB-backed assertions but guarded with `skipif(not docker_available)`.\\n\\n## Test plan\\n\\n- [x] `uv run ruff check src/ tests/ roster/ conftest.py --output-format concise` \u2014 clean\\n- [x] `uv run ruff format --check src/ tests/ roster/ conftest.py -q` \u2014 clean\\n- [x] `uv run pytest --co -q -m smoke` \u2014 collects 5 tests, zero marker warnings\\n- [x] `uv run pytest -m smoke -q --tb=short` \u2014 5 passed\\n- [x] `uv run pytest --co -q` \u2014 full coll\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e28ecee16c8dca7b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArti\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-a1ca983aaf4898ae", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374414, "scanner": "foundry_dataset", "fingerprint": "ebbe713bda3a6c08a5b3e0c1cae60abf7cde9227524d6c3dc5a1003a59d8a275", "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": "Tzeusy/butlers#2417", "human_labels": ["test_ci_gap"], "issue_number": "2417", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-200735b199152664", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2417\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: Tzeusy/butlers#2417\nRepo: Tzeusy/butlers\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-f66e24f4b383802f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2417\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2417\\nTitle: security(secrets): remove legacy plaintext-reveal endpoint [bu-dl98i.1.1]\\nBody:\\n## Summary\\n\\n- **Removes** `GET /api/butlers/{name}/secrets/{key}/reveal` from the legacy secrets router \u2014 the only endpoint that returned raw credential values through the dashboard API\\n- **Cleans up** all frontend callers: `revealSecret` API fn, `useRevealSystemSecret` hook, reveal button + state in `PageSystem`/`PageCli`, reveal pre-fill in `SecretFormModal`, eye-icon branch in `SecretsTable`\\n- **Drops** the `RevealMode` type (`\\\"eye\\\" | \\\"hover\\\" | \\\"never\\\"`) which was only meaningful for the now-removed feature\\n- **Adds** `tests/api/test_secrets_legacy_no_reveal.py` \u2014 3 tests asserting the route returns 404 and no plaintext leaks in response body\\n\\n## Motivation\\n\\nThe legacy reveal route violated the write-only contract specified in `openspec/specs/dashboard-admin-gateway/spec.md` (\u00a7 Secrets and Credentials Management: \\\"Write-only value masking: no actual value retrieval\\\"). This is a P0 security bug (bu-dl98i.1.1): raw secrets must never be fe\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-6f2c39d08b9dd549\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nA\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-99df9ef7185c8fe4", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374413, "scanner": "foundry_dataset", "fingerprint": "138f4e1d2c4b5d584ec1372d4aa28069672cd6a47d3f17f46853dfa3b5ddb4b3", "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": "Tzeusy/butlers#2416", "human_labels": ["build_install_failure"], "issue_number": "2416", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-f135b2860ead1538", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2416\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\nChain evidence:\nIssue/PR evidence chain: Tzeusy/butlers#2416\nRepo: Tzeusy/butlers\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: {'build_install_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-aa97b44c50ce1109\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"build_install_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2416\",\n    \"text\": \"GitHub feedback: build_install_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2416\\nTitle: chore(build): frozen sync in CI/Docker + stale-lock check [bu-dl98i.2.2]\\nBody:\\n## Summary\\n\\n- **CI**: add `uv lock --check` step \u2014 fails fast if `uv.lock` is stale relative to `pyproject.toml`\\n- **CI**: `uv sync --dev` \u2192 `uv sync --frozen --dev` \u2014 never re-resolve dependencies at build time\\n- **Dockerfile**: add `--frozen` to both `uv sync` branches in the `RUN` step (`ENTRYPOINT` already had it)\\n\\nRe-resolution at build time defeats reproducibility. With these changes a stale lockfile is a hard CI failure, not a silent fix-up that makes builds non-reproducible.\\n\\n## Test plan\\n\\n- [ ] CI `check` job: `uv lock --check` passes (lock committed in #2415 is current)\\n- [ ] CI `check` job: `uv sync --frozen --dev` installs from the committed lockfile without re-resolving\\n- [ ] Dockerfile: `uv sync --frozen` in build step enforces the lockfile; `uv run --frozen` in ENTRYPOINT already present\\n- [ ] A future PR that changes `pyproject.toml` without updating `uv.lock` will fail the `uv lock --check` step\\n\\nCloses bu-dl98i.2.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-dafaff2fa0d9576d\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_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/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-f450ac3c69c6010d", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374412, "scanner": "foundry_dataset", "fingerprint": "abe994b74abfc2058bde8a6271ae20d2bc134ece9003556c93455ddf7e8a9a36", "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": "Tzeusy/butlers#2415", "human_labels": ["build_install_failure"], "issue_number": "2415", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-2039a2cbb9fcac76", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2415\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\nChain evidence:\nIssue/PR evidence chain: Tzeusy/butlers#2415\nRepo: Tzeusy/butlers\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: {'build_install_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-36d91af0c76cfbdd\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"build_install_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2415\",\n    \"text\": \"GitHub feedback: build_install_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2415\\nTitle: chore(build): commit uv.lock + fix stale pyproject comment [bu-dl98i.2.1]\\nBody:\\n## Summary\\n\\n- Remove `uv.lock` from `.gitignore` so the lockfile is tracked by git\\n- Commit the freshly-generated `uv.lock` (209 packages, 4269 lines)\\n- Update the stale `[tool.uv]` comment in `pyproject.toml` to accurately reflect that the lockfile is now committed \u2014 the `NO committed lockfile` claim was false; the `required-environments x86_64-linux` resolver hint is preserved unchanged\\n- Follow-up bead `bu-dl98i.2.2` will switch CI and Docker to `--frozen` to enforce the lockfile\\n\\n## Test plan\\n\\n- [x] `git ls-files uv.lock` shows the file as tracked\\n- [x] `uv lock --check` resolves cleanly (209 packages, 5 ms)\\n- [x] `ruff check` \u2014 all checks passed\\n- [x] `ruff format --check` \u2014 all checks passed\\n- [x] `required-environments = [\\\"sys_platform == 'linux' and platform_machine == 'x86_64'\\\"]` line unchanged\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c95caa76f0bfb565\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 4, \"generated_claims\": 1}\nHelicopter views\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-8cee612b86b05261", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374411, "scanner": "foundry_dataset", "fingerprint": "8b4639fdbc20da5cf6a6f59154bf5a6fdcec65d70b6ce3d8345dd4a071095e68", "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": "Tzeusy/butlers#2413", "human_labels": ["runtime_failure"], "issue_number": "2413", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-2c8891977fe25617", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2413\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: Tzeusy/butlers#2413\nRepo: Tzeusy/butlers\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-f81270a26a40c16e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2413\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2413\\nTitle: fix: register module in sys.modules before exec_module in _load_assert_fact_fn [bu-hzz09]\\nBody:\\n## Problem\\n\\n`_load_assert_fact_fn()` in `src/butlers/scripts/backfill_edge_facts_to_entity_facts.py` called `spec.loader.exec_module(mod)` **without** first registering the module in `sys.modules`.\\n\\n`relationship_assert_fact.py` uses `@dataclass` (`AssertResult`). Python's dataclass machinery resolves `KW_ONLY` via `sys.modules.get(cls.__module__).__dict__`. For the unregistered synthetic module `_roster_assert_fact`, `sys.modules.get(...)` returns `None`, causing:\\n\\n```\\nAttributeError: 'NoneType' object has no attribute '__dict__'\\n```\\n\\nThis made the script crash for any real (non-test) invocation. The existing tests all injected `_assert_fact`, so the loader was never exercised.\\n\\n## Fix\\n\\n- Add `sys.modules[spec.name] = mod` **before** `spec.loader.exec_module(mod)` in `_load_assert_fact_fn()` (mirrors the pattern already used correctly in the test file's own `_load_script()`).\\n- Add `test_load_assert_fact_fn_registers_mo\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-fbd32d3643d63ce6\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-6bb46a382c8e8ad3", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374410, "scanner": "foundry_dataset", "fingerprint": "58babf7116ef0e0b08aceb669171651ee36477ca2fbf993e5ca08f8c1f587f45", "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": "Tzeusy/butlers#2412", "human_labels": ["runtime_failure"], "issue_number": "2412", "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": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a2a6d0249a3464df", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2412\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: Tzeusy/butlers#2412\nRepo: Tzeusy/butlers\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-131e8147355ea501\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2412\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2412\\nTitle: docs(openspec): review-remediation spec deltas (4 changes)\\nBody:\\n## Summary\\n\\nConcretizes the verified findings from `docs/butlers-review-improvement-cycles.md` (an external source-artifact audit, **independently re-verified against HEAD** before acceptance) into four OpenSpec changes. Two findings were deliberately **tempered against `about/heart-and-soul` network-isolation doctrine** rather than adopted verbatim, and two findings were routed to beads-only (no spec delta) because the spec already exists or no behavioral delta applies.\\n\\nThis PR contains **planning artifacts only** (OpenSpec changesets) \u2014 no source code changes. Execution is tracked via beads.\\n\\n## Changes\\n\\n| Change | Cycle | Capability | Gist |\\n|---|---|---|---|\\n| `harden-secrets-and-dashboard-honesty` | 0 | `dashboard-admin-gateway` (delta) | Remove legacy raw-secret reveal GET (`secrets.py:158-176`) + route-introspection contract test; **opt-in** defense-in-depth API-key auth (not fail-closed) + honest auth-status indicator; export signer refuses `\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-cf97fb85da4eafde\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-83e4ef6b2f67c811", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374409, "scanner": "foundry_dataset", "fingerprint": "f37361939869e8cd07ffe479aadadc657824ae8454c74b4e074311289ffdbe78", "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": "Tzeusy/butlers#2411", "human_labels": ["test_ci_gap"], "issue_number": "2411", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-5bd854f71f68d472", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2411\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: Tzeusy/butlers#2411\nRepo: Tzeusy/butlers\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-66f020f33177563d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2411\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2411\\nTitle: chore(relationship): self-guarding DROP of quick_facts [bu-6d5v2]\\nBody:\\n## Summary\\n\\n- Adds `rel_025`: drops `relationship.quick_facts` behind a zero-row gate \u2014 refuses with `RuntimeError` if any rows remain so data is never silently lost\\n- `to_regclass` guard makes the upgrade idempotent (safe no-op when the table is already absent)\\n- `downgrade()` recreates the original DDL from `rel_001` (id, contact_id FK, key, value, timestamps, unique constraint)\\n- Removes `quick_facts` from the schema-matrix test (`CHAIN_TABLES[\\\"relationship\\\"]`) and from the vCard fixture truncate list\\n- Relationship chain now has exactly one head: `rel_025` \u2192 `rel_024`\\n\\n## Context\\n\\n`quick_facts` was deprecated: its readers/writers were removed in bu-er779 (#2404) and vCard ORG/TITLE now routes to `public.contacts`. This migration is the final removal.\\n\\n## Test plan\\n\\n- [x] `uv run ruff format --check` \u2014 clean\\n- [x] `uv run ruff check` \u2014 clean\\n- [x] `pytest tests/migrations/test_drop_quick_facts_migration.py tests/config/test_migration_contract.py\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-31bddd21366f6293\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-4046344400f3529c", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374408, "scanner": "foundry_dataset", "fingerprint": "bf7a9ef3d93bc5f8c5ce253f3f621b44de87b023773150674c82015f76586b89", "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": "Tzeusy/butlers#2409", "human_labels": ["test_ci_gap"], "issue_number": "2409", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-194cd55ac38bafec", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2409\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: Tzeusy/butlers#2409\nRepo: Tzeusy/butlers\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-5dc95ccc47df1c89\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2409\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2409\\nTitle: fix(status-board): honesty drift bundle \u2014 aria, nav, clock, cruft [bu-3dvwb]\\nBody:\\n## Summary\\n\\nBundles 5 low-severity honesty/correctness fixes for the /butlers/ status board.\\n\\n- **Aria honesty** (#1): aria-label was hardcoding \\\"recently\\\" for the LAST KPI regardless of actual run age. Now calls `formatRelativeCompact` (exported from `time.tsx`) to produce the same truthful label (\\\"3d ago\\\", \\\"1h ago\\\", \\\"now\\\") that sighted users see via `<Time mode=\\\"relative-compact\\\">`.\\n- **React-router nav** (#2): cells navigated via `<a href>` and `window.location.href` (full page reloads). Converted to `<Link to>` and `useNavigate()`. The router's `basename` (configured with `BASE_URL` in `router-config.tsx`) handles path prefixes automatically, removing the manual `basePath` workaround.\\n- **Rounding convention** (#3): both footer (`totalSpendToday.toFixed(2)`) and cells (`costToday.toFixed(2)`) already format raw values \u2014 no code change needed. Added a comment in `BoardFooter.tsx` documenting the known \u2264$0.01/cell rounding property and\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ee7092e0a0ee3a6f\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nAr\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-925a8adf6b196a82", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374407, "scanner": "foundry_dataset", "fingerprint": "bff6887a36cfbb944a6cdca4f4e6d8a649c1f74e995ac767b1dbe83c162d26d2", "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": "Tzeusy/butlers#2408", "human_labels": ["test_ci_gap"], "issue_number": "2408", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c500cd3c762945fa", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2408\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: Tzeusy/butlers#2408\nRepo: Tzeusy/butlers\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-b6f449abf217c0af\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2408\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2408\\nTitle: fix(status-board): align footer SESSIONS\u00b724H with per-cell hourlyTotal [bu-9at1k]\\nBody:\\n## Problem\\n\\nThe board footer SESSIONS\u00b724H KPI summed `butler.sessions_24h` (exact rolling\\n24h window from the fleet endpoint), while each cell's SESS\u00b724H now shows\\n`hourlyTotal` (hour-aligned 24h from the per-butler hourly-activity endpoint,\\nintroduced in #2396). The two windows differ by up to ~1h of sessions, so the\\nfooter total could silently disagree with the sum of visible cells.\\n\\n## Solution: Option A\\n\\nCompute `totalSessions24h` by summing `row.hourlyTotal` (same hourly-activity\\nsource the cells use) instead of `row.sessions24h`. Footer now equals the sum\\nof visible per-cell SESS\u00b724H values exactly.\\n\\n`hourlyTotal` is always present for every row (defaults to 0 when the\\nper-butler hourly-activity endpoint is still loading or has errored), so no\\nrow can be undefined.\\n\\n`sessions24h` / `butler.sessions_24h` is kept on the row \u2014 it is still used\\nfor sorting (sessions desc, name asc) \u2014 only the aggregation in\\n`totalSessions24h` chan\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-175a186b21dc46b2\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-d2c74bd0e404ad97", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374406, "scanner": "foundry_dataset", "fingerprint": "ddd34507953a48e423b0c190e50fafe2b97dd8d6a4fdcf91139b7f76b714bd71", "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": "Tzeusy/butlers#2404", "human_labels": ["test_ci_gap"], "issue_number": "2404", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-48a979b5fee41a34", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2404\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: Tzeusy/butlers#2404\nRepo: Tzeusy/butlers\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-c31325d411e19b7f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2404\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2404\\nTitle: refactor(relationship): route vCard ORG/TITLE to public.contacts [bu-er779]\\nBody:\\n## Summary\\n\\n- **vCard export**: reads `company`/`job_title` directly from `contacts` row (was: `fact_list` \u2192 `quick_facts`)\\n- **vCard import**: writes ORG/TITLE via `contact_update(company=\u2026, job_title=\u2026)` (was: `fact_set` \u2192 `quick_facts`)\\n- **Removed** `_backfill_rel_quick_facts` from `backfill_facts.py` \u2014 no rows ever existed and the routing is gone\\n- **Updated** vCard round-trip tests: `test_export_contact_with_org_title`, `test_import_vcard_with_org_title`, `test_round_trip_full_contact` now assert via `public.contacts` fields\\n- **Removed** dead unit test `test_backfill_rel_quick_facts_happy`\\n\\n`fact_list`/`fact_set` helpers are retained \u2014 they are still used for arbitrary per-contact property facts (zodiac, allergy, favorite_color, etc.) and are exposed as MCP tools.\\n\\nThis bead does **not** drop `relationship.quick_facts` \u2014 that is gated on `bu-6d5v2` after a live backfill verification run.\\n\\n## Test plan\\n\\n- [x] `uv run ruff check` \u2014 p\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-bb79997ffad2c27d\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArti\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-83ff451cc48a2ba1", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374405, "scanner": "foundry_dataset", "fingerprint": "dcf269095bc1da7388d02e5e24ac29bef6ca162bc9e926f0c10c627a1ea918ed", "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": "Tzeusy/butlers#2403", "human_labels": ["test_ci_gap"], "issue_number": "2403", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-f404ae89c539a857", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2403\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: Tzeusy/butlers#2403\nRepo: Tzeusy/butlers\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-135d364bdbc3ffaa\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2403\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2403\\nTitle: fix(status-board): key rail color off eligibility per spec [bu-cgm34]\\nBody:\\n## Summary\\n\\n- The left-edge state rail in `StatusBoardCell` was keyed off `cellTone` (activity-derived), so stale butlers showed no amber rail and displayed a misleading 'IDLE' chip with no restoration hint.\\n- Per `openspec/specs/dashboard-butler-management/spec.md:136-140`, the rail SHALL be colored by eligibility: `active` \u2192 emerald, `stale` \u2192 amber, `quarantined` \u2192 red, `unavailable` \u2192 dim.\\n\\n**Changes:**\\n- Replace `railColorClass(cellTone)` \u2192 `eligibilityRailClass(eligibility)` covering all 4 `EligibilityState` values.\\n- Rail is now always rendered (spec mandates a rail for every state).\\n- Stale chip label shows \\\"STALE\\\" instead of the misleading \\\"IDLE\\\".\\n- Drops unused `CellTone` import; adds `EligibilityState`.\\n- Tests updated: tone-based rail assertions replaced with eligibility-keyed assertions; new \\\"eligibility rail colors\\\" suite covers all 4 states; \\\"renders STALE chip label\\\" test added.\\n\\n## Test plan\\n\\n- [x] `vitest run StatusBoardCell.t\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-fdd4d2a2c95bda96\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\":\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-ad9673cc1fb225c8", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374404, "scanner": "foundry_dataset", "fingerprint": "1868a62505d1c5245f25e2ad031d3944f3d4ef1b4e92e4a1f61f59382922a19f", "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": "Tzeusy/butlers#2402", "human_labels": ["test_ci_gap"], "issue_number": "2402", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-bdb0b4d8eaa32d1e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2402\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: Tzeusy/butlers#2402\nRepo: Tzeusy/butlers\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-9b4a3e8def5902a8\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2402\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2402\\nTitle: fix(frontend): propagate required StatusBoardRow/Aggregates fields to 9 consumer fixtures [bu-5om2w]\\nBody:\\n## Summary\\n\\n- PRs #2396 and #2399 added required fields to `StatusBoardRow` (`hourlyTotal`, `hourlyStripeLoading`, `hourlyStripeError`, `schemaUnreachable`, `heartbeatUnavailable`) and `StatusBoardAggregates` (`heartbeatSourceError`, `registrySourceError`, `eligibilityUnavailable`, `hasPerEntryErrors`, `sourcesPartiallyDegraded`) but did not update 9 consumer test fixtures.\\n- This caused `npm run build` (`tsc -b`) to fail on main (the \\\"frontend Build\\\" CI check).\\n- Fix: add sensible safe defaults (`false` / `0`) to all 9 affected `makeRow`/`makeAggregates` helpers and inline fixtures.\\n\\n## Files changed\\n\\n`src/components/butler-detail/{ButlerDetailHeader,ButlerOverviewTab,ButlerOverviewTab.cost-sessions,ButlerOverviewTab.process-facts,SiblingButlerNav}.test.tsx`\\n`src/components/butlers/BoardFooter.test.tsx`\\n`src/pages/{ButlerDetailPage,ButlersPage,ButlersPage.interaction}.test.tsx`\\n\\n## Test plan\\n\\n- [x] `npm run build\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c9f4c2ae2b5efefb\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nAr\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-e04518a3696ae878", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374403, "scanner": "foundry_dataset", "fingerprint": "edee2e7fb270c7357e8d0e829066993e6997912b185b12edf1e38da1478caea3", "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": "Tzeusy/butlers#2401", "human_labels": ["test_ci_gap"], "issue_number": "2401", "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": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-990d75d4dd454451", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2401\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: Tzeusy/butlers#2401\nRepo: Tzeusy/butlers\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-019f006c73c354a2\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2401\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2401\\nTitle: fix(status-board): complete StatusBoardRow/Aggregates test fixtures for required fields (main red) [bu-5om2w]\\nBody:\\n## Summary\\n\\nP0 main-red hotfix. PRs #2396 and #2399 together added 8 required fields to \\\\`StatusBoardRow\\\\` and \\\\`StatusBoardAggregates\\\\`, but test fixtures were not updated, causing \\\\`tsc -b\\\\` to fail on main.\\n\\n**StatusBoardRow** fields added (both \\\\`false\\\\`):\\n- \\\\`schemaUnreachable\\\\`, \\\\`heartbeatUnavailable\\\\`\\n- \\\\`hourlyTotal\\\\`, \\\\`hourlyStripeLoading\\\\`, \\\\`hourlyStripeError\\\\` (already merged, kept)\\n\\n**StatusBoardAggregates** fields added:\\n- \\\\`heartbeatSourceError: false\\\\`, \\\\`registrySourceError: false\\\\`\\n- \\\\`eligibilityUnavailable: 0\\\\`, \\\\`hasPerEntryErrors: false\\\\`, \\\\`sourcesPartiallyDegraded: false\\\\`\\n\\n**Files fixed:** \\\\`makeRow\\\\`/\\\\`makeAggregates\\\\` helpers in ButlerDetailHeader, SiblingButlerNav, ButlerDetailPage, ButlersPage, ButlersPage.interaction, BoardFooter tests; plus inline literals in ButlerOverviewTab, ButlerOverviewTab.cost-sessions, ButlerOverviewTab.process-facts tests. Test files only \u2014 no pro\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-742ec9f70d0c3906\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-b29af3a8fca69a62", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374402, "scanner": "foundry_dataset", "fingerprint": "f43a6d29a8f819d077efd446d07a8a4e3e93134f3cd86ac268a1aa353835413f", "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": "Tzeusy/butlers#2399", "human_labels": ["ui_workflow_gap"], "issue_number": "2399", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c5ee2f329d53e411", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2399\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\nChain evidence:\nIssue/PR evidence chain: Tzeusy/butlers#2399\nRepo: Tzeusy/butlers\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: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1b5ef0337d26fc2b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2399\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2399\\nTitle: fix(status-board): wire error plumbing to all 6 data sources [bu-ywz06]\\nBody:\\n## Problem\\n\\nThe status board's error plumbing was wired to only 1 of 6 data sources (`butlersQuery`). Secondary-source failures degraded silently toward a healthy/calm appearance during real incidents:\\n\\n- **Heartbeat outage** \u2192 `active_session_count=0` \u2192 LOAD 0% + activity IDLE fleet-wide (calm, not down)\\n- **Per-entry `schema_unreachable`** \u2192 backend error field plumbed into the FE type but never read\\n- **Registry outage** \u2192 eligibility falls to `unavailable` but healthy pill stays green (quarantine state hidden)\\n\\n## Fix\\n\\n### `use-butler-status-board.ts`\\n- Consume `ButlerHeartbeat.error` (already typed); expose `schemaUnreachable` and `heartbeatUnavailable` per row\\n- `loadPct` returns `null` (\u2192 `\u2014`) when heartbeat data unavailable, not `0%`\\n- Add `heartbeatSourceError`, `registrySourceError`, `eligibilityUnavailable`, `hasPerEntryErrors`, `sourcesPartiallyDegraded` to `StatusBoardAggregates`\\n\\n### `StatusBoardCell.tsx`\\n- Activity chip sho\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-331a6af2441e5f1a\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_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/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-ae69c959c327e10e", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374401, "scanner": "foundry_dataset", "fingerprint": "623cf65db3ff2d09d147e38d172f6ce64a422001a95b2f257a6ebb04fa506daa", "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": "Tzeusy/butlers#2397", "human_labels": ["test_ci_gap"], "issue_number": "2397", "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": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-79f7b36c20c97208", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2397\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: Tzeusy/butlers#2397\nRepo: Tzeusy/butlers\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-194e9d92d85a13a4\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2397\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2397\\nTitle: fix(codex): surface refresh-token-reuse failure on secrets passport banner [bu-cu8cf]\\nBody:\\n## Summary\\n\\n- **Bug**: Codex spawn failure from a dead refresh token was logged+raised but never written to credential state, so the secrets passport banner stayed green/healthy during a real auth outage.\\n- **Root cause**: Nothing writes `last_test_ok` for the `cli-auth/codex` credential row on spawn failure. The banner's `_derive_state` is data-driven (reads `last_test_ok`), not error-driven.\\n- **Fix**: Three coordinated changes:\\n  1. `CredentialStore.record_test_result(key, ok, message)` \u2014 UPDATE-only write of `last_test_ok + last_verified + last_test_message`; no-op if row absent.\\n  2. On non-zero exit matching `_CODEX_REFRESH_TOKEN_REUSED_MARKER`: schedule `record_test_result(ok=False)` \u2192 state `'failing'` on `cli-auth/codex`. Does **not** touch `expires_at` (auth-refresh failure \u2260 token expiry).\\n  3. On successful exit: always schedule `record_test_result(ok=True)` to clear any stale `last_test_ok=false`. Decoupled from tok\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-2c074aeb32223c62\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_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/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-94ae164c22f2578f", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374400, "scanner": "foundry_dataset", "fingerprint": "4d055d21584245bca76a71311d4f9d0f172a82e753ca5d66eba9ca51d35b0ac0", "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": "Tzeusy/butlers#2396", "human_labels": ["test_ci_gap"], "issue_number": "2396", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-ce237365e9d8eee7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2396\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: Tzeusy/butlers#2396\nRepo: Tzeusy/butlers\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-fb2a338a4259eacb\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2396\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2396\\nTitle: fix(status-board): align stripe and SESS\u00b724H KPI to one server source [bu-9ddw4]\\nBody:\\n## Problem\\n\\nThe per-cell activity stripe total disagreed with the SESS\u00b724H KPI in the same\\ncell (e.g. stripe summed to 281, KPI showed 289). Two authoritative-looking\\n\\\\\\\"24h\\\\\\\" numbers contradicted each other.\\n\\n**Root causes:**\\n1. **Window mismatch** \u2014 the stripe used a client-side hour-floor-aligned window\\n   (`utcHourFloor(now) \u00b1 24h`) while SESS\u00b724H used the server's exact rolling\\n   `now - 24h` window.\\n2. **Pagination hazard** \u2014 `getSessions({limit: 1000})` silently dropped the\\n   oldest sessions once fleet 24h volume exceeded 1000 (meta.total was ignored).\\n3. **Dead tz plumbing** \u2014 `OWNER_TZ_DEFAULT` / `tz` param were passed then voided\\n   (`void tz`); bucketing was always UTC regardless.\\n4. **No loading/error state** \u2014 a fetch failure rendered 24 flat zero-bars that\\n   looked like a healthy-but-idle butler.\\n\\n## Fix\\n\\nReplace `getSessions` + `bucketSessionsByHour` in `useButlerStatusBoard` with\\nper-butler `GET /api/butlers/{name}/a\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-1f6143e8e8e0401a\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-844ab5a2cfa3472b", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374399, "scanner": "foundry_dataset", "fingerprint": "495e3b60c70aaae2cab1825d3001e1cebb6ab59007b55291cea6786919de23a1", "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": "Tzeusy/butlers#2395", "human_labels": ["test_ci_gap"], "issue_number": "2395", "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": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-85585eb93a77cbae", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2395\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: Tzeusy/butlers#2395\nRepo: Tzeusy/butlers\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-8e95254ca2e12338\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2395\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2395\\nTitle: feat(relationship): route relational edges to central writer + memory guard [bu-hkwpo,bu-wniiz,bu-yj5le]\\nBody:\\n## Summary\\n\\nImplements Track B (B1\u2013B4) of the relational-edges-single-home OpenSpec change. Track A (`relationship_assert_fact._PREDICATE_ALIAS_MAP` + registry seed) is already merged.\\n\\n- **B1** \u2014 Rewrites `roster/relationship/.agents/skills/fact-extraction/SKILL.md` (bumped to v3.0.0): all registry-relational edges (knows, friend-of, works-at, member-of, etc.) are now routed through `relationship_assert_fact(object_kind=\\\"entity\\\")`; `memory_store_fact(object_entity_id=...)` is reserved for narrative/episodic predicates only. Adds explicit discriminator table and updated examples (Steps 4b, 5b, 5c, 12).\\n\\n- **B2** \u2014 Adds writer-side relational-edge guard to `memory_store_fact()` in `src/butlers/modules/memory/tools/writing.py`. When `object_entity_id` is set and the predicate (post-`normalize_predicate`) resolves to a registry-relational name, raises `ValueError` directing callers to `relationship_assert_fact()`\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-0d8ed5c51317b4f2\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_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/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-4ec2233e6277e9a5", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374398, "scanner": "foundry_dataset", "fingerprint": "29da7da0efae02f5141f1c8133e280425621a031c0912fe75ce2694b3557380b", "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": "Tzeusy/butlers#2394", "human_labels": ["runtime_failure"], "issue_number": "2394", "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": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-8daa13ba21200148", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2394\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: Tzeusy/butlers#2394\nRepo: Tzeusy/butlers\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-28b25166ab38000a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2394\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2394\\nTitle: fix(spend): render '\u2014' for unpriced/missing spend instead of $0.00 [bu-qcuw4]\\nBody:\\n## Summary\\n\\n- **Add `opencode-go/deepseek-v4-pro` to `pricing.toml`** \u2014 the dominant unpriced model was causing `estimate_session_cost` to return `0.0`, silently zeroing all spend figures fleet-wide.\\n- **`costToday: number | null` in `StatusBoardRow`** \u2014 the backend only includes butlers with `cost > 0` in `by_butler`; absence now propagates as `null` (\\\"data unavailable\\\") instead of `0` (\\\"genuine zero spend\\\").\\n- **SPEND cell renders `\\\"\u2014\\\"` when `costToday` is `null`**, matching the existing LOAD/LAST no-data convention so a broken cost source is visually distinct from a real `$0.00`.\\n- **Aggregate `totalSpendToday` treats null as 0** so the footer total still sums known costs correctly.\\n\\n## Conflict scope\\n\\nThis PR touches only the cost/spend regions (`costToday` field, SPEND KPI cell, `byButlerCost` fallback). It does not touch `deriveActivity`, the activity pill, or health-state logic \u2014 avoiding conflict with PR #2393 (bu-eb4na).\\n\\n#\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-d54f75fece862863\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profi\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-d94a558152d7a27f", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374397, "scanner": "foundry_dataset", "fingerprint": "6770d15b536a1981141c3068330826070a8f233b90f52d199b73985a87edf8c7", "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": "Tzeusy/butlers#2392", "human_labels": ["data_schema_persistence"], "issue_number": "2392", "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": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-58173e41eece85a7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2392\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: Tzeusy/butlers#2392\nRepo: Tzeusy/butlers\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: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ce1eff056fb79b37\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2392\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2392\\nTitle: feat: seed works-at + member-of relational predicates [bu-i3sps]\\nBody:\\n## Summary\\n\\n- Adds Alembic migration `rel_024` seeding `works-at` and `member-of` into `relationship.entity_predicate_registry` (family=`relational`, `object_kind='entity'`, direction person\u2192organization)\\n- Both predicates are required by the spec (`relationship-facts` \u00a7\\\"Scenario: Person-to-organization edges are registered as relational\\\") so `relationship_assert_fact()` accepts them and writes to `relationship.entity_facts`\\n- Migration is registry-only: no new tables, no schema changes, idempotent (`ON CONFLICT DO NOTHING`)\\n\\n## Test plan\\n\\n- [ ] 17 unit tests covering revision chain, SQL shape, idempotency, downgrade cleanup, and ordering\\n- [ ] Integration tests asserting seed rows present after upgrade, idempotent re-upgrade, downgrade removes rows, `works-at`/entity insert lands active row in `entity_facts`\\n- [ ] `ruff check` + `ruff format --check` pass clean\\n\\nIssue: bu-i3sps\\nEpic: bu-5vpyh \u2014 relational-edges-single-home\\n\\n\ud83e\udd16 Generated \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ca9a9811219af134\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_co\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-567ad2a27968d9ad", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374396, "scanner": "foundry_dataset", "fingerprint": "672bdb0a29238df8accef4759da02a19955ac5d50ff5075084dc291df7933284", "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": "Tzeusy/butlers#2391", "human_labels": ["api_integration_gap"], "issue_number": "2391", "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": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-7d4c50ac8afe1af1", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2391\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: Tzeusy/butlers#2391\nRepo: Tzeusy/butlers\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: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2dcd9c13b8698f6d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2391\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2391\\nTitle: fix(relationship): stop merge Review dialog flooding with interaction log [bu-xzxw4]\\nBody:\\n## Problem\\n\\nMerging two entities on the entities page popped a **huge modal** filled with rows like:\\n\\n> interaction chat message \u2014 Chloe Wong and Tze How Lee exchanged a morning Telegram check-in\u2026\\n\\nThe merge **Review** dialog (`MergeCompareDialog`) POSTs `/api/relationship/entities/compare` and renders every active narrative fact per entity. Two compounding causes:\\n\\n1. **Backend** \u2014 `_fetch_narrative_facts_for_compare` (`roster/relationship/api/router.py`) returned the entity's *entire interaction log* (`predicate LIKE 'interaction_%'`) with no filter. An active contact has dozens\u2013hundreds of these.\\n2. **Frontend** \u2014 `DialogContent` had no `max-height`/scroll, so the modal grew to whatever the data demanded.\\n\\n## Fix\\n\\n- **Backend:** exclude `predicate LIKE 'interaction_%'` from compare narrative facts. Interactions are an unbounded temporal log with their own dedicated surfaces, and they **never conflict on merge** (multi-\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-9328e56af1344cfc\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_p\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-efd31732945074c1", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374395, "scanner": "foundry_dataset", "fingerprint": "fff4208e69c07102fd7c374b2bb54f687be92e9de4e3e59c3bae1975478d9e9d", "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": "Tzeusy/butlers#2390", "human_labels": ["test_ci_gap"], "issue_number": "2390", "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": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-f630d172a5e2c4ce", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2390\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: Tzeusy/butlers#2390\nRepo: Tzeusy/butlers\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-efb01b1096b11585\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2390\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2390\\nTitle: fix(e2e): drop finder preview-gloss assertion removed in #2385 [bu-2xk18]\\nBody:\\n## What\\nRemoves the stale `entity-finder-preview-gloss` visibility assertion from `frontend/tests/e2e/entity-v3-depth.spec.ts` (line 853).\\n\\n## Why\\nPR #2385 (bu-mfyct) intentionally removed the misleading neutral-default gloss from the finder preview pane (honest-UI: the search payload has no real tier/state, so the gloss was fabricated). That PR updated the vitest unit test but missed this e2e assertion, so `frontend-e2e` has been **red on main** (115 passed / 1 failed) \u2014 misdiagnosed by reviewers as the systemic ECONNREFUSED flake. The finder preview still renders name/mark/type + top relations; only the fabricated gloss is gone.\\n\\n## Test\\nThe preview-pane test still asserts the preview + relation are visible; only the removed-element assertion is dropped. No app code change.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-1ba9b0bcec947b2e\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 4, \"generated_claims\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBun\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-8c9a17a5b5760ffa", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374394, "scanner": "foundry_dataset", "fingerprint": "4e814767be62da3b3b7f231fb1007cb5d91f56ddf5dc189fc9e062738a6e922e", "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": "Tzeusy/butlers#2389", "human_labels": ["test_ci_gap"], "issue_number": "2389", "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": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-5e434c3f1214b93f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2389\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: Tzeusy/butlers#2389\nRepo: Tzeusy/butlers\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-2b58ef07143432f4\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2389\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2389\\nTitle: feat: concentration predicate tabs per-tab counts + top-3 share headline [bu-k4ckt]\\nBody:\\n## Summary\\n\\n- **Per-tab counts**: Backend now LEFT JOINs `relationship.entity_facts` in the predicate tab query to compute `COUNT(DISTINCT subject)` per predicate; the new `entity_count` field is added to `PredicateTab` (model + API types). The frontend renders each count as a quiet muted pill badge inside the tab button.\\n- **Top-3 share headline**: `RollupHeader` now renders top-3 share as a standalone KPI block \u2014 `font-mono text-[10px] uppercase` eyebrow label + `text-[22px] font-medium tabular-nums leading-none` value \u2014 matching the project's 22px tnum headline convention (same pattern as `SettingsConsolePage`, `ConnectorsRoster`, `ButlerChroniclerTimelinesTab`). Previously it was inline muted text.\\n\\n## Files changed\\n\\n- `roster/relationship/api/models.py` \u2014 `PredicateTab.entity_count: int = 0`\\n- `roster/relationship/api/router.py` \u2014 tab query extended with `LEFT JOIN \u2026 COUNT(DISTINCT f.subject)`\\n- `frontend/src/api/types.ts` \u2014 \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-679b4cfbfca2aa78\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-33234f6018307455", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374393, "scanner": "foundry_dataset", "fingerprint": "2c056d2b550b95afd787abfa1d7699ded85eda458dc1eb5979e299d08e8554a5", "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": "Tzeusy/butlers#20", "human_labels": ["human_feedback_general", "runtime_failure"], "issue_number": "20", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-156ca898a018ac40", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#20\nOutcome: ambiguous_needs_more_evidence\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: Tzeusy/butlers#20\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 4\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 3, 'runtime_failure': 1}\nPolarities: {'neutral': 3, 'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9d3e5f5104414039\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/20#issuecomment-3893849363\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/20#issuecomment-3893849363\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-2e3359a251d79cb5\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/20#issuecomment-3893851004\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/20#issuecomment-3893851004\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request documents the comprehensive findings of an investigation into frequent `ClientDisconnect` stack traces observed in the MCP SSE POST message handling. The investigation confirmed that these disconnects are an expected part of bidirectional SSE session teardown, and the issue lies in the unhandled exception leading to noisy error logs. The findings, including root cause analysis and reproducible evidence, have been integrated into the remediation plan for the `butlers-0gs` issue, setting the stage for a targeted fix to reduce log noise.\\n\\n### Highlights\\n\\n* **SSE Disconnect\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-2e9899306e66e977", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374392, "scanner": "foundry_dataset", "fingerprint": "a93952f44e6604708eae0cd505658e7014c6ee625f284c8f68504a20e745db42", "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": "Tzeusy/butlers#2", "human_labels": ["human_feedback_general", "runtime_failure", "security_auth_secret"], "issue_number": "2", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.72, "repo_full_name": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-e97bf2993135adab", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2\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: Tzeusy/butlers#2\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'human_feedback_general': 1, 'runtime_failure': 1}\nPolarities: {'bad': 2, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-fbbd3ccb175aecbc\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2#issuecomment-3885430615\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/2#issuecomment-3885430615\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request focuses on re-establishing critical compatibility APIs within the switchboard decomposition system. It ensures that older components and test suites can continue to function seamlessly by reintroducing specific classification and dispatch interfaces, and by adapting the response aggregation logic to handle both legacy and modern data structures.\\n\\n### Highlights\\n\\n* **Compatibility APIs Reintroduced**: The `classify_message_multi` and `dispatch_to_targets` compatibility interfaces have been restored to maintain backward compatibility for existing callers and test suites.\\n* **Aggregation Behavior Updated**: The `aggregate_responses` function has been enhanced to support both legacy synchronous callers and modern asynchronous \"\n  },\n  {\n    \"id\": \"github-feedback-comment-f71c72303d55312c\",\n    \"kind\": \"review_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2#discussion_r2794182154\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/2#discussion_r2794182154\\nTitle: \\nBody:\\n![critical](https://www.gstatic.com/codereviewagent/critical.svg)\\n\\nAs noted in the previous comment, `_aggregate_with_dispatch()` is an `async` function. It must be `aw\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-19ad050488612a66", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374391, "scanner": "foundry_dataset", "fingerprint": "93fbf971090640d990c02b5b079020ff94d31c7374e0729e0857b917ecc4b683", "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": "Tzeusy/butlers#19", "human_labels": ["data_schema_persistence", "human_feedback_general", "positive_human_signal", "test_ci_gap"], "issue_number": "19", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.608, "repo_full_name": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-bcb85eb55367138c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#19\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: Tzeusy/butlers#19\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 8\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 3, 'test_ci_gap': 1, 'data_schema_persistence': 1, 'positive_human_signal': 3}\nPolarities: {'neutral': 3, 'bad': 2, 'good': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-fd88785bf298588e\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/19#issuecomment-3893843271\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/19#issuecomment-3893843271\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-7213fb41519216ef\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/19#issuecomment-3893844920\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/19#issuecomment-3893844920\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly refactors the testing infrastructure by centralizing Postgres database provisioning. By introducing shared, session-scoped fixtures, it eliminates repetitive setup code across numerous test modules, leading to a notable improvement in test execution speed. The changes ensure consistent database isolation for each test while optimizing resource utilization, ultimately making the test suite more efficient and maintainable.\\n\\n### Highlights\\n\\n* **Centralized Postgres Test Fixtures**: Introduced a shared, ses\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-02300f6b429ec790", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374390, "scanner": "foundry_dataset", "fingerprint": "b04ca547f38a3277defb3ae79c2326947f1040bb6d140a35f62d04df424c9ca1", "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": "Tzeusy/butlers#18", "human_labels": ["human_feedback_general", "positive_human_signal", "security_auth_secret", "test_ci_gap"], "issue_number": "18", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-e9d8a9593bb1b64b", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#18\nOutcome: ambiguous_needs_more_evidence\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: Tzeusy/butlers#18\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 8\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 5, 'test_ci_gap': 1, 'security_auth_secret': 1, 'positive_human_signal': 1}\nPolarities: {'neutral': 5, 'bad': 2, 'good': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-3fffae38797b8764\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/18#issuecomment-3893796331\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/18#issuecomment-3893796331\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-37879d4fa996b7b4\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/18#issuecomment-3893796883\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/18#issuecomment-3893796883\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly enhances the calendar module by introducing a robust event payload normalization layer. The primary goal is to standardize incoming event data, ensuring it adheres to a consistent, provider-agnostic structure. This involves meticulous validation and transformation of various event attributes, such as timezones, recurrence, and notifications, which will improve data integrity and streamline future integrations with diverse calendar services.\\n\\n### Highlights\\n\\n* **Event Payload Normalization**: Introduced a\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-26784b38601f7b7c", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374389, "scanner": "foundry_dataset", "fingerprint": "586214acfb96300502268bec98e777b6203a571a38d381804949fd9385475f39", "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": "Tzeusy/butlers#16", "human_labels": ["data_schema_persistence", "human_feedback_general", "positive_human_signal", "test_ci_gap"], "issue_number": "16", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-00facf2cdd6ab818", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#16\nOutcome: ambiguous_needs_more_evidence\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: Tzeusy/butlers#16\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 18\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'data_schema_persistence': 2, 'human_feedback_general': 10, 'positive_human_signal': 5}\nPolarities: {'bad': 3, 'neutral': 10, 'good': 5}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7610c50a63d69d6a\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/16#issuecomment-3893753036\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/16#issuecomment-3893753036\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request focuses on a comprehensive schema port for the relationship management system, moving towards a more structured and granular data model. The changes ensure that existing functionalities remain compatible with the updated schema, and new features can leverage the improved data organization. This involved a significant database migration, refactoring of various data interaction tools, and a thorough update of the test infrastructure to validate the changes and maintain system stability.\\n\\n### Highlights\\n\\n* **Database Schema Migration**: A new Alembic migration (`003_ported_schema_improvements.py`) was added to significantly refactor the database schema for `contacts`, `notes`, `reminders`, `loans`, `groups`, and `activity_feed` table\"\n  },\n  {\n    \"id\": \"github-feedback-comment-e8a9c485e76d1a85\",\n    \"kind\": \"review_comment\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/16#discussion_r2801392035\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/16#discussion_r2801392035\\nTitle: \\nBody:\\n**<sub><sub>![P1 Badge](https://img.shields.io/badge/P1-orange?style=flat)</sub></sub>  Assign a unique revision ID for this relation\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-c78b751bf5aff57a", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374388, "scanner": "foundry_dataset", "fingerprint": "bab157680e7652d14d4b60f88c39943e0371d9080c1aeae2ea4ec0d2453a8176", "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": "Tzeusy/butlers#13", "human_labels": ["test_ci_gap"], "issue_number": "13", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.608, "repo_full_name": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-1c318a171fed3acf", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#13\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: Tzeusy/butlers#13\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 3}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b944bc79b62b326d\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/13#issuecomment-3893626884\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/13#issuecomment-3893626884\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request enhances the project's testing infrastructure by consistently applying `pytest` unit markers to relevant API test modules and providing clear documentation on how to leverage these markers for efficient test execution. The changes aim to improve test organization, facilitate faster feedback loops during local development, and ensure comprehensive testing in CI environments.\\n\\n### Highlights\\n\\n* **Test Marker Coverage**: Applied explicit `unit` pytest markers to several previously unmarked API test modules.\\n* **Documentation Update**: Added new documentation in the `README.md` explaining how to run `unit`-only and `integration`-only pytest commands using markers.\\n* **Test Usage Clarification**: Clarified the recommended usage of test\"\n  },\n  {\n    \"id\": \"github-feedback-comment-29d861de965c60e5\",\n    \"kind\": \"review_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/13#discussion_r2801267717\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/13#discussion_r2801267717\\nTitle: \\nBody:\\n![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)\\n\\nFor consistency with the `Development` section and the `Makefile`, it would be helpful to also mention the `make` targets for running unit and integration tests. This provides users with a convenient sho\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-c379a783aa1172fb", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Tzeusy/butlers"}, "properties": {"repobilityId": 374387, "scanner": "foundry_dataset", "fingerprint": "95b82257970dfbaca3fdaee944bc089108681da476fa099d76d0db3e2d6eb816", "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": "Tzeusy/butlers#1", "human_labels": ["security_auth_secret", "test_ci_gap"], "issue_number": "1", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.695, "repo_full_name": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a3b338c80d82b87d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#1\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: Tzeusy/butlers#1\nRepo: Tzeusy/butlers\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: {'security_auth_secret': 1, 'test_ci_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c01b95e6ee790dc8\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/1#issuecomment-3885429994\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/1#issuecomment-3885429994\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request addresses inconsistencies in API endpoint handling and improves client-server interaction by standardizing URL paths and refining CORS behavior. By disabling automatic redirects and normalizing routes, the API becomes more predictable and robust, especially for clients that might struggle with redirect chains or preflight requests to non-canonical URLs. This change ensures a smoother and more reliable experience for consumers of the API.\\n\\n### Highlights\\n\\n* **FastAPI Redirects Disabled**: FastAPI's automatic trailing slash redirects have been disabled at the application level to prevent unintended 307 redirect behavior on API routes, which can interfere with client-side requests and CORS preflights.\\n* **API Route Normalizat\"\n  },\n  {\n    \"id\": \"github-feedback-comment-8d6b88239a29bb75\",\n    \"kind\": \"review_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/1#discussion_r2794163243\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/1#discussion_r2794163243\\nTitle: \\nBody:\\n![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)\\n\\nWhile the preflight test is valuable for verifying CORS behavior, it would be beneficial to add another test to explicitly confirm that GET requests to the old trailing-slas\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-assumption_checks-f3b9a136213cd2b8", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: Tzeusy/butlers"}, "properties": {"repobilityId": 416670, "scanner": "foundry_dataset", "fingerprint": "d0df7c9906622a50ea5e0385d56917e9e6de80c7a3aa64200143fd981d028666", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 2, "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": 24, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 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": "Tzeusy/butlers#8", "issue_number": "8", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e5c4a14bf37c9a11", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#8\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#8\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#8\nRepo: Tzeusy/butlers\nIssue/PR number: 8\nGraph consistency label: assumption_check\nNodes: 17\nEdges: 24\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'test_ci_gap': 2, '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, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-72a1efedf0ec79fe", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416669, "scanner": "foundry_dataset", "fingerprint": "f419316233fb5c5ca04b22163bfa1a5ea8d4e1815ecf7ff49f3b0ee85fe828cd", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "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, "ambiguous_needs_more_evidence": 2}, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 18, "node_types": {"repo": 1, "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": "Tzeusy/butlers#7", "issue_number": "7", "quality_tiers": {"unresolved": 5, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-12a33c98418f774f", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#7\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#7\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#7\nRepo: Tzeusy/butlers\nIssue/PR number: 7\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 25\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 5, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-d9d8fbe6dfcc9b6b", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416668, "scanner": "foundry_dataset", "fingerprint": "b2178c3468196c11e5dfe9ef576b99dfdb307a7aca13b1b34c7edf17a4eafed1", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "ui_workflow_gap": 1, "positive_human_signal": 1, "verification_or_tests": 2, "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}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 10}, "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": 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": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 22, "node_types": {"repo": 1, "commit": 2, "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": "Tzeusy/butlers#4", "issue_number": "4", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-83b923de8f245e5a", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#4\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#4\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#4\nRepo: Tzeusy/butlers\nIssue/PR number: 4\nGraph consistency label: supported_by_high_confidence_link\nNodes: 22\nEdges: 34\nNode types: {'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'commit': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 5, '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: {'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'positive_human_signal': 1, 'ui_workflow_gap': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 2, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-b6f729df8bd4f25d", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416667, "scanner": "foundry_dataset", "fingerprint": "f0fbaec34c45f8daeff8a51b891e3bc1e73b6e9929cec317c1b9fb7c128665bf", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#37", "issue_number": "37", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d3ea5328d63a486d", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#37\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: Tzeusy/butlers\nThread: Tzeusy/butlers#37\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#37\nRepo: Tzeusy/butlers\nIssue/PR number: 37\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-9cc85bcdca3483b9", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416666, "scanner": "foundry_dataset", "fingerprint": "5e91a80b6b95a78b706343b327677abd071e00202825a631332c869ecd08d36e", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#36", "issue_number": "36", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-99194e4cd97e3326", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#36\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: Tzeusy/butlers\nThread: Tzeusy/butlers#36\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#36\nRepo: Tzeusy/butlers\nIssue/PR number: 36\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-de13bcf89bf64ad2", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416665, "scanner": "foundry_dataset", "fingerprint": "a691aa5252552003d80c6a562e51576eea7de4fc51cc02408e4bfa74c4c2970e", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#35", "issue_number": "35", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-59169d04bc1dcc4c", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#35\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: Tzeusy/butlers\nThread: Tzeusy/butlers#35\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#35\nRepo: Tzeusy/butlers\nIssue/PR number: 35\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-b81468ebd54b8eec", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416664, "scanner": "foundry_dataset", "fingerprint": "7655d5c959f1c85ad2ac821306a02c6dbc83d3d9a0110937f6cd84f0e67497c9", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#33", "issue_number": "33", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-aeee2d346c5d5a58", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#33\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: Tzeusy/butlers\nThread: Tzeusy/butlers#33\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#33\nRepo: Tzeusy/butlers\nIssue/PR number: 33\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-6f0c9ac494b6b7cc", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416663, "scanner": "foundry_dataset", "fingerprint": "a0c724b8e2e130a5a4f608ac77648821aabff8a20c0b92a2beb3d689d4dd0ec0", "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, "agent_instruction_gap": 2, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 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": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#28", "issue_number": "28", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-7488ea91b0e6e68c", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#28\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: Tzeusy/butlers\nThread: Tzeusy/butlers#28\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#28\nRepo: Tzeusy/butlers\nIssue/PR number: 28\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'agent_instruction_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-38a87385e4ed6019", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416662, "scanner": "foundry_dataset", "fingerprint": "12437f3f498f3e650850fa31d98e79b3632fa308a0cc14a61aebc8b665b8d874", "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, "runtime_failure": 2, "ui_workflow_gap": 1, "positive_human_signal": 2, "human_feedback_general": 2, "unlinked_human_feedback": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 2, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 4, "positive_feedback_no_linked_change": 2, "human_positive_or_acceptance_signal": 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": 12, "ambiguous_needs_more_evidence": 4, "human_positive_or_acceptance_signal": 4}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 54, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 8, "thread_has_comment": 8, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 12, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 8}, "node_count": 35, "node_types": {"repo": 1, "thread": 1, "comment": 8, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 12, "comment_chain": 8, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#27", "issue_number": "27", "quality_tiers": {"unresolved": 10, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-2fe7a1be4f1f2bcf", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#27\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: Tzeusy/butlers\nThread: Tzeusy/butlers#27\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#27\nRepo: Tzeusy/butlers\nIssue/PR number: 27\nGraph consistency label: assumption_check\nNodes: 35\nEdges: 54\nNode types: {'link_quality': 12, 'comment': 8, 'comment_chain': 8, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 12, 'thread_has_comment': 8, 'thread_has_comment_chain': 8, 'comment_has_chain': 8, 'issue_chain_has_comment_chain': 8, '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: {'not_resolved_or_not_observed': 6, 'human_reported_issue_no_linked_fix': 4, 'human_feedback_general': 2, 'runtime_failure': 2, 'positive_human_signal': 2, 'unlinked_human_feedback': 2, 'ambiguous_needs_more_evidence': 2, 'positive_feedback_no_linked_change': 2, 'human_positive_or_acceptance_signal': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'ui_workflow_gap': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 12, 'ambiguous_needs_more_evidence': 4, 'human_positive_or_acceptance_signal': 4}\nQuality tiers: {'unresolved': 10, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-87b506c8456e0094", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416661, "scanner": "foundry_dataset", "fingerprint": "395273dc1452f1bcd538a2247586a1fe1e28c180d840bb56adf7e6f0cac0daba", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "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, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#26", "issue_number": "26", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-96eab39bcb2e2ac3", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#26\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: Tzeusy/butlers\nThread: Tzeusy/butlers#26\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#26\nRepo: Tzeusy/butlers\nIssue/PR number: 26\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 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: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-e278ecb27ae462bf", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416660, "scanner": "foundry_dataset", "fingerprint": "25e7672f9b6cb1a119d8c0174b351eae001501187fc9559b5b6945eda32473c4", "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, "mock_placeholder": 1, "human_feedback_general": 2, "unlinked_human_feedback": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "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": 4, "ambiguous_needs_more_evidence": 8}, "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": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#25", "issue_number": "25", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d40ce5d761dd66aa", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#25\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: Tzeusy/butlers\nThread: Tzeusy/butlers#25\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#25\nRepo: Tzeusy/butlers\nIssue/PR number: 25\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_ci_gap': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'not_resolved_or_not_observed': 4}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-bb609d2aa63123b8", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416659, "scanner": "foundry_dataset", "fingerprint": "4d6aef23e975dc21f75e21d65da68357dd89848b6816ff93a2147de719065b6e", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "ui_or_frontend": 2, "api_integration_gap": 1, "verification_or_tests": 8, "human_feedback_general": 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}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 10}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 52, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 1, "thread_touches_file": 2, "thread_has_pr_review": 2, "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, "issue_chain_touches_file": 2, "thread_has_comment_chain": 3, "comment_chain_links_commit": 13, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 30, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 1, "pr_file": 2, "alignment": 2, "pr_review": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2486", "issue_number": "2486", "quality_tiers": {"high_confidence": 5, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-9f7d73838baaac74", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"ui_or_frontend": 12}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2486\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2486\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2486\nRepo: Tzeusy/butlers\nIssue/PR number: 2486\nGraph consistency label: supported_by_high_confidence_link\nNodes: 30\nEdges: 52\nNode types: {'commit': 8, 'link_quality': 7, 'comment_chain': 3, 'pr_review': 2, 'pr_file': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 13, 'chain_has_link_quality': 7, 'comment_chain_touches_file': 6, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'thread_has_pr_review': 2, 'thread_touches_file': 2, 'issue_chain_touches_file': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 8, 'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'ui_or_frontend': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'human_feedback_general': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10}\nQuality tiers: {'high_confidence': 5, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-e71e37eb7b64aac1", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416658, "scanner": "foundry_dataset", "fingerprint": "1a86291532471f74d5d92db4441724eca487717e74eaed6080f78e0bf3053edd", "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, "api_or_backend": 2, "security_auth_secret": 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": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 1, "thread_touches_file": 2, "thread_has_pr_review": 1, "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": 1, "pr_file": 2, "alignment": 1, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2482", "issue_number": "2482", "quality_tiers": {"high_confidence": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-a09811e09f4dd4ba", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 10}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2482\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2482\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2482\nRepo: Tzeusy/butlers\nIssue/PR number: 2482\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 34\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_review': 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_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_comment': 1, 'thread_has_pr_review': 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}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'api_or_backend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 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': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-34c34d5f03c6fac6", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416657, "scanner": "foundry_dataset", "fingerprint": "42030b9cecf4d57d2124c36206d9cfcde072321fa9845093702f6a0d01ef795d", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "ui_or_frontend": 1, "api_integration_gap": 1, "verification_or_tests": 6, "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": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 36, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 1, "thread_touches_file": 1, "thread_has_pr_review": 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_links_commit": 8, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 1, "pr_file": 1, "alignment": 2, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2481", "issue_number": "2481", "quality_tiers": {"high_confidence": 4, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-328d7f5e4dd0e9fd", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"ui_or_frontend": 5}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2481\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2481\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2481\nRepo: Tzeusy/butlers\nIssue/PR number: 2481\nGraph consistency label: supported_by_high_confidence_link\nNodes: 24\nEdges: 36\nNode types: {'commit': 6, 'link_quality': 6, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_review': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 8, 'chain_has_link_quality': 6, '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_has_comment': 1, 'thread_has_pr_review': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 6, 'ambiguous_needs_more_evidence': 4, '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, 'test_ci_gap': 1, 'api_integration_gap': 1, 'ui_or_frontend': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-9c1b1349029212d5", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416656, "scanner": "foundry_dataset", "fingerprint": "3f4525d649614f7ad9befd16e20b7eb3bd02bb988770c420915d658e7b86df7a", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "source_or_other": 2, "verification_or_tests": 8, "human_feedback_general": 1, "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}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 10}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 59, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 1, "thread_touches_file": 3, "thread_has_pr_review": 2, "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, "issue_chain_touches_file": 3, "thread_has_comment_chain": 3, "comment_chain_links_commit": 15, "comment_chain_touches_file": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 31, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 1, "pr_file": 3, "alignment": 2, "pr_review": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2480", "issue_number": "2480", "quality_tiers": {"high_confidence": 5, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-93db3b0b61181094", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 6, "source_or_other": 12}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2480\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2480\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2480\nRepo: Tzeusy/butlers\nIssue/PR number: 2480\nGraph consistency label: supported_by_high_confidence_link\nNodes: 31\nEdges: 59\nNode types: {'commit': 8, 'link_quality': 7, 'pr_file': 3, 'comment_chain': 3, 'pr_review': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 15, 'comment_chain_touches_file': 9, 'chain_has_link_quality': 7, 'thread_touches_file': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'issue_chain_touches_file': 3, 'thread_has_pr_review': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 8, 'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'data_schema_persistence': 1, 'human_feedback_general': 1, 'test_or_ci': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10}\nQuality tiers: {'high_confidence': 5, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-b32a6e0d7b047ee1", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416655, "scanner": "foundry_dataset", "fingerprint": "6839e703f033f985557f24dc248ceac75e854b54642c5fb558e14f3a396104d0", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "api_or_backend": 1, "api_integration_gap": 1, "verification_or_tests": 9, "human_feedback_general": 1, "ci_pending_or_incomplete": 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}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 10}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {"ci_pending_or_incomplete": 2}, "synthetic": false, "edge_count": 52, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 1, "thread_touches_file": 2, "comment_chain_has_ci": 1, "thread_has_pr_review": 2, "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, "issue_chain_touches_file": 2, "thread_has_comment_chain": 3, "comment_chain_links_commit": 12, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 32, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 1, "pr_file": 2, "alignment": 2, "pr_review": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2479", "issue_number": "2479", "quality_tiers": {"high_confidence": 5, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-8aaccc3c40773f05", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 6, "api_or_backend": 6}}, "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2479\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2479\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2479\nRepo: Tzeusy/butlers\nIssue/PR number: 2479\nGraph consistency label: supported_by_high_confidence_link\nNodes: 32\nEdges: 52\nNode types: {'commit': 9, 'link_quality': 7, 'comment_chain': 3, 'pr_review': 2, 'pr_file': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 12, 'chain_has_link_quality': 7, 'comment_chain_touches_file': 6, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'thread_has_pr_review': 2, 'thread_touches_file': 2, 'issue_chain_touches_file': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1}\nLabels: {'verification_or_tests': 9, 'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'human_feedback_general': 1, 'api_or_backend': 1, 'test_or_ci': 1, 'ci_pending_or_incomplete': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10}\nQuality tiers: {'high_confidence': 5, 'assumption_check': 2}\nCI labels: {'ci_pending_or_incomplete': 2}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-06a59fa0c2d0c61e", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416654, "scanner": "foundry_dataset", "fingerprint": "b8a6b0cc028f51b20f8a1d65b495952aa8610f7d0ba8d42e15ff6176a56a528e", "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, "api_or_backend": 4, "ui_or_frontend": 2, "api_integration_gap": 1, "security_auth_secret": 1, "verification_or_tests": 7, "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, "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": 8, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 80, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 1, "thread_touches_file": 8, "thread_has_pr_review": 2, "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, "issue_chain_touches_file": 8, "thread_has_comment_chain": 3, "comment_chain_links_commit": 11, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 36, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 1, "pr_file": 8, "alignment": 2, "pr_review": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2478", "issue_number": "2478", "quality_tiers": {"high_confidence": 5, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-ee5b4a8887086bbe", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 12, "api_or_backend": 24, "ui_or_frontend": 12}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2478\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2478\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2478\nRepo: Tzeusy/butlers\nIssue/PR number: 2478\nGraph consistency label: supported_by_verification_signal\nNodes: 36\nEdges: 80\nNode types: {'pr_file': 8, 'commit': 8, 'link_quality': 7, 'comment_chain': 3, 'pr_review': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 24, 'comment_chain_links_commit': 11, 'thread_touches_file': 8, 'issue_chain_touches_file': 8, 'chain_has_link_quality': 7, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'thread_has_pr_review': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 7, 'api_or_backend': 4, 'ambiguous_needs_more_evidence': 4, 'test_or_ci': 2, 'ui_or_frontend': 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, 'test_ci_gap': 1, 'security_auth_secret': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'claimed_resolved_with_verification_signal': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'high_confidence': 5, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-8ecb5f27c1cd67a9", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416653, "scanner": "foundry_dataset", "fingerprint": "224813c54dbebfffa18e812c869a22d438b53dda11bb86d5b03b420d0e8140da", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 2, "test_ci_gap": 1, "ui_or_frontend": 4, "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": 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": "Tzeusy/butlers#2476", "issue_number": "2476", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-eecd6d9f8bd0eed8", "graph_gold_label": "supported_by_high_confidence_link", "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_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2476\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2476\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2476\nRepo: Tzeusy/butlers\nIssue/PR number: 2476\nGraph consistency label: supported_by_high_confidence_link\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: {'verification_or_tests': 5, 'ui_or_frontend': 4, 'ambiguous_needs_more_evidence': 3, 'test_or_ci': 2, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-9cb1ba9a5ccb069c", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416652, "scanner": "foundry_dataset", "fingerprint": "c3881480639420118a3aef18233b73ceba2ccec209f96bf92f726c70c0448bb8", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "ui_or_frontend": 1, "source_or_other": 2, "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": 32, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 4, "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": 4, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 21, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2474", "issue_number": "2474", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-42bbf855576a80d7", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 4, "ui_or_frontend": 4, "source_or_other": 8}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2474\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2474\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2474\nRepo: Tzeusy/butlers\nIssue/PR number: 2474\nGraph consistency label: supported_by_high_confidence_link\nNodes: 21\nEdges: 32\nNode types: {'commit': 5, 'pr_file': 4, '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, 'thread_touches_file': 4, 'comment_chain_touches_file': 4, 'chain_has_link_quality': 4, 'issue_chain_touches_file': 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, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'test_or_ci': 1, 'ui_or_frontend': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-9201f85fbfa049e8", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416651, "scanner": "foundry_dataset", "fingerprint": "8b7d6e3ba75f3785238f91e8418339ff871a931b554b5c2dbaff3f8fb735f205", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "api_or_backend": 1, "ui_or_frontend": 1, "source_or_other": 2, "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": 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": "Tzeusy/butlers#2472", "issue_number": "2472", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-dc1de5a815112d5d", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 4, "ui_or_frontend": 4, "source_or_other": 8}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2472\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2472\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2472\nRepo: Tzeusy/butlers\nIssue/PR number: 2472\nGraph consistency label: supported_by_high_confidence_link\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: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_or_backend': 1, 'ui_or_frontend': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-29136302ad711d6a", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416650, "scanner": "foundry_dataset", "fingerprint": "5b0e62efd6173ef3fdcd4b1ebe82c8e2e71a8cd1ea6fcdc96c000c83462966e2", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 2, "test_ci_gap": 1, "api_or_backend": 1, "docs_or_claims": 2, "ui_or_frontend": 3, "source_or_other": 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": 47, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 9, "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": 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": 26, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 9, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2471", "issue_number": "2471", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-fe2818cb7618182c", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 8, "api_or_backend": 4, "docs_or_claims": 8, "ui_or_frontend": 12, "source_or_other": 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: Tzeusy/butlers\nThread: Tzeusy/butlers#2471\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2471\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2471\nRepo: Tzeusy/butlers\nIssue/PR number: 2471\nGraph consistency label: supported_by_high_confidence_link\nNodes: 26\nEdges: 47\nNode types: {'pr_file': 9, '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': 9, 'comment_chain_touches_file': 9, 'issue_chain_touches_file': 9, '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, 'ui_or_frontend': 3, 'ambiguous_needs_more_evidence': 3, 'docs_or_claims': 2, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_or_backend': 1, 'source_or_other': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-24e036cc556c7c61", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416649, "scanner": "foundry_dataset", "fingerprint": "2eb76e8f5e9cc1a0f3b682eca9681fb04758aad8ed597e3389513626722288af", "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": "Tzeusy/butlers#2467", "issue_number": "2467", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d5a3b6736858c984", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2467\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2467\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2467\nRepo: Tzeusy/butlers\nIssue/PR number: 2467\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-893cb36cf78f5344", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416648, "scanner": "foundry_dataset", "fingerprint": "f4b3ff12e5cf69ca7276dc7ba1d5a7f8a50fc3b23c2c22e2bf7dfbfede1a5076", "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": "Tzeusy/butlers#2464", "issue_number": "2464", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c85f635520c7a538", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2464\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2464\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2464\nRepo: Tzeusy/butlers\nIssue/PR number: 2464\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-930aa3ba17c6b177", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416647, "scanner": "foundry_dataset", "fingerprint": "a73c5d22f6a3b6192945cf3aa7714ed7dd27196a617e00c3bdb47880dc3caf1c", "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": "Tzeusy/butlers#2459", "issue_number": "2459", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-ddb88c3fbe494fce", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2459\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2459\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2459\nRepo: Tzeusy/butlers\nIssue/PR number: 2459\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-3d6e4944d1ddaab4", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416646, "scanner": "foundry_dataset", "fingerprint": "80d65f6ce9bf923b2378e2b313245d2ccb4ea64e7ae68e7667b9aeac0f6f628e", "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": "Tzeusy/butlers#2458", "issue_number": "2458", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-5341221052a40382", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2458\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2458\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2458\nRepo: Tzeusy/butlers\nIssue/PR number: 2458\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-752545223f0120a0", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416645, "scanner": "foundry_dataset", "fingerprint": "85e1c2a71ae0bf3225166f114919f7ab185c8fdbda9b6db34b0c4e1ea52d401f", "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": "Tzeusy/butlers#2456", "issue_number": "2456", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-ef37747250e26285", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2456\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2456\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2456\nRepo: Tzeusy/butlers\nIssue/PR number: 2456\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-44830546d20c0b01", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416644, "scanner": "foundry_dataset", "fingerprint": "be83b15dc60e77a3861cf1ced057884a379616cf9459146a09c2659269d6c998", "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": "Tzeusy/butlers#2454", "issue_number": "2454", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d6a3e8745f200491", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2454\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2454\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2454\nRepo: Tzeusy/butlers\nIssue/PR number: 2454\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-1c2edaf59ba217c3", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416643, "scanner": "foundry_dataset", "fingerprint": "bd1f3bc27aab4d65065cc4494ed28aefe60b9ec71a0b14a28bef7a6749040774", "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": "Tzeusy/butlers#2452", "issue_number": "2452", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-7945a07d4006d17e", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2452\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2452\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2452\nRepo: Tzeusy/butlers\nIssue/PR number: 2452\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-6fa7ba54beb2b9a1", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416642, "scanner": "foundry_dataset", "fingerprint": "ab8bd937e767b21aaa8f29fa2ed01857ad55b864db978d49a4f6e02817b38958", "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": "Tzeusy/butlers#2451", "issue_number": "2451", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-8be07986c88506fe", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2451\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2451\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2451\nRepo: Tzeusy/butlers\nIssue/PR number: 2451\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-c91617b17c4cca8b", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416641, "scanner": "foundry_dataset", "fingerprint": "99feb78e0bfd83be1f42682c5d7afaf8ddac31f5eeec4335f2ba8b11223b6f7e", "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": "Tzeusy/butlers#2450", "issue_number": "2450", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-a2d5f070f3969a96", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2450\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2450\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2450\nRepo: Tzeusy/butlers\nIssue/PR number: 2450\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-0870db836a1521b3", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416640, "scanner": "foundry_dataset", "fingerprint": "fcba168072d44d9bdf6fe719481c979888c006af69575c50954197d5148b70c2", "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": "Tzeusy/butlers#2449", "issue_number": "2449", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-63678f477e44ce77", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2449\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2449\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2449\nRepo: Tzeusy/butlers\nIssue/PR number: 2449\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-5de2d5557a90bef5", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416639, "scanner": "foundry_dataset", "fingerprint": "fb72065f4076e1b2947e2fb7a7ef10a544857210a6059f6ba45dbd9ee5486244", "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": "Tzeusy/butlers#2448", "issue_number": "2448", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-51ebbebb47fc8292", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2448\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2448\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2448\nRepo: Tzeusy/butlers\nIssue/PR number: 2448\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-328505a873983e45", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416638, "scanner": "foundry_dataset", "fingerprint": "ac519b1a3c5111bf7a61c2c02943eb40e7b80acc41073c725e54efd76f8eeab1", "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": "Tzeusy/butlers#2442", "issue_number": "2442", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-cc3746e9458de34b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2442\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2442\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2442\nRepo: Tzeusy/butlers\nIssue/PR number: 2442\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-c80ae895b5c84243", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416637, "scanner": "foundry_dataset", "fingerprint": "d99cb85ca3bc507cbbf192fe7fc9ffb7ff19a995e34c00f4d23039d711fc759e", "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": "Tzeusy/butlers#2439", "issue_number": "2439", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d5177bda06c65a8b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2439\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2439\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2439\nRepo: Tzeusy/butlers\nIssue/PR number: 2439\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-1c174677d38a3882", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416636, "scanner": "foundry_dataset", "fingerprint": "11dfac08508d106a3a6607f824b8ce432005486ddb00c468a20d85a231df7cbb", "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": "Tzeusy/butlers#2438", "issue_number": "2438", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-eed3d4890e8cac56", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2438\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2438\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2438\nRepo: Tzeusy/butlers\nIssue/PR number: 2438\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-fa9c0a8337d92aa6", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416635, "scanner": "foundry_dataset", "fingerprint": "0f3c0b909193918535acf3a525f626684efc73a9f1c34a8b5809da322d4e6691", "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": "Tzeusy/butlers#2433", "issue_number": "2433", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e6727f7177bbaee2", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2433\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2433\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2433\nRepo: Tzeusy/butlers\nIssue/PR number: 2433\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-c0fe0b10192ffd24", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416634, "scanner": "foundry_dataset", "fingerprint": "86709dc617966f41bf1b5d848c93169c455adfa75f787f47b48c8aec79adcc4f", "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": "Tzeusy/butlers#2432", "issue_number": "2432", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-0b7fd64371a3dc05", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2432\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2432\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2432\nRepo: Tzeusy/butlers\nIssue/PR number: 2432\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-17059d24dcd365d6", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416633, "scanner": "foundry_dataset", "fingerprint": "0c6f7733a65f8568a36e148074039bca5836fac5341ea1c5678236ca977381f7", "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": "Tzeusy/butlers#2429", "issue_number": "2429", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c959f8d298cf23a1", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2429\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2429\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2429\nRepo: Tzeusy/butlers\nIssue/PR number: 2429\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-e8dde1d705b553e5", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416632, "scanner": "foundry_dataset", "fingerprint": "c3c486c911f95ccb737a35a744857090d17d981617dca9877135026233dcb3c0", "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": "Tzeusy/butlers#2428", "issue_number": "2428", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-4c024701c4d19cf1", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2428\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2428\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2428\nRepo: Tzeusy/butlers\nIssue/PR number: 2428\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-8c38f8013c05869d", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416631, "scanner": "foundry_dataset", "fingerprint": "0b75cc4774bf11fa9275964bcaf97750f835f14dcc4970b34d139b9f1a538d28", "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": "Tzeusy/butlers#2427", "issue_number": "2427", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-310269dfcc9b21ad", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2427\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2427\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2427\nRepo: Tzeusy/butlers\nIssue/PR number: 2427\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-43ffc0d5d9a26bf6", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416630, "scanner": "foundry_dataset", "fingerprint": "e973755072e9ccee1dd894121b32b044a591b5a3cae00ccf72fa7c242b2f81cb", "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": "Tzeusy/butlers#2426", "issue_number": "2426", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e63de9695c1c2a18", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2426\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2426\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2426\nRepo: Tzeusy/butlers\nIssue/PR number: 2426\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-a354bd2fb97160ee", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416629, "scanner": "foundry_dataset", "fingerprint": "b69632b1423e8a2a55a7e88c2753a61bbbb50cd3d95cb78c0e4c9586b13cd175", "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": "Tzeusy/butlers#2424", "issue_number": "2424", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f6ac77234567c3c7", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2424\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2424\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2424\nRepo: Tzeusy/butlers\nIssue/PR number: 2424\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-55e6accb5ce255be", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416628, "scanner": "foundry_dataset", "fingerprint": "5c05f53487202384cf5702cbd0749b76457d75904097f12fa6b70369c1f33717", "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": "Tzeusy/butlers#2423", "issue_number": "2423", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-1a0d53a7b1b75779", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2423\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2423\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2423\nRepo: Tzeusy/butlers\nIssue/PR number: 2423\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-fd8446c4e86513f1", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416627, "scanner": "foundry_dataset", "fingerprint": "057f03bf975dad61b0289e76d1f77e831f35278b8250ab32d6de70fadc9ca374", "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": "Tzeusy/butlers#2422", "issue_number": "2422", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-fd8ec6e7483f555a", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2422\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2422\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2422\nRepo: Tzeusy/butlers\nIssue/PR number: 2422\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-95382223489eeffd", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416626, "scanner": "foundry_dataset", "fingerprint": "ba5be47b901bfdd889c19164effa8f77fe653c026b3afbcc1094fa35ef85ae16", "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": "Tzeusy/butlers#2419", "issue_number": "2419", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b82865ddf3204aec", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2419\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2419\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2419\nRepo: Tzeusy/butlers\nIssue/PR number: 2419\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-eef1d90c6c5e221c", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416625, "scanner": "foundry_dataset", "fingerprint": "97d06855cb960f2fad3d6944c546018321aac5bf5ad866890e5f9f9a4df1b6c5", "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": "Tzeusy/butlers#2418", "issue_number": "2418", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-8ce2640634629e24", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2418\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2418\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2418\nRepo: Tzeusy/butlers\nIssue/PR number: 2418\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-62a7e47f50a8d570", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416624, "scanner": "foundry_dataset", "fingerprint": "445fb458b55a6359c5e648869a73311f183f7e9c8f04d62b6367ae09ac03e23c", "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": "Tzeusy/butlers#2417", "issue_number": "2417", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-1065289eb3fa6656", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2417\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2417\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2417\nRepo: Tzeusy/butlers\nIssue/PR number: 2417\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-83dc9eddb4d9519f", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416623, "scanner": "foundry_dataset", "fingerprint": "94abb8251bc305507cb24a3eb7fd06acf6c5c5155b6b59fc8e9d58bed628b5f8", "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": "Tzeusy/butlers#2411", "issue_number": "2411", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e3ac569c97e984bf", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2411\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2411\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2411\nRepo: Tzeusy/butlers\nIssue/PR number: 2411\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-ec57062f255a8834", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416622, "scanner": "foundry_dataset", "fingerprint": "d50488c8578a5dbcc08d1b6daaf0f3ee255cb2622b598522bd172c7e7444721b", "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": "Tzeusy/butlers#2410", "issue_number": "2410", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-cf15c310852d8bb6", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2410\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2410\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2410\nRepo: Tzeusy/butlers\nIssue/PR number: 2410\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-ff0556fb904b5c38", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416621, "scanner": "foundry_dataset", "fingerprint": "cf98c8492bf6246437e2741ec08266b992ff7a740a9e498db9a987f2168b1967", "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": "Tzeusy/butlers#2409", "issue_number": "2409", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-086b3ad4afef9e45", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2409\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2409\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2409\nRepo: Tzeusy/butlers\nIssue/PR number: 2409\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-ff46fdcdf74f5ee6", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416620, "scanner": "foundry_dataset", "fingerprint": "241f0794adc797fd8c8e6b837680efd95fc0f429b3b76a1a1745b0959d2080bb", "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": "Tzeusy/butlers#2408", "issue_number": "2408", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c4598e758d6780c4", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2408\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2408\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2408\nRepo: Tzeusy/butlers\nIssue/PR number: 2408\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-7bd01255e7ffb8b6", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416619, "scanner": "foundry_dataset", "fingerprint": "830c4944abd372995493c1bb529491adc87b767c19d441a03fd4c24aa47abdbf", "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": "Tzeusy/butlers#2407", "issue_number": "2407", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-ca7568b6704ef3f1", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2407\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2407\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2407\nRepo: Tzeusy/butlers\nIssue/PR number: 2407\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-84fc21f88af898d4", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416618, "scanner": "foundry_dataset", "fingerprint": "f04e7883903cfe59d1ace6114b865d807a5a080a90f9400fd445c01955999d7e", "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, "generated_provenance": 1, "verification_or_tests": 4, "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": "Tzeusy/butlers#2404", "issue_number": "2404", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-85f25403f09ed5d1", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2404\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2404\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2404\nRepo: Tzeusy/butlers\nIssue/PR number: 2404\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': 4, '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, 'generated_provenance': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-ce0a27a90881eb87", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416617, "scanner": "foundry_dataset", "fingerprint": "4db1ccf508a3701295c5b4b4932d7bbe96e4e4d21c02000dcb5b8a4ce3367e36", "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": "Tzeusy/butlers#2403", "issue_number": "2403", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-959de642b3a0d4a3", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2403\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2403\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2403\nRepo: Tzeusy/butlers\nIssue/PR number: 2403\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-d8e22a58d01c86db", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416616, "scanner": "foundry_dataset", "fingerprint": "4a9588c307fce89729d1c630fc3b9eaa22101fb41dd0dcda02db5a8de9f871bd", "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": "Tzeusy/butlers#2402", "issue_number": "2402", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-7b02c85a34886722", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2402\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2402\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2402\nRepo: Tzeusy/butlers\nIssue/PR number: 2402\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-7f94f7efc72bc825", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416615, "scanner": "foundry_dataset", "fingerprint": "4a30846abf62d53cf0b4957807e2aaf3d53bf3390aaa65dee7fe6c0df39738fe", "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": "Tzeusy/butlers#2401", "issue_number": "2401", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-5ab604bf9399898d", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2401\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2401\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2401\nRepo: Tzeusy/butlers\nIssue/PR number: 2401\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-5e9b2f2eb59c90d9", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416614, "scanner": "foundry_dataset", "fingerprint": "00b2ad8205a05e50c2c1752172e53072c13b6d623029e4be5b227175eb01b08b", "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, "agent_instruction_gap": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 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": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#24", "issue_number": "24", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-982d942e115ef46b", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#24\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: Tzeusy/butlers\nThread: Tzeusy/butlers#24\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#24\nRepo: Tzeusy/butlers\nIssue/PR number: 24\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'agent_instruction_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-f9764099b9deda6c", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416613, "scanner": "foundry_dataset", "fingerprint": "cad61cea20d8f72f404e3ec8091b31e49cd17ecbed8eaf2da74fa609ec70820f", "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": "Tzeusy/butlers#2397", "issue_number": "2397", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-17280ed6dd68329a", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2397\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2397\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2397\nRepo: Tzeusy/butlers\nIssue/PR number: 2397\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-b544ff0567e80f48", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416612, "scanner": "foundry_dataset", "fingerprint": "e419f288769ae5e1e3e7296d32308db83ab2b1483c34a7da3c176427b138f38b", "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": "Tzeusy/butlers#2396", "issue_number": "2396", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-826e7fbce127f9e6", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2396\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2396\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2396\nRepo: Tzeusy/butlers\nIssue/PR number: 2396\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-bd1ee28437ec2e8e", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416611, "scanner": "foundry_dataset", "fingerprint": "02660b1ff48e9d6f63cb649be7e09eb07e434da8665e8b687b26ea64c09c9463", "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": "Tzeusy/butlers#2395", "issue_number": "2395", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-192a2c43f0b7194e", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2395\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2395\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2395\nRepo: Tzeusy/butlers\nIssue/PR number: 2395\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-9639605b38224e78", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416610, "scanner": "foundry_dataset", "fingerprint": "41c091fcf8746c4bdaa75502455f392a7ec54e92ef9bafd2a25510a25e6829a3", "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": "Tzeusy/butlers#2390", "issue_number": "2390", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-1a7ced5e24c3dfd5", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2390\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2390\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2390\nRepo: Tzeusy/butlers\nIssue/PR number: 2390\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-74b1a7daabce4dbf", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416609, "scanner": "foundry_dataset", "fingerprint": "064f05f4f789bb5550c0df3b1dffd6a9e89ce80b1b2be4af379cc8e854dd695e", "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": "Tzeusy/butlers#2389", "issue_number": "2389", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b663538638060a13", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2389\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2389\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2389\nRepo: Tzeusy/butlers\nIssue/PR number: 2389\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-49ee8095b4be913c", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416608, "scanner": "foundry_dataset", "fingerprint": "ef698bc5069901c4dc1d55c3ac07a8b0f1103d8c3e3374fb1805fcf19d9076ef", "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, "human_feedback_general": 1, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 23, "node_types": {"repo": 1, "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": "Tzeusy/butlers#23", "issue_number": "23", "quality_tiers": {"unresolved": 6, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-3cabd89ca1b3da10", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#23\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: Tzeusy/butlers\nThread: Tzeusy/butlers#23\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#23\nRepo: Tzeusy/butlers\nIssue/PR number: 23\nGraph consistency label: assumption_check\nNodes: 23\nEdges: 34\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-e6ee49713fa3edda", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416607, "scanner": "foundry_dataset", "fingerprint": "98421754e00be859c08c73e01840a0121c51e677b52e481ec48d1ab9eb439e5d", "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, "api_integration_gap": 1, "security_auth_secret": 3, "human_feedback_general": 2, "unlinked_human_feedback": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 7, "ambiguous_needs_more_evidence": 2, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 5, "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": 14, "ambiguous_needs_more_evidence": 4}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 49, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 7, "thread_has_comment": 7, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 11, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 7}, "node_count": 32, "node_types": {"repo": 1, "thread": 1, "comment": 7, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 7, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#22", "issue_number": "22", "quality_tiers": {"unresolved": 9, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-20016900fbf58a7c", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#22\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: Tzeusy/butlers\nThread: Tzeusy/butlers#22\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#22\nRepo: Tzeusy/butlers\nIssue/PR number: 22\nGraph consistency label: assumption_check\nNodes: 32\nEdges: 49\nNode types: {'link_quality': 11, 'comment': 7, 'comment_chain': 7, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 11, 'thread_has_comment': 7, 'thread_has_comment_chain': 7, 'comment_has_chain': 7, 'issue_chain_has_comment_chain': 7, '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: {'not_resolved_or_not_observed': 7, 'human_reported_issue_no_linked_fix': 5, 'security_auth_secret': 3, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'ambiguous_needs_more_evidence': 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, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 14, 'ambiguous_needs_more_evidence': 4}\nQuality tiers: {'unresolved': 9, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-da243896ba866e4f", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416606, "scanner": "foundry_dataset", "fingerprint": "6f927443d029207badea642581a1685036b4846fc4ef04050a6ade615c9383a5", "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, "positive_human_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "positive_feedback_no_linked_change": 1, "human_positive_or_acceptance_signal": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2, "human_positive_or_acceptance_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": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#21", "issue_number": "21", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b6bb82343f00c5c7", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#21\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#21\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#21\nRepo: Tzeusy/butlers\nIssue/PR number: 21\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'positive_human_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'positive_feedback_no_linked_change': 1, 'human_positive_or_acceptance_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2, 'human_positive_or_acceptance_signal': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-fc41eb96b0c0c756", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416605, "scanner": "foundry_dataset", "fingerprint": "219aafb202d27bc74f310058fac76e27cd593e51d5b75ea2cccc07421518ff64", "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, "positive_human_signal": 3, "verification_or_tests": 1, "human_feedback_general": 3, "data_schema_persistence": 1, "unlinked_human_feedback": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 6, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "positive_feedback_no_linked_change": 2, "human_positive_or_acceptance_signal": 3, "positive_feedback_with_related_change": 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": 12, "human_positive_or_acceptance_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 56, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 8, "thread_has_comment": 8, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 12, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 8, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 8}, "node_count": 36, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 8, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 12, "comment_chain": 8, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#19", "issue_number": "19", "quality_tiers": {"unresolved": 6, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-824ed41c449d5ee0", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#19\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: Tzeusy/butlers\nThread: Tzeusy/butlers#19\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#19\nRepo: Tzeusy/butlers\nIssue/PR number: 19\nGraph consistency label: weak_supervision_needs_review\nNodes: 36\nEdges: 56\nNode types: {'link_quality': 12, 'comment': 8, 'comment_chain': 8, 'alignment': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 12, 'thread_has_comment': 8, 'thread_has_comment_chain': 8, 'comment_has_chain': 8, 'issue_chain_has_comment_chain': 8, 'comment_chain_links_commit': 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': 6, 'human_feedback_general': 3, 'positive_human_signal': 3, 'unlinked_human_feedback': 3, 'human_positive_or_acceptance_signal': 3, 'positive_feedback_no_linked_change': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'positive_feedback_with_related_change': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12, 'human_positive_or_acceptance_signal': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-e12549be01c7a71d", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416604, "scanner": "foundry_dataset", "fingerprint": "ec911df7fc2b6819a2626747cd6cae2ff163622f2329a449075a6259961d98c9", "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, "positive_human_signal": 1, "human_feedback_general": 5, "unlinked_human_feedback": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 7, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "positive_feedback_no_linked_change": 1, "human_positive_or_acceptance_signal": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 14, "human_positive_or_acceptance_signal": 2}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 50, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 8, "thread_has_comment": 8, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 11, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 8}, "node_count": 33, "node_types": {"repo": 1, "thread": 1, "comment": 8, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 8, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#18", "issue_number": "18", "quality_tiers": {"unresolved": 10, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-317e27f0683b4f52", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#18\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#18\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#18\nRepo: Tzeusy/butlers\nIssue/PR number: 18\nGraph consistency label: assumption_check\nNodes: 33\nEdges: 50\nNode types: {'link_quality': 11, 'comment': 8, 'comment_chain': 8, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 11, 'thread_has_comment': 8, 'thread_has_comment_chain': 8, 'comment_has_chain': 8, 'issue_chain_has_comment_chain': 8, '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': 7, 'human_feedback_general': 5, 'unlinked_human_feedback': 5, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'positive_human_signal': 1, 'positive_feedback_no_linked_change': 1, 'human_positive_or_acceptance_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 14, 'not_resolved_or_not_observed': 4, 'human_positive_or_acceptance_signal': 2}\nQuality tiers: {'unresolved': 10, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-89c031e2602f41f0", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416603, "scanner": "foundry_dataset", "fingerprint": "3ad50a473deca711654229628c7dcb150e835dea3905e9e31b9cbd691695cd68", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 2, "security_auth_secret": 2, "agent_instruction_gap": 2, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 6, "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": 16, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 49, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 7, "thread_has_comment": 7, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 11, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 7}, "node_count": 32, "node_types": {"repo": 1, "thread": 1, "comment": 7, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 7, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#17", "issue_number": "17", "quality_tiers": {"unresolved": 9, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6b3c0abaa6bf5931", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#17\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: Tzeusy/butlers\nThread: Tzeusy/butlers#17\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#17\nRepo: Tzeusy/butlers\nIssue/PR number: 17\nGraph consistency label: assumption_check\nNodes: 32\nEdges: 49\nNode types: {'link_quality': 11, 'comment': 7, 'comment_chain': 7, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 11, 'thread_has_comment': 7, 'thread_has_comment_chain': 7, 'comment_has_chain': 7, 'issue_chain_has_comment_chain': 7, '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: {'not_resolved_or_not_observed': 8, 'human_reported_issue_no_linked_fix': 6, 'security_auth_secret': 2, 'test_ci_gap': 2, 'agent_instruction_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 16, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 9, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-bcd77dbcb4d85102", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416602, "scanner": "foundry_dataset", "fingerprint": "f49da903030487cfc791f1522105f50f68851328a92d370bc38f94743d714f73", "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, "positive_human_signal": 5, "human_feedback_general": 10, "data_schema_persistence": 2, "unlinked_human_feedback": 10, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 12, "blueprint_human_gap_disagreement": 3, "human_reported_issue_no_linked_fix": 3, "positive_feedback_no_linked_change": 5, "human_positive_or_acceptance_signal": 5, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 24, "human_positive_or_acceptance_signal": 10}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 108, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 18, "thread_has_comment": 18, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 23, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 18, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 18}, "node_count": 67, "node_types": {"repo": 1, "thread": 1, "comment": 18, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 23, "comment_chain": 18, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#16", "issue_number": "16", "quality_tiers": {"unresolved": 20, "assumption_check": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-428feb6574de4ab9", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#16\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#16\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#16\nRepo: Tzeusy/butlers\nIssue/PR number: 16\nGraph consistency label: assumption_check\nNodes: 67\nEdges: 108\nNode types: {'link_quality': 23, 'comment': 18, 'comment_chain': 18, 'alignment': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 23, 'thread_has_comment': 18, 'thread_has_comment_chain': 18, 'comment_has_chain': 18, 'issue_chain_has_comment_chain': 18, '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: {'ambiguous_needs_more_evidence': 12, 'human_feedback_general': 10, 'unlinked_human_feedback': 10, 'positive_human_signal': 5, 'positive_feedback_no_linked_change': 5, 'human_positive_or_acceptance_signal': 5, 'human_reported_issue_no_linked_fix': 3, 'not_resolved_or_not_observed': 3, 'blueprint_human_gap_disagreement': 3, 'data_schema_persistence': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 24, 'human_positive_or_acceptance_signal': 10, 'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 20, 'assumption_check': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-9637c4e736d4956c", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416601, "scanner": "foundry_dataset", "fingerprint": "4e3702dcd46800bf96f17c99a6af70150c29016f01942cdeb8c95c76d5add178", "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, "mock_placeholder": 1, "agent_instruction_gap": 2, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 3, "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": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 22, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#14", "issue_number": "14", "quality_tiers": {"unresolved": 3, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-4749fcef072cf2cd", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#14\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: Tzeusy/butlers\nThread: Tzeusy/butlers#14\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#14\nRepo: Tzeusy/butlers\nIssue/PR number: 14\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 31\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'agent_instruction_gap': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 3, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-537a195804e62f4a", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416600, "scanner": "foundry_dataset", "fingerprint": "a2f77dd26239057ff0f2296c258d0e671894d214b65684640d2762544aaa7579", "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": 3, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 3, "comment_has_related_commit_context": 2, "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": 8}, "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": 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": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 23, "node_types": {"repo": 1, "commit": 1, "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": "Tzeusy/butlers#13", "issue_number": "13", "quality_tiers": {"unresolved": 1, "assumption_check": 3, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-afd70bbdfcdcae4c", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#13\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: Tzeusy/butlers\nThread: Tzeusy/butlers#13\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#13\nRepo: Tzeusy/butlers\nIssue/PR number: 13\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 35\nNode types: {'link_quality': 8, 'comment': 3, 'comment_chain': 3, 'alignment': 3, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'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, 'comment_chain_links_commit': 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, 'test_ci_gap': 3, 'blueprint_human_gap_disagreement': 3, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'verification_or_tests': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 3, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-98580e4338d2540c", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416599, "scanner": "foundry_dataset", "fingerprint": "b583b536d0911def902cd9edbb802d84c8c1475091ba09e53977d9ccd3199711", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 2, "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": 24, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 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": "Tzeusy/butlers#12", "issue_number": "12", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-42e329edc9a7b6ba", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#12\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#12\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#12\nRepo: Tzeusy/butlers\nIssue/PR number: 12\nGraph consistency label: assumption_check\nNodes: 17\nEdges: 24\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'test_ci_gap': 2, '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, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-1bbfa8ca39dcca4d", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416598, "scanner": "foundry_dataset", "fingerprint": "7e832ce926d12c4a96b86ab9c0f5bea924cba0fe83fb1050aa05189a756b9da7", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 2, "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": 24, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 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": "Tzeusy/butlers#10", "issue_number": "10", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-a4d2aaa22fd8f058", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#10\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#10\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#10\nRepo: Tzeusy/butlers\nIssue/PR number: 10\nGraph consistency label: assumption_check\nNodes: 17\nEdges: 24\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'test_ci_gap': 2, '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, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-07542ec2d0768b47", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 416597, "scanner": "foundry_dataset", "fingerprint": "8a97caf82503a0f6f5f653548aba5caec4c502c0518700271f6fa9f5dae771ba", "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": 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": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 22, "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": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 16, "node_types": {"repo": 1, "commit": 1, "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": "Tzeusy/butlers#1", "issue_number": "1", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b5a7513c4cf9548b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#1\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#1\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#1\nRepo: Tzeusy/butlers\nIssue/PR number: 1\nGraph consistency label: weak_supervision_needs_review\nNodes: 16\nEdges: 22\nNode types: {'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'test_ci_gap': 1, 'verification_or_tests': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-5c72c592571048af", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 409286, "scanner": "foundry_dataset", "fingerprint": "da55e647fc818a37bb17be29efb03b384a09daad65288b968a22d3ec7ed79977", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"security_auth_secret": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 8}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#6", "issue_number": "6", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-93ea05edbad647a0", "graph_gold_label": "assumption_check", "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: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#6\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#6\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#6\nRepo: Tzeusy/butlers\nIssue/PR number: 6\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8}\nQuality tiers: {'unresolved': 4, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-b59d7041625de15a", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 409285, "scanner": "foundry_dataset", "fingerprint": "468fc103256cb5bc585741886c6c23a867ec510b432df52f2fc0b24e5dae72e6", "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, "security_auth_secret": 1, "agent_instruction_gap": 1, "verification_or_tests": 1, "human_feedback_general": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 7, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 5, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 14}, "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": 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": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 27, "node_types": {"repo": 1, "commit": 1, "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": "Tzeusy/butlers#3", "issue_number": "3", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-aa7148387343ff98", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#3\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: Tzeusy/butlers\nThread: Tzeusy/butlers#3\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#3\nRepo: Tzeusy/butlers\nIssue/PR number: 3\nGraph consistency label: supported_by_high_confidence_link\nNodes: 27\nEdges: 44\nNode types: {'link_quality': 9, 'comment': 5, 'comment_chain': 5, 'alignment': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 9, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'comment_chain_links_commit': 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: {'ambiguous_needs_more_evidence': 7, 'comment_has_related_commit_context': 5, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'api_integration_gap': 1, 'human_feedback_general': 1, 'agent_instruction_gap': 1, 'verification_or_tests': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 14}\nQuality tiers: {'weak_supervision': 4, 'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-cbc292f18efc781a", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 409284, "scanner": "foundry_dataset", "fingerprint": "3f9e3d90d76e31d480e00af706e403bf4595616dce3fbf34b6c5e0c39774b37e", "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": {"test_or_ci": 1, "api_or_backend": 5, "api_integration_gap": 6, "verification_or_tests": 10, "data_schema_persistence": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 10, "blueprint_human_gap_disagreement": 8, "comment_has_related_commit_context": 8, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 20}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 166, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 8, "thread_has_comment": 1, "thread_touches_file": 6, "thread_has_pr_review": 7, "alignment_uses_comment": 8, "alignment_uses_finding": 8, "chain_has_link_quality": 18, "comment_aligns_finding": 8, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 6, "thread_has_comment_chain": 8, "comment_chain_links_commit": 28, "comment_chain_touches_file": 48, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 8}, "node_count": 63, "node_types": {"repo": 1, "commit": 10, "thread": 1, "comment": 1, "pr_file": 6, "alignment": 8, "pr_review": 7, "fix_outcome": 1, "issue_chain": 1, "link_quality": 18, "comment_chain": 8, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2484", "issue_number": "2484", "quality_tiers": {"high_confidence": 10, "assumption_check": 8}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-4c4ce46b14da55b3", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 11, "api_or_backend": 55}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2484\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2484\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2484\nRepo: Tzeusy/butlers\nIssue/PR number: 2484\nGraph consistency label: supported_by_high_confidence_link\nNodes: 63\nEdges: 166\nNode types: {'link_quality': 18, 'commit': 10, 'comment_chain': 8, 'alignment': 8, 'pr_review': 7, 'pr_file': 6, 'thread': 1, 'repo': 1, 'comment': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 48, 'comment_chain_links_commit': 28, 'chain_has_link_quality': 18, 'thread_has_comment_chain': 8, 'comment_has_chain': 8, 'issue_chain_has_comment_chain': 8, 'alignment_uses_comment': 8, 'alignment_uses_finding': 8, 'comment_aligns_finding': 8, 'thread_has_pr_review': 7, 'thread_touches_file': 6, 'issue_chain_touches_file': 6, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 10, 'ambiguous_needs_more_evidence': 10, 'comment_has_related_commit_context': 8, 'blueprint_human_gap_disagreement': 8, 'api_integration_gap': 6, 'api_or_backend': 5, 'data_schema_persistence': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_or_ci': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 20}\nQuality tiers: {'high_confidence': 10, 'assumption_check': 8}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-258b7b10f305ffc7", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 409283, "scanner": "foundry_dataset", "fingerprint": "ca5a133ed1636f132169e65554d0318c5e0c0f239b5e5a8e8086471302b4d57a", "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": {"test_or_ci": 1, "test_ci_gap": 1, "source_or_other": 2, "verification_or_tests": 8, "human_feedback_general": 1, "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}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 10}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 59, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 1, "thread_touches_file": 3, "thread_has_pr_review": 2, "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, "issue_chain_touches_file": 3, "thread_has_comment_chain": 3, "comment_chain_links_commit": 15, "comment_chain_touches_file": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 31, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 1, "pr_file": 3, "alignment": 2, "pr_review": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2480", "issue_number": "2480", "quality_tiers": {"high_confidence": 5, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-75c22089803912f1", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 6, "source_or_other": 12}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2480\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2480\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2480\nRepo: Tzeusy/butlers\nIssue/PR number: 2480\nGraph consistency label: supported_by_high_confidence_link\nNodes: 31\nEdges: 59\nNode types: {'commit': 8, 'link_quality': 7, 'pr_file': 3, 'comment_chain': 3, 'pr_review': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 15, 'comment_chain_touches_file': 9, 'chain_has_link_quality': 7, 'thread_touches_file': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'issue_chain_touches_file': 3, 'thread_has_pr_review': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 8, 'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'data_schema_persistence': 1, 'human_feedback_general': 1, 'test_or_ci': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10}\nQuality tiers: {'high_confidence': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-b5b689f77d7e30a9", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 409282, "scanner": "foundry_dataset", "fingerprint": "f64c4af8bc3d7fddd3af602c38d8dfcfde7de57a6268ded7625b54668f12a586", "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, "data_schema_persistence": 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}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "Tzeusy/butlers#2468", "issue_number": "2468", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-db5fee93ec5a1272", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2468\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2468\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2468\nRepo: Tzeusy/butlers\nIssue/PR number: 2468\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, 'data_schema_persistence': 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- 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-589df2434307884b", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 409281, "scanner": "foundry_dataset", "fingerprint": "b821bcd75718e6f1102f8d1a75475318633c8dd1aaf1bcf037f050265065bc65", "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": {"test_or_ci": 5, "ui_or_frontend": 3, "verification_or_tests": 5, "data_schema_persistence": 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}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "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": 1, "thread_has_comment": 1, "thread_touches_file": 8, "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": 8, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 8, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2465", "issue_number": "2465", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-137581d7879bf697", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 20, "ui_or_frontend": 12}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2465\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2465\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2465\nRepo: Tzeusy/butlers\nIssue/PR number: 2465\nGraph consistency label: supported_by_high_confidence_link\nNodes: 25\nEdges: 44\nNode types: {'pr_file': 8, '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': 8, 'comment_chain_touches_file': 8, 'issue_chain_touches_file': 8, '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': 5, 'verification_or_tests': 5, 'ui_or_frontend': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 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- 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-08b9333a55656440", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 409280, "scanner": "foundry_dataset", "fingerprint": "7aecd8cdb6652002f7a181606d6c28150985b7edbd1f08f2dda44c218ef55ce1", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 1, "verification_or_tests": 4, "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": 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": "Tzeusy/butlers#2460", "issue_number": "2460", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-26ac30592409e888", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2460\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2460\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2460\nRepo: Tzeusy/butlers\nIssue/PR number: 2460\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, 'data_schema_persistence': 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- 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-2298736ef7020225", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 409279, "scanner": "foundry_dataset", "fingerprint": "4bdf8fbf21043f5b9e7a33bab1cfe3fef17fee312ff51e6ac1760e550b609033", "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": {"generated_provenance": 1, "verification_or_tests": 4, "data_schema_persistence": 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}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "Tzeusy/butlers#2434", "issue_number": "2434", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-d1a57ffd936c2fd6", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_high_confidence_link\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2434\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2434\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2434\nRepo: Tzeusy/butlers\nIssue/PR number: 2434\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': 4, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'generated_provenance': 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- 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-a7d21d3bc0ae75b0", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 409278, "scanner": "foundry_dataset", "fingerprint": "965a9dde39d5a79f3e8c72296bb27cfac4f725e29d56192aa807b513ecb42ab7", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 1, "verification_or_tests": 4, "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": 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": "Tzeusy/butlers#2414", "issue_number": "2414", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-084489501b7f7a4f", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2414\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2414\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2414\nRepo: Tzeusy/butlers\nIssue/PR number: 2414\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, 'data_schema_persistence': 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- 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-729227c413a6f72d", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 409277, "scanner": "foundry_dataset", "fingerprint": "ee551d9fbd6403402c85bf72b29d6eabb65339006eb8b3c2d35175e3a13c2d0a", "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, "data_schema_persistence": 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}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "Tzeusy/butlers#2392", "issue_number": "2392", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-d47ffe6921c465c1", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2392\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2392\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2392\nRepo: Tzeusy/butlers\nIssue/PR number: 2392\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, 'data_schema_persistence': 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- 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-a8ea13aa2f7fbca3", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 409276, "scanner": "foundry_dataset", "fingerprint": "887b118cb5732287dc186b965fbcc2cb61982334ac0e91f1be52dd9dc76b618d", "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": {"test_ci_gap": 1, "security_auth_secret": 1, "human_feedback_general": 1, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 34, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 23, "node_types": {"repo": 1, "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": "Tzeusy/butlers#23", "issue_number": "23", "quality_tiers": {"unresolved": 6, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-f0a9c0c2172bea85", "graph_gold_label": "assumption_check", "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: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#23\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: Tzeusy/butlers\nThread: Tzeusy/butlers#23\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#23\nRepo: Tzeusy/butlers\nIssue/PR number: 23\nGraph consistency label: assumption_check\nNodes: 23\nEdges: 34\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-65066501bdce000f", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 409275, "scanner": "foundry_dataset", "fingerprint": "9c47e115c1998d429a1210e6a4d65cde8598acc7be6dc491f1f50672caf4b257", "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": {"test_ci_gap": 1, "positive_human_signal": 3, "verification_or_tests": 1, "human_feedback_general": 3, "data_schema_persistence": 1, "unlinked_human_feedback": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 6, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "positive_feedback_no_linked_change": 2, "human_positive_or_acceptance_signal": 3, "positive_feedback_with_related_change": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 12, "human_positive_or_acceptance_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 56, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 8, "thread_has_comment": 8, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 12, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 8, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 8}, "node_count": 36, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 8, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 12, "comment_chain": 8, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#19", "issue_number": "19", "quality_tiers": {"unresolved": 6, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-737030c3f06ea616", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#19\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: Tzeusy/butlers\nThread: Tzeusy/butlers#19\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#19\nRepo: Tzeusy/butlers\nIssue/PR number: 19\nGraph consistency label: weak_supervision_needs_review\nNodes: 36\nEdges: 56\nNode types: {'link_quality': 12, 'comment': 8, 'comment_chain': 8, 'alignment': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 12, 'thread_has_comment': 8, 'thread_has_comment_chain': 8, 'comment_has_chain': 8, 'issue_chain_has_comment_chain': 8, 'comment_chain_links_commit': 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': 6, 'human_feedback_general': 3, 'positive_human_signal': 3, 'unlinked_human_feedback': 3, 'human_positive_or_acceptance_signal': 3, 'positive_feedback_no_linked_change': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'positive_feedback_with_related_change': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12, 'human_positive_or_acceptance_signal': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 6, 'weak_supervision': 4, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-2ed51e8cf0e2151e", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 409274, "scanner": "foundry_dataset", "fingerprint": "d38455bdb5799ff7b903dd5c2d3a9a99270189b954a1d11111665f18badd761a", "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": {"test_ci_gap": 1, "positive_human_signal": 5, "human_feedback_general": 10, "data_schema_persistence": 2, "unlinked_human_feedback": 10, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 12, "blueprint_human_gap_disagreement": 3, "human_reported_issue_no_linked_fix": 3, "positive_feedback_no_linked_change": 5, "human_positive_or_acceptance_signal": 5, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 24, "human_positive_or_acceptance_signal": 10}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 108, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 18, "thread_has_comment": 18, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 23, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 18, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 18}, "node_count": 67, "node_types": {"repo": 1, "thread": 1, "comment": 18, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 23, "comment_chain": 18, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#16", "issue_number": "16", "quality_tiers": {"unresolved": 20, "assumption_check": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-4fce40b66f324517", "graph_gold_label": "assumption_check", "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: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#16\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: Tzeusy/butlers\nThread: Tzeusy/butlers#16\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#16\nRepo: Tzeusy/butlers\nIssue/PR number: 16\nGraph consistency label: assumption_check\nNodes: 67\nEdges: 108\nNode types: {'link_quality': 23, 'comment': 18, 'comment_chain': 18, 'alignment': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 23, 'thread_has_comment': 18, 'thread_has_comment_chain': 18, 'comment_has_chain': 18, 'issue_chain_has_comment_chain': 18, '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: {'ambiguous_needs_more_evidence': 12, 'human_feedback_general': 10, 'unlinked_human_feedback': 10, 'positive_human_signal': 5, 'positive_feedback_no_linked_change': 5, 'human_positive_or_acceptance_signal': 5, 'human_reported_issue_no_linked_fix': 3, 'not_resolved_or_not_observed': 3, 'blueprint_human_gap_disagreement': 3, 'data_schema_persistence': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 24, 'human_positive_or_acceptance_signal': 10, 'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 20, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-2da678308a36c6d1", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386387, "scanner": "foundry_dataset", "fingerprint": "044194dc6371f5276f23de735f5ff5e2a3435ade43ec3350e0389059d2a05dcc", "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": "Tzeusy/butlers#9", "human_labels": ["api_integration_gap", "mock_placeholder"], "issue_number": "9", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-1df050282ce66bb6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#9\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: Tzeusy/butlers#9\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 3\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'api_integration_gap': 2}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-07b24fede4871f1b\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/9#issuecomment-3893469231\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/9#issuecomment-3893469231\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly enhances the frontend by transforming the static `/butlers` route into a dynamic and interactive index page. It improves user feedback by displaying clear loading, empty, and error states, and streamlines navigation to specific butler details. Additionally, it establishes a robust frontend testing framework using Vitest, ensuring the reliability and maintainability of these new features.\\n\\n### Highlights\\n\\n* **Functional Butlers Index Page**: Implemented a dynamic and functional butlers index page, replacing the previous placeholder content.\\n* **Enhanced UI States**: Introduced explicit loading, empty, and error states to provide clear user feedback and avoid ambiguous blank UIs.\\n* **Improved Navigation**: Added pe\"\n  },\n  {\n    \"id\": \"github-feedback-comment-f8be8d621337e005\",\n    \"kind\": \"review_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/9#discussion_r2801142202\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/9#discussion_r2801142202\\nTitle: \\nBody:\\n![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)\\n\\nFor performance optimization, it's a good practice to memoize derived data. The `butlers` array and `onlineCount` are recalculated on every render. Using `useMemo`\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-0ce3da0682286db7", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386386, "scanner": "foundry_dataset", "fingerprint": "c620c38c061c0c4869e7591b7274ff2a74156729efbf9f366152ea1f51e450a0", "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": "Tzeusy/butlers#8", "human_labels": ["test_ci_gap"], "issue_number": "8", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-e82a8ff17b16954a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#8\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: Tzeusy/butlers#8\nRepo: Tzeusy/butlers\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: {'test_ci_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8f24da31045e1441\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/8#issuecomment-3892534040\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/8#issuecomment-3892534040\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request addresses an outdated blocker issue by reframing it as obsolete. It clarifies that the original problem statement is no longer relevant due to changes in the CI pipeline, specifically the transition from Poetry to `uv sync --dev`. The update ensures that the issue tracker accurately reflects the current development environment and avoids unnecessary work on a non-existent problem.\\n\\n### Highlights\\n\\n* **Reframed Blocker Issue**: The existing blocker issue `butlers-jrk` has been reclassified as a stale/obsolete report. Its original premise, which concerned `poetry install` commands in the CI workflow, was found to be outdated as the CI now exclusively uses `uv sync --dev`.\\n* **Documentation of Current State**: The pull request documen\"\n  },\n  {\n    \"id\": \"github-feedback-comment-42bc88e14c89d691\",\n    \"kind\": \"review_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/8#discussion_r2800351825\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/8#discussion_r2800351825\\nTitle: \\nBody:\\n![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)\\n\\nThere is significant overlap between the `description` and the newly added `notes` field. To improve clarity and reduce redundancy, I suggest making the `description` a concise summary of the current state and moving\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-e71f322f97154274", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386385, "scanner": "foundry_dataset", "fingerprint": "e8add46fecaf0a8add9da5133bb7e28efa6ab5bbaa2af7eaae6f25a79d71d11d", "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": "Tzeusy/butlers#7", "human_labels": ["human_feedback_general", "security_auth_secret", "test_ci_gap"], "issue_number": "7", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-f5eaf0dac18abf39", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#7\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: Tzeusy/butlers#7\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 3\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'human_feedback_general': 1, 'test_ci_gap': 1}\nPolarities: {'bad': 2, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a9740cfcf00ba849\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/7#issuecomment-3892532323\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/7#issuecomment-3892532323\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request introduces new unit tests to the `butlers-nxg` project, specifically targeting the relationship migration system. The primary goal is to enforce the correct handling of branch labels within migration chains, ensuring that only the initial migration in a branch declares a label. This helps maintain data integrity and prevents potential issues arising from incorrect migration metadata.\\n\\n### Highlights\\n\\n* **Regression Coverage**: Added new unit tests to ensure that only the root of a relationship migration branch carries a branch label, preventing regressions where subsequent migrations might incorrectly declare one.\\n* **Migration Loading**: Included tests that exercise migration loading mechanisms to proactively prevent issu\"\n  },\n  {\n    \"id\": \"github-feedback-comment-e86f300de231c92b\",\n    \"kind\": \"review_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/7#discussion_r2800331283\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/7#discussion_r2800331283\\nTitle: \\nBody:\\n![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)\\n\\nFor better type safety and code clarity, you should add a return type hint to this function. It appears to\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-e9dd4ec1bead32ac", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386384, "scanner": "foundry_dataset", "fingerprint": "410d7c9ca0d0712326bbbeedcf3207841fbb545b9c72ea460a7b83f8c00970c4", "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": "Tzeusy/butlers#6", "human_labels": ["data_schema_persistence", "security_auth_secret"], "issue_number": "6", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-7d0fee2428816ab3", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#6\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: Tzeusy/butlers#6\nRepo: Tzeusy/butlers\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': 1, 'data_schema_persistence': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a7dd3e03864f2048\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/6#issuecomment-3892525061\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/6#issuecomment-3892525061\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request addresses issues within the relationship migration chain by standardizing file naming conventions and correcting metadata. It also introduces comprehensive tests to prevent future inconsistencies, ensuring the migration process is robust and reliable.\\n\\n### Highlights\\n\\n* **Migration File Renaming**: Renamed several relationship migration files from ambiguous `002_*` prefixes to revision-specific `rel_002*` names to improve clarity and avoid conflicts.\\n* **Migration Metadata Correction**: Fixed stale `Revises` metadata in migration docstrings to accurately reflect the `down_revision` links, ensuring a correct migration chain.\\n* **Regression Tests Added**: Introduced new regression tests to validate the integrity of the full \"\n  },\n  {\n    \"id\": \"github-feedback-comment-5e445f7af975947f\",\n    \"kind\": \"review_comment\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/6#discussion_r2800321847\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/6#discussion_r2800321847\\nTitle: \\nBody:\\n![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)\\n\\nThe test `test_relationship_chain_has_unique_revisions_and_is_linear` contains hardcoded values that could be derived from `EXPECTED_CHAIN`. Th\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-88bc9e99d0c67a1a", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386383, "scanner": "foundry_dataset", "fingerprint": "34d9d486f38a17949e38b8671f6047584acc54c7f7147f11d05b4ca7b1542c62", "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": "Tzeusy/butlers#39", "human_labels": ["human_feedback_general", "mock_placeholder"], "issue_number": "39", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-b2e855fa03d894a0", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#39\nOutcome: ambiguous_needs_more_evidence\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: Tzeusy/butlers#39\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'mock_placeholder': 1}\nPolarities: {'neutral': 1, 'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1f4443518cff5a5e\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/39#issuecomment-3894680266\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/39#issuecomment-3894680266\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-893c6620477ee9e5\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/39#issuecomment-3894680965\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/39#issuecomment-3894680965\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request introduces a new capability to summarize session and token usage data over predefined periods, enhancing the system's ability to report on operational costs and resource consumption. By integrating this summary functionality as a registered daemon tool and improving error handling in the cost aggregation API, the system gains better visibility into usage patterns and becomes more resilient to transient issues during data collection.\\n\\n### Highlights\\n\\n* **New `sessions_summary` API**: A new core `sessions_summary` API was added in `butlers.core.sessions` to provide aggregate s\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-50caa24fb623d48c", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386382, "scanner": "foundry_dataset", "fingerprint": "5271dc3e42ff505893b6847e76d3454dc5f14d8aa9bc7a0430e64309499885cb", "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": "Tzeusy/butlers#34", "human_labels": ["human_feedback_general", "mock_placeholder"], "issue_number": "34", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-dd4b7708a9d55cb7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#34\nOutcome: ambiguous_needs_more_evidence\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: Tzeusy/butlers#34\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'mock_placeholder': 1}\nPolarities: {'neutral': 1, 'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7aef84c82b3f58b5\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/34#issuecomment-3894304742\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/34#issuecomment-3894304742\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-a2f9106c04aa6acc\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/34#issuecomment-3894305592\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/34#issuecomment-3894305592\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request introduces significant enhancements to the system's message routing by enabling identity-prefixed tool names and ensuring robust propagation of source metadata. These changes allow for more precise and context-aware routing of messages, particularly within pipeline invocations and during fallback scenarios. The update ensures that critical information about the message's origin and context is consistently maintained and utilized, leading to a more intelligent and reliable message processing flow.\\n\\n### Highlights\\n\\n* **Identity-Aware Routing**: Implemented routing for pipeline\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-e2b852a24e906991", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386381, "scanner": "foundry_dataset", "fingerprint": "b5760efa4a789e64b1b944c1a5da4aebb1c5c6ff0faa6402f06f9ec98e1714ba", "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": "Tzeusy/butlers#31", "human_labels": ["human_feedback_general", "mock_placeholder", "runtime_failure", "security_auth_secret"], "issue_number": "31", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-763b06333ad35ee7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#31\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: Tzeusy/butlers#31\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 4\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'mock_placeholder': 1, 'runtime_failure': 1, 'security_auth_secret': 1}\nPolarities: {'neutral': 1, 'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b2a43b1fcaebac57\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/31#issuecomment-3893997112\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/31#issuecomment-3893997112\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-ca952b7bdf1ad6c8\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/31#issuecomment-3893997680\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/31#issuecomment-3893997680\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly enhances the calendar module by introducing new capabilities to read calendar events. It establishes a robust, provider-agnostic framework for listing and retrieving events, with an initial concrete implementation for Google Calendar. This change allows for flexible interaction with various calendar services while maintaining a consistent data structure, laying the groundwork for more advanced calendar functionalities.\\n\\n### Highlights\\n\\n* **New Calendar Read Tools**: Introduced `calendar_list_events` and `calendar_g\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-39950d965a056e5a", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386380, "scanner": "foundry_dataset", "fingerprint": "d0dc9dab655ef30412b853ef3dc4a1024bb59488dce00a271fca4f13249c8000", "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": "Tzeusy/butlers#29", "human_labels": ["agent_instruction_gap", "human_feedback_general", "security_auth_secret"], "issue_number": "29", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-3289d1a10f7c2fb3", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#29\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: Tzeusy/butlers#29\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 6\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'security_auth_secret': 3, 'agent_instruction_gap': 2}\nPolarities: {'neutral': 1, 'bad': 5}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c4961f2f7c322d14\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/29#issuecomment-3893980503\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/29#issuecomment-3893980503\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-8c5b4c590feec309\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/29#issuecomment-3893981430\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/29#issuecomment-3893981430\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly refactors the email module by introducing identity-based namespacing for its tools, distinguishing between user and bot actions. This change enhances the module's structure and prepares it for more robust validation. Additionally, new functionality for replying to email threads has been implemented, expanding the module's capabilities.\\n\\n### Highlights\\n\\n* **Email Tool Namespacing**: EmailModule MCP registrations have been refactored to use identity-prefixed tool names (e.g., `user_email_send_message`, `bot_email_search_inbox\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-13bd66c307792eff", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386379, "scanner": "foundry_dataset", "fingerprint": "25466b5189109973db35cea141c71daca4b16ae75b976db44aab5d3f24fee285", "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": "Tzeusy/butlers#28", "human_labels": ["agent_instruction_gap", "human_feedback_general", "test_ci_gap"], "issue_number": "28", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-e80624ac7eeba688", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#28\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: Tzeusy/butlers#28\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 4\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'test_ci_gap': 1, 'agent_instruction_gap': 2}\nPolarities: {'neutral': 1, 'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-afed256730d6fca8\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/28#issuecomment-3893980061\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/28#issuecomment-3893980061\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-053d448641225670\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/28#issuecomment-3893981009\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/28#issuecomment-3893981009\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly refactors the Telegram module's tool registration mechanism. The primary goal is to introduce a clearer distinction between user-initiated and bot-initiated actions by namespacing Telegram tools with `user_` and `bot_` prefixes. This change enhances control and clarity over tool usage, particularly by implementing explicit approval requirements for user-identity output tools. Additionally, it modernizes the module by removing outdated tool registrations and adding a dedicated reply-to-message capability, improving the module's overall structure and funct\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-06cb6cbe33e3542c", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386378, "scanner": "foundry_dataset", "fingerprint": "bfd89310b42f8d394545dc4f61e1ac37b56004df734015316549e51b36612374", "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": "Tzeusy/butlers#27", "human_labels": ["human_feedback_general", "positive_human_signal", "runtime_failure", "test_ci_gap", "ui_workflow_gap"], "issue_number": "27", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-f43da9ee942b23d0", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#27\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: Tzeusy/butlers#27\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 8\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 2, 'test_ci_gap': 1, 'runtime_failure': 2, 'ui_workflow_gap': 1, 'positive_human_signal': 2}\nPolarities: {'neutral': 2, 'bad': 4, 'good': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1f50f4bef2017944\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/27#issuecomment-3893948387\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/27#issuecomment-3893948387\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-ae0d5563f365a460\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/27#issuecomment-3893949260\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/27#issuecomment-3893949260\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly enhances the efficiency and resilience of client interactions with FastMCP and Memory Butler services. By implementing robust client caching and intelligent reconnection strategies, it reduces resource overhead from repeatedly creating new clients and improves the system's ability to handle transient connection issues, leading to more stable and performant operations.\\n\\n### Highlights\\n\\n* **FastMCP Client Reuse**: Cached FastMCP clients are now reused in switchboard routing, eliminating the need to\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-6288190b17007553", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386377, "scanner": "foundry_dataset", "fingerprint": "83bd96247512664aa70bf4d1363246cd6b376efd5d4253e7ae31c07b58b4190c", "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": "Tzeusy/butlers#25", "human_labels": ["human_feedback_general", "mock_placeholder", "test_ci_gap"], "issue_number": "25", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-b17d1f94e8806427", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#25\nOutcome: ambiguous_needs_more_evidence\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: Tzeusy/butlers#25\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 4\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 2, 'mock_placeholder': 1, 'test_ci_gap': 1}\nPolarities: {'neutral': 2, 'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-fdc30875620bbe36\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/25#issuecomment-3893934922\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/25#issuecomment-3893934922\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-c2fe59c3a4e6e017\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/25#issuecomment-3893935357\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/25#issuecomment-3893935357\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request refactors the relationship API's database interactions to align with an updated schema, specifically by transitioning from the `date_type` column to the `label` column in the `important_dates` table. The changes ensure that existing API contracts are maintained while improving data consistency and preventing the use of stale references. Comprehensive tests have been added to validate these updates.\\n\\n### Highlights\\n\\n* **Database Query Refactoring**: Updated database queries in the relationship API to use the `important_dates.label` column instead of the depr\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-27ceecffb32fbf92", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386376, "scanner": "foundry_dataset", "fingerprint": "85d210c8b32f397c9bcad2fe9aef2a8d5bab190803d4b3d73f9db46f67452341", "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": "Tzeusy/butlers#2437", "human_labels": ["mock_placeholder"], "issue_number": "2437", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.61, "repo_full_name": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-94f6ecbfd9465912", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2437\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: Tzeusy/butlers#2437\nRepo: Tzeusy/butlers\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-a308b0904c8ce2c6\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2437\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2437\\nTitle: fix(tests): repair main-red from #2432 (health body + SystemPage mock)\\nBody:\\n## What\\n\\nFixes two pre-existing test failures that landed on `main` with #2432 (\\\"honest auth-status health indicator\\\") \u2014 both unrelated to the feature, both breaking the `check` and `frontend` CI jobs for every subsequent PR.\\n\\n## Failures fixed\\n\\n1. **`tests/api/test_misc_endpoints.py::test_health_returns_ok`** \u2014 asserted an exact `{\\\"status\\\": \\\"ok\\\"}` body, but `/api/health` now also returns an `auth` security-posture block (`api_key_auth_enabled`, `export_secret_insecure_default`). Changed to assert `status == \\\"ok\\\"`; the auth block is covered in detail by the new `test_auth_status_health.py`.\\n\\n2. **`frontend/src/pages/ButlerDetailPage.test.tsx` \u2192 \\\"Butler Heartbeats tile DOES render on SystemPage\\\"** \u2014 the test renders `<SystemPage />`, which #2432 extended with `<SecurityPostureTile />` \u2192 `useHealthPosture()`. The test's `@/hooks/use-system` mock factory didn't export `useHealthPosture`, so the hook resolved to `undefined`, the SystemPage re\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-f726e55e95ff3088\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-00e1b7ee5a451282", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386375, "scanner": "foundry_dataset", "fingerprint": "bea712803960ee5dab4eb5408941450bb7b79c0cfce87f66154f7f705cb83424", "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": "Tzeusy/butlers#2400", "human_labels": ["mock_placeholder"], "issue_number": "2400", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "Tzeusy/butlers", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-a6071bc3f95d5d67", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2400\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: Tzeusy/butlers#2400\nRepo: Tzeusy/butlers\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-bd54bfdec26a2256\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/2400\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Tzeusy/butlers\\nAuthor: Tzeusy (User)\\nURL: https://github.com/Tzeusy/butlers/pull/2400\\nTitle: fix(codex): accept OpenAI token field names to fix 0-token gpt-5.4-mini sessions [bu-7cdsy]\\nBody:\\n## Root Cause\\n\\nThe Codex CLI emits **OpenAI-style** token field names (`prompt_tokens` / `completion_tokens`) when routing to GPT models (e.g. `gpt-5.4-mini`). The `_parse_codex_output_payload` parser in `codex.py` only read Anthropic-style field names (`input_tokens` / `output_tokens`), so `usage` was never set for those sessions \u2192 0 tokens written to DB \u2192 cost always $0.\\n\\nBy contrast, the OpenCode adapter already had this fallback correctly implemented via `_extract_usage()`.\\n\\n## Fix\\n\\n`src/butlers/core/runtimes/codex.py` \u2014 add fallback to `prompt_tokens` / `completion_tokens` using the same `None`-guard pattern as `opencode.py`:\\n\\n```python\\n_raw_in = raw_usage.get(\\\"input_tokens\\\")\\ninput_tokens = _raw_in if _raw_in is not None else raw_usage.get(\\\"prompt_tokens\\\")\\n_raw_out = raw_usage.get(\\\"output_tokens\\\")\\noutput_tokens = (\\n    _raw_out if _raw_out is not None else raw_usage.get(\\\"completion_tokens\\\")\\n)\\n```\\n\\n## Regression T\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-72a68acdf4dbf3de\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Tzeusy/butlers\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profi\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-3643a1267a3f2c9d", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386374, "scanner": "foundry_dataset", "fingerprint": "ddd59111d44fa7057feb25bd978416dc881f0e3cb796f315fd5dc4f29c3bd3e9", "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": "Tzeusy/butlers#24", "human_labels": ["agent_instruction_gap", "human_feedback_general", "security_auth_secret", "test_ci_gap"], "issue_number": "24", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-8d7c52fa71d66734", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#24\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: Tzeusy/butlers#24\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 4\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'agent_instruction_gap': 1}\nPolarities: {'neutral': 1, 'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1106af93bd2adbd0\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/24#issuecomment-3893904519\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/24#issuecomment-3893904519\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-059a26316a33fa4e\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/24#issuecomment-3893905109\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/24#issuecomment-3893905109\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request resolves two critical spawner-related issues by ensuring the daemon's trigger mechanism adheres to the correct `trigger` source contract and by improving error handling within the spawner's runtime. These changes prevent misconfigurations and guarantee that original error messages are preserved during early failures, ultimately enhancing system stability and debuggability.\\n\\n### Highlights\\n\\n* **Trigger Source Alignment**: The daemon trigger tool now correctly uses the canonical `trigger` source, aligning with `core.sessions` validation an\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-316bec9f39ac10c0", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386373, "scanner": "foundry_dataset", "fingerprint": "b8c08f32d3f547a8def63a3b789e2016b8fc1fe3bc82238a047519629a165f42", "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": "Tzeusy/butlers#23", "human_labels": ["data_schema_persistence", "human_feedback_general", "security_auth_secret", "test_ci_gap"], "issue_number": "23", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-948199d4835d2c9d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#23\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: Tzeusy/butlers#23\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 4\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'test_ci_gap': 1}\nPolarities: {'neutral': 1, 'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-96dad4da3d71941d\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/23#issuecomment-3893890304\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/23#issuecomment-3893890304\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-b103e8fb0cf7cdff\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/23#issuecomment-3893890874\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/23#issuecomment-3893890874\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request addresses an issue where the relationship API was incorrectly querying the 'important_dates' table using a non-existent 'date_type' column instead of the correct 'label' column. The changes update the SQL queries to use the 'label' column, while also ensuring that the external API contract remains unchanged by mapping the internal 'label' value to the 'date_type' field in responses. Additionally, new tests have been added to prevent future regressions, and minor code formatting has been applied.\\n\\n### Highlights\\n\\n* **D\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-5e887980b9492012", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386372, "scanner": "foundry_dataset", "fingerprint": "d3a42f66f52184978711ed91c7bd9f6ab1ebdb3d523ce5c08dba34adcf11c67f", "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": "Tzeusy/butlers#22", "human_labels": ["api_integration_gap", "human_feedback_general", "security_auth_secret", "test_ci_gap"], "issue_number": "22", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-d0dbc90ec36c57c5", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#22\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: Tzeusy/butlers#22\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 7\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 2, 'test_ci_gap': 1, 'security_auth_secret': 3, 'api_integration_gap': 1}\nPolarities: {'neutral': 2, 'bad': 5}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6a38a3401401160c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/22#issuecomment-3893862614\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/22#issuecomment-3893862614\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-633a0d7ec389ad92\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/22#issuecomment-3893863912\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/22#issuecomment-3893863912\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly enhances the Telegram module's message processing by introducing a visual feedback mechanism through message reactions. It allows users to track the real-time status of their commands, from initial processing to final completion or failure, thereby improving transparency and user experience. The underlying routing pipeline has been updated to provide the necessary granular status information for this feature, ensuring robust and accurate lifecycle management.\\n\\n### Highlights\\n\\n* **Telegram Reaction Lifecycle**: Implemented a n\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-8ee35ee1da018dd0", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386371, "scanner": "foundry_dataset", "fingerprint": "6d90a93175d5cb032671d786d2f3584c39a930c87096e10bc100d296de8283c8", "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": "Tzeusy/butlers#21", "human_labels": ["human_feedback_general", "positive_human_signal", "security_auth_secret", "test_ci_gap"], "issue_number": "21", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-7f151b4429d7ef4a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#21\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: Tzeusy/butlers#21\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 4\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'positive_human_signal': 1}\nPolarities: {'neutral': 1, 'bad': 2, 'good': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5a3ca434659602b0\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/21#issuecomment-3893856282\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/21#issuecomment-3893856282\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-30ef84427d59b9be\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/21#issuecomment-3893856888\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/21#issuecomment-3893856888\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request addresses a display bug in the `RegistryTable` component where module names were not rendered as complete tokens. The core change involves implementing a robust data normalization function to correctly interpret and format module data from diverse sources, ensuring that module names are always presented accurately. This enhancement improves the user interface's reliability and is backed by new, focused regression tests to prevent future regressions.\\n\\n### Highlights\\n\\n* **Module Rendering Fix**: Resolved an issue where registry\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-e3065b8bd76fc090", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386370, "scanner": "foundry_dataset", "fingerprint": "a5133d5855496e06d05f70665bfd22973cabf19ee60ff33e786cf99e4a13e48b", "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": "Tzeusy/butlers#17", "human_labels": ["agent_instruction_gap", "human_feedback_general", "security_auth_secret", "test_ci_gap"], "issue_number": "17", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-b97a132aa47b73bf", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#17\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: Tzeusy/butlers#17\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 7\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'security_auth_secret': 2, 'test_ci_gap': 2, 'agent_instruction_gap': 2}\nPolarities: {'neutral': 1, 'bad': 6}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1ffd77b275ee9869\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/17#issuecomment-3893776876\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/17#issuecomment-3893776876\\nTitle: \\nBody:\\nYou have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/settings/usage).\\nTo continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your [settings](https://chatgpt.com/codex/settings/code-review).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-e69b085c8c168eb1\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/17#issuecomment-3893777907\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/17#issuecomment-3893777907\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request enhances the switchboard's message classification and routing by introducing capability awareness among butlers. It allows the system to intelligently prioritize butlers with specific functionalities, such as calendar management, for relevant tasks. This improvement streamlines the assignment of scheduling-related requests to the most appropriate butler, while maintaining the integrity of specialized domain routing for other types of messages.\\n\\n### Highlights\\n\\n* **Capability-Aware Routing**: Implemented a system where b\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-c8568eddb0645c6d", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386369, "scanner": "foundry_dataset", "fingerprint": "ddf6518fc65ca6d41e6d1e088cd58898e97389ea2235303e8bdc719f5b76b915", "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": "Tzeusy/butlers#15", "human_labels": ["human_feedback_general", "mock_placeholder", "positive_human_signal", "runtime_failure"], "issue_number": "15", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-b5b1b9587dc64582", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#15\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: Tzeusy/butlers#15\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 7\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'runtime_failure': 3, 'human_feedback_general': 2, 'positive_human_signal': 1}\nPolarities: {'bad': 4, 'neutral': 2, 'good': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5b3b3b75c0b8582f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/15#issuecomment-3893734292\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/15#issuecomment-3893734292\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly enhances the Google Calendar integration by introducing a complete OAuth refresh token flow. It enables the application to securely authenticate with the Google Calendar API, manage access tokens, and make authenticated requests, moving beyond a placeholder implementation to a functional and robust solution. This change lays the groundwork for full Google Calendar functionality within the system.\\n\\n### Highlights\\n\\n* **Google OAuth Refresh Token Support**: Implemented robust parsing and validation for Google OAuth refresh-token credentials, allowing the system to securely obtain and manage access tokens.\\n* **Authenticated Google Calendar API Calls**: Developed a helper for Google Calendar API calls that automatica\"\n  },\n  {\n    \"id\": \"github-feedback-comment-b371e9c0d8c5f4a7\",\n    \"kind\": \"review_comment\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/15#discussion_r2801366116\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/15#discussion_r2801366116\\nTitle: \\nBody:\\n![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)\\n\\nThe `from_json` method is quite verbose and manually implements validation logic (checkin\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-73d97aef77f98ca4", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386368, "scanner": "foundry_dataset", "fingerprint": "629029023055e5495a610c376401ebbcbfe2eb92bbd8091f4b24770bcdb13286", "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": "Tzeusy/butlers#14", "human_labels": ["agent_instruction_gap", "mock_placeholder", "test_ci_gap"], "issue_number": "14", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.59, "repo_full_name": "Tzeusy/butlers", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-1fc876b3808b760e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#14\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Tzeusy/butlers#14\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_and_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 4\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'agent_instruction_gap': 2, 'test_ci_gap': 1}\nPolarities: {'bad': 4}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-07d5cd3b2e8cb723\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/14#issuecomment-3893709294\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/14#issuecomment-3893709294\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request significantly enhances the module system by introducing structured I/O descriptors for tools, allowing modules to explicitly declare their expected inputs and outputs. It adds robust validation to ensure these declarations adhere to a consistent naming convention and that all registered tools are properly declared, improving clarity, maintainability, and preventing misconfigurations.\\n\\n### Highlights\\n\\n* **Structured Tool I/O Descriptors**: Introduced a `ToolIODescriptor` dataclass to allow modules to explicitly declare their expected input and output tools in a structured manner.\\n* **Tool Naming Convention Validation**: Implemented validation to ensure that all declared module I/O descriptor names adhere to a strict `user_<cha\"\n  },\n  {\n    \"id\": \"github-feedback-comment-769872d6694e9096\",\n    \"kind\": \"review_comment\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/14#discussion_r2801351601\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/14#discussion_r2801351601\\nTitle: \\nBody:\\n![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)\\n\\nThe regular expression for validating tool names in the format `user_<channel>_<action>` seems overly restrictive for the `<channel>` par\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-632b53c25d341b24", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386367, "scanner": "foundry_dataset", "fingerprint": "b2dc2e9360b5769c27ba6aa0054546d78cf149aabe9f43e9df39e560c88295cf", "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": "Tzeusy/butlers#12", "human_labels": ["test_ci_gap"], "issue_number": "12", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-7e6cf8f09e3fdda8", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#12\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: Tzeusy/butlers#12\nRepo: Tzeusy/butlers\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: {'test_ci_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-20277b439c5e9fa6\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/12#issuecomment-3893626851\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/12#issuecomment-3893626851\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request enhances the testing infrastructure by integrating parallel execution capabilities for quality-gate tests. The primary goal is to reduce the time required for local test runs, thereby improving developer efficiency. It achieves this by introducing new `make` commands that leverage `pytest-xdist` for parallel test execution, alongside updating documentation to guide users on these new options.\\n\\n### Highlights\\n\\n* **Parallel Quality-Gate Testing**: Introduced an opt-in parallel quality-gate pytest path utilizing `pytest-xdist` to speed up test execution.\\n* **New Make Targets**: Added `make test-qg` for serial quality-gate tests and `make test-qg-parallel` for parallel quality-gate tests.\\n* **Documentation Updates**: Updated `AGENTS.m\"\n  },\n  {\n    \"id\": \"github-feedback-comment-78832316bc59fe72\",\n    \"kind\": \"review_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/12#discussion_r2801267896\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/12#discussion_r2801267896\\nTitle: \\nBody:\\n![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)\\n\\nIt's great that you've added `test-qg` and `test-qg-parallel` to the `.PHONY` targets. To better integrate this new quality-gate scope into the development workflow, consider updating the `check` target to use\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-e0a8cc34f4a29b82", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386366, "scanner": "foundry_dataset", "fingerprint": "4ba5da752adac1ad68e969faba6921b2a58055ffcdb6960ea66dad328d4acc01", "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": "Tzeusy/butlers#11", "human_labels": ["deployment_env_gap", "human_feedback_general", "mock_placeholder", "runtime_failure"], "issue_number": "11", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-9803178979ef1394", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#11\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: Tzeusy/butlers#11\nRepo: Tzeusy/butlers\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 5\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'human_feedback_general': 2, 'runtime_failure': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 3, 'neutral': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9070664332b7749d\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/11#issuecomment-3893578369\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/11#issuecomment-3893578369\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request lays the groundwork for integrating various calendar services into the application. It establishes a standardized, provider-agnostic `CalendarModule` with a robust configuration system and a clear interface for interacting with different calendar providers. This foundational work ensures future calendar integrations will be consistent, maintainable, and properly validated from the outset.\\n\\n### Highlights\\n\\n* **Calendar Module Scaffolding**: Introduced a new `CalendarModule` to provide a provider-agnostic framework for calendar integrations.\\n* **Validated Configuration**: Implemented `CalendarConfig` using Pydantic for robust validation of calendar settings, including required provider/calendar_id and default behaviors for conf\"\n  },\n  {\n    \"id\": \"github-feedback-comment-31d430e89271b8a5\",\n    \"kind\": \"review_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/11#discussion_r2801227327\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/11#discussion_r2801227327\\nTitle: \\nBody:\\n![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)\\n\\nThe error message in this validator is generic (`value must be a non-empty string\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-abf031326216c627", "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": "Tzeusy/butlers", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Tzeusy/butlers"}, "properties": {"repobilityId": 386365, "scanner": "foundry_dataset", "fingerprint": "84243d4d5e2d188cd8b1bcc7b751bad95532a2a732657a5b14ae7a0ad3c5311d", "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": "Tzeusy/butlers#10", "human_labels": ["test_ci_gap"], "issue_number": "10", "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": "Tzeusy/butlers", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-4455313bce47b0eb", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 4, "generated_claims": 1}, "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": 4, "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": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#10\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: Tzeusy/butlers#10\nRepo: Tzeusy/butlers\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: {'test_ci_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-bbb57f3f194f3aa9\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/10#issuecomment-3893543331\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/10#issuecomment-3893543331\\nTitle: \\nBody:\\n## Summary of Changes\\n\\nHello @Tzeusy, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!\\n\\nThis pull request introduces comprehensive documentation detailing the current runtime performance of the project's pytest suite. It establishes a baseline, identifies the slowest test setup and teardown operations, and categorizes these hotspots to provide a clear roadmap for future performance optimization efforts. The goal is to understand where the test suite spends most of its time to enable targeted improvements.\\n\\n### Highlights\\n\\n* **Pytest Runtime Profiling**: Captured repeatable baseline and durations profiling for the quality-gate pytest command.\\n* **Documentation of Hotspots**: Added environment assumptions, runtime numbers, and top-30 setup/teardown attribution.\\n* **Actionable Hotspot Categories**: Grouped identified hotspots into action\"\n  },\n  {\n    \"id\": \"github-feedback-comment-874ba97f7ccac876\",\n    \"kind\": \"review_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Tzeusy/butlers/pull/10#discussion_r2801201057\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: review_comment\\nRepo: Tzeusy/butlers\\nAuthor: gemini-code-assist[bot] (Bot)\\nURL: https://github.com/Tzeusy/butlers/pull/10#discussion_r2801201057\\nTitle: \\nBody:\\n![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)\\n\\nThe use of `...` for test paths can be ambiguous for readers trying to identify the exact slow tests. While this is likely the raw output from `pytest --durations`, for the clarity of this report, it would be b\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "comment-chain-pattern-bad_chains-9ab53657e74557dd", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412523, "scanner": "foundry_dataset", "fingerprint": "1a614ec5c9cdea0fb234a0c16d1d2cca27ffb78e8e8a7fca702f116b25713a77", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "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, "ambiguous_needs_more_evidence": 2}, "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": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 18, "node_types": {"repo": 1, "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": "Tzeusy/butlers#7", "issue_number": "7", "quality_tiers": {"unresolved": 5, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-1c4cc9f9f42f3d6d", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#7\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#7\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#7\nRepo: Tzeusy/butlers\nIssue/PR number: 7\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 25\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 5, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-c5453cb1a5c92517", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412522, "scanner": "foundry_dataset", "fingerprint": "b45af173fc6983f7b6ab963bad25f8073caeb17103c4c1e568712a1278b50133", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"security_auth_secret": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 1, "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": 20, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "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": "Tzeusy/butlers#6", "issue_number": "6", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-d40eb319b071ebcf", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#6\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#6\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#6\nRepo: Tzeusy/butlers\nIssue/PR number: 6\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8}\nQuality tiers: {'unresolved': 4, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-b0f0baadc6adff6c", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412521, "scanner": "foundry_dataset", "fingerprint": "fb5b641093c85638735ba7eceb22e8f087b77c9db9d205180298ed040a53738f", "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": {"runtime_failure": 1, "mock_placeholder": 1, "security_auth_secret": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 18, "node_types": {"repo": 1, "thread": 1, "comment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#31", "issue_number": "31", "quality_tiers": {"unresolved": 6}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-9d0bbc11ce86f328", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#31\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#31\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#31\nRepo: Tzeusy/butlers\nIssue/PR number: 31\nGraph consistency label: needs_more_evidence\nNodes: 18\nEdges: 26\nNode types: {'link_quality': 6, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 6, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'mock_placeholder': 1, 'runtime_failure': 1, 'security_auth_secret': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 6}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-3a820e15171fc745", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412520, "scanner": "foundry_dataset", "fingerprint": "a03aead80496419a6b165a940897939011daf371f8ca32bac09d1dfa178fd723", "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": {"api_integration_gap": 1, "security_auth_secret": 1, "agent_instruction_gap": 1, "verification_or_tests": 1, "human_feedback_general": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 7, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 5, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"ambiguous_needs_more_evidence": 14}, "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": 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": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 27, "node_types": {"repo": 1, "commit": 1, "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": "Tzeusy/butlers#3", "issue_number": "3", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-36804bc82e54e32d", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#3\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#3\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#3\nRepo: Tzeusy/butlers\nIssue/PR number: 3\nGraph consistency label: supported_by_high_confidence_link\nNodes: 27\nEdges: 44\nNode types: {'link_quality': 9, 'comment': 5, 'comment_chain': 5, 'alignment': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 9, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'comment_chain_links_commit': 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: {'ambiguous_needs_more_evidence': 7, 'comment_has_related_commit_context': 5, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'api_integration_gap': 1, 'human_feedback_general': 1, 'agent_instruction_gap': 1, 'verification_or_tests': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 14}\nQuality tiers: {'weak_supervision': 4, 'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-34fc1f4ffe157b77", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412519, "scanner": "foundry_dataset", "fingerprint": "f733ca00136249d07d7bded15a1f89f175847ebe619e38e080ee420b8ecee767", "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": 3, "agent_instruction_gap": 2, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 7, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 5, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 14, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 36, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 6}, "node_count": 24, "node_types": {"repo": 1, "thread": 1, "comment": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 6}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#29", "issue_number": "29", "quality_tiers": {"unresolved": 8}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b933639c043c341b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#29\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#29\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#29\nRepo: Tzeusy/butlers\nIssue/PR number: 29\nGraph consistency label: needs_more_evidence\nNodes: 24\nEdges: 36\nNode types: {'link_quality': 8, 'comment': 6, 'comment_chain': 6, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'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: {'not_resolved_or_not_observed': 7, 'human_reported_issue_no_linked_fix': 5, 'security_auth_secret': 3, 'agent_instruction_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'not_resolved_or_not_observed': 14, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 8}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-f809206653abba6a", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412518, "scanner": "foundry_dataset", "fingerprint": "474ac49951fd35542dd6c6abea5c23fa1218b54ea11b561490da9b128be87e71", "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, "test_ci_gap": 1, "api_or_backend": 2, "security_auth_secret": 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": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 1, "thread_touches_file": 2, "thread_has_pr_review": 1, "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": 1, "pr_file": 2, "alignment": 1, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2482", "issue_number": "2482", "quality_tiers": {"high_confidence": 4, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-6ce45b39aa8f7c08", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 10}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2482\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2482\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2482\nRepo: Tzeusy/butlers\nIssue/PR number: 2482\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 34\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_review': 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_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_comment': 1, 'thread_has_pr_review': 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}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'api_or_backend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 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': 4, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-52cf771e9000ebee", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412517, "scanner": "foundry_dataset", "fingerprint": "7c9ac96bb5b7fff5062ab11c78996a1f4b38537cf4c44f815ff82f319c258ebd", "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_auth_secret": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2443", "issue_number": "2443", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b1766ecdbf1cd25b", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2443\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2443\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2443\nRepo: Tzeusy/butlers\nIssue/PR number: 2443\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, 'security_auth_secret': 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 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-6571ae53bb03a875", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412516, "scanner": "foundry_dataset", "fingerprint": "15b946840da2f2cbecdd9d15d79f410165bf789ce74849b2803ebd12c78fbb44", "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_auth_secret": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2406", "issue_number": "2406", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-24929d238cb7c7b2", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2406\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2406\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2406\nRepo: Tzeusy/butlers\nIssue/PR number: 2406\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, 'security_auth_secret': 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 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-030b03e173c823ab", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412515, "scanner": "foundry_dataset", "fingerprint": "c30c2d75e987ec96a47f2fd1694a83b3dc05d9bc55be0c98c6e0b2185cc8e73d", "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, "agent_instruction_gap": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#24", "issue_number": "24", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-3cb5389632f0bc26", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#24\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#24\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#24\nRepo: Tzeusy/butlers\nIssue/PR number: 24\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'agent_instruction_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-ed527ed4c5102002", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412514, "scanner": "foundry_dataset", "fingerprint": "5e89633a6d60db678fab19de9bcb942b899c5cef01cd7b819555cb2f9594a94b", "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, "human_feedback_general": 1, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 23, "node_types": {"repo": 1, "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": "Tzeusy/butlers#23", "issue_number": "23", "quality_tiers": {"unresolved": 6, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-9ff9daf2367251d1", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#23\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#23\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#23\nRepo: Tzeusy/butlers\nIssue/PR number: 23\nGraph consistency label: assumption_check\nNodes: 23\nEdges: 34\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'test_ci_gap': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 6, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-7853db3245fb1e4b", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412513, "scanner": "foundry_dataset", "fingerprint": "8e2db05b92fe3c0731f36a5aeac8331504ac59ad27f12e90c2bb8984e009e63b", "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, "api_integration_gap": 1, "security_auth_secret": 3, "human_feedback_general": 2, "unlinked_human_feedback": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 7, "ambiguous_needs_more_evidence": 2, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 5, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 14, "ambiguous_needs_more_evidence": 4}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 49, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 7, "thread_has_comment": 7, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 11, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 7}, "node_count": 32, "node_types": {"repo": 1, "thread": 1, "comment": 7, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 7, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#22", "issue_number": "22", "quality_tiers": {"unresolved": 9, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-bfda0d87a4388083", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#22\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#22\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#22\nRepo: Tzeusy/butlers\nIssue/PR number: 22\nGraph consistency label: assumption_check\nNodes: 32\nEdges: 49\nNode types: {'link_quality': 11, 'comment': 7, 'comment_chain': 7, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 11, 'thread_has_comment': 7, 'thread_has_comment_chain': 7, 'comment_has_chain': 7, 'issue_chain_has_comment_chain': 7, '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: {'not_resolved_or_not_observed': 7, 'human_reported_issue_no_linked_fix': 5, 'security_auth_secret': 3, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'ambiguous_needs_more_evidence': 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, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 14, 'ambiguous_needs_more_evidence': 4}\nQuality tiers: {'unresolved': 9, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-57eca1b01f9e56e9", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412512, "scanner": "foundry_dataset", "fingerprint": "552cd48ab702aa5d55eee2070d1afb3a4d9388a32d3008a45a56442e764a1647", "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, "positive_human_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "positive_feedback_no_linked_change": 1, "human_positive_or_acceptance_signal": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2, "human_positive_or_acceptance_signal": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#21", "issue_number": "21", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-c817121be7bd692c", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#21\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#21\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#21\nRepo: Tzeusy/butlers\nIssue/PR number: 21\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'positive_human_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'positive_feedback_no_linked_change': 1, 'human_positive_or_acceptance_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2, 'human_positive_or_acceptance_signal': 2}\nQuality tiers: {'unresolved': 6, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-32f5642733b6c979", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412511, "scanner": "foundry_dataset", "fingerprint": "7dc435afff535ca65ee4199eb8fc30607808884941826cc02306988709847441", "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": {"runtime_failure": 1, "security_auth_secret": 1, "verification_or_tests": 1, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 5, "comment_has_related_commit_context": 3, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"ambiguous_needs_more_evidence": 10}, "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": 16, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2", "issue_number": "2", "quality_tiers": {"weak_supervision": 5}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-3f53fcd47569f216", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2\nRepo: Tzeusy/butlers\nIssue/PR number: 2\nGraph consistency label: weak_supervision_needs_review\nNodes: 16\nEdges: 24\nNode types: {'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'commit': 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: {'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_feedback_general': 1, 'runtime_failure': 1, 'verification_or_tests': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10}\nQuality tiers: {'weak_supervision': 5}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-32f9a2f30f1f6307", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412510, "scanner": "foundry_dataset", "fingerprint": "9a1d56a99cf9bd62a8bc0ca0904ca58dd306c3c7db453ce53a08b8b92ce5f6db", "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, "positive_human_signal": 1, "human_feedback_general": 5, "unlinked_human_feedback": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 7, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "positive_feedback_no_linked_change": 1, "human_positive_or_acceptance_signal": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 14, "human_positive_or_acceptance_signal": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 50, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 8, "thread_has_comment": 8, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 11, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 8}, "node_count": 33, "node_types": {"repo": 1, "thread": 1, "comment": 8, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 8, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#18", "issue_number": "18", "quality_tiers": {"unresolved": 10, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b1cd449cb3181ed9", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#18\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#18\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#18\nRepo: Tzeusy/butlers\nIssue/PR number: 18\nGraph consistency label: assumption_check\nNodes: 33\nEdges: 50\nNode types: {'link_quality': 11, 'comment': 8, 'comment_chain': 8, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 11, 'thread_has_comment': 8, 'thread_has_comment_chain': 8, 'comment_has_chain': 8, 'issue_chain_has_comment_chain': 8, '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': 7, 'human_feedback_general': 5, 'unlinked_human_feedback': 5, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'positive_human_signal': 1, 'positive_feedback_no_linked_change': 1, 'human_positive_or_acceptance_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 14, 'not_resolved_or_not_observed': 4, 'human_positive_or_acceptance_signal': 2}\nQuality tiers: {'unresolved': 10, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-5f2c5da735dd3246", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412509, "scanner": "foundry_dataset", "fingerprint": "5dda5a48d8dba50023ffae3f5f4ea59ac980b0ce8aa9c4f5fb801826796066eb", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"test_ci_gap": 2, "security_auth_secret": 2, "agent_instruction_gap": 2, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 6, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 16, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 49, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 7, "thread_has_comment": 7, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 11, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 7}, "node_count": 32, "node_types": {"repo": 1, "thread": 1, "comment": 7, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 7, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#17", "issue_number": "17", "quality_tiers": {"unresolved": 9, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-a59d25d89c8f6a68", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#17\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#17\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#17\nRepo: Tzeusy/butlers\nIssue/PR number: 17\nGraph consistency label: assumption_check\nNodes: 32\nEdges: 49\nNode types: {'link_quality': 11, 'comment': 7, 'comment_chain': 7, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 11, 'thread_has_comment': 7, 'thread_has_comment_chain': 7, 'comment_has_chain': 7, 'issue_chain_has_comment_chain': 7, '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: {'not_resolved_or_not_observed': 8, 'human_reported_issue_no_linked_fix': 6, 'security_auth_secret': 2, 'test_ci_gap': 2, 'agent_instruction_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 16, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 9, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-64757eb9b6427e41", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 412508, "scanner": "foundry_dataset", "fingerprint": "c3c111aadf259801d8829b55a4db61f00f4681dacd363df75a5a4d78c919ecca", "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": 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": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 22, "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": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 16, "node_types": {"repo": 1, "commit": 1, "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": "Tzeusy/butlers#1", "issue_number": "1", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-554ff7724b253f63", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#1\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#1\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#1\nRepo: Tzeusy/butlers\nIssue/PR number: 1\nGraph consistency label: weak_supervision_needs_review\nNodes: 16\nEdges: 22\nNode types: {'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'test_ci_gap': 1, 'verification_or_tests': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-46a4cc398005c92d", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406898, "scanner": "foundry_dataset", "fingerprint": "94202a65a5a26cef5cdb323af7441d5a45f2aee04734ade2e9bc1776aad2f851", "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, "api_integration_gap": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 3, "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": 10}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 29, "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, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 20, "node_types": {"repo": 1, "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": "Tzeusy/butlers#9", "issue_number": "9", "quality_tiers": {"unresolved": 5, "assumption_check": 2}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d5513e571673cb92", "graph_gold_label": "assumption_check", "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: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#9\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: Tzeusy/butlers\nThread: Tzeusy/butlers#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#9\nRepo: Tzeusy/butlers\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 20\nEdges: 29\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'api_integration_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10}\nQuality tiers: {'unresolved': 5, 'assumption_check': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-4bfd2126e2eba8d7", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406897, "scanner": "foundry_dataset", "fingerprint": "e35c5bbe22a8dfd81f72eef818e7f7474eb5bb05eabe7d0097dde418f52c212b", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 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": 2, "ambiguous_needs_more_evidence": 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": 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": "Tzeusy/butlers#39", "issue_number": "39", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-4a329cddc101f4a7", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#39\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: Tzeusy/butlers\nThread: Tzeusy/butlers#39\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#39\nRepo: Tzeusy/butlers\nIssue/PR number: 39\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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'mock_placeholder': 1, 'unlinked_human_feedback': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 4}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-8b6bb88fcdacbba2", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406896, "scanner": "foundry_dataset", "fingerprint": "65fe7fc1e67a94de7972d95ad86310e5524449ccd18f37765625bab897bcb2f5", "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, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 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": 2, "ambiguous_needs_more_evidence": 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": 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": "Tzeusy/butlers#34", "issue_number": "34", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-999ead2dcbd08bc9", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#34\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: Tzeusy/butlers\nThread: Tzeusy/butlers#34\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#34\nRepo: Tzeusy/butlers\nIssue/PR number: 34\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: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'mock_placeholder': 1, 'unlinked_human_feedback': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 4}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-b70c39c63ded87e3", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406895, "scanner": "foundry_dataset", "fingerprint": "36005e486d23e5e7f82058eda10aacf9eb053be99e763d322118f874d4cbdabc", "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": {"runtime_failure": 1, "mock_placeholder": 1, "security_auth_secret": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 3, "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": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 18, "node_types": {"repo": 1, "thread": 1, "comment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#31", "issue_number": "31", "quality_tiers": {"unresolved": 6}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6a52f27a31f187f2", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#31\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: Tzeusy/butlers\nThread: Tzeusy/butlers#31\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#31\nRepo: Tzeusy/butlers\nIssue/PR number: 31\nGraph consistency label: needs_more_evidence\nNodes: 18\nEdges: 26\nNode types: {'link_quality': 6, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 6, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'mock_placeholder': 1, 'runtime_failure': 1, 'security_auth_secret': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 6}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-95ab49d881f908a2", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406894, "scanner": "foundry_dataset", "fingerprint": "a9defe2577ae1f2b37f63943753371fc89bbde36ba6f8edb7818f8d45fa07826", "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_ci_gap": 1, "mock_placeholder": 1, "human_feedback_general": 2, "unlinked_human_feedback": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "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": 4, "ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#25", "issue_number": "25", "quality_tiers": {"unresolved": 6, "assumption_check": 1}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-9e34bb96b47041ab", "graph_gold_label": "assumption_check", "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: assumption_check\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#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: Tzeusy/butlers\nThread: Tzeusy/butlers#25\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#25\nRepo: Tzeusy/butlers\nIssue/PR number: 25\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_ci_gap': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'not_resolved_or_not_observed': 4}\nQuality tiers: {'unresolved': 6, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-0250eae763ba2225", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406893, "scanner": "foundry_dataset", "fingerprint": "02688eaf9cb0ea8ab627dd8eaf72c79b4aefb2996f25d2b14e91ddb985cd73e3", "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, "test_or_ci": 1, "api_or_backend": 1, "mock_placeholder": 2, "verification_or_tests": 2, "ci_pending_or_incomplete": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {"ci_pending_or_incomplete": 4}, "synthetic": false, "edge_count": 33, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 1, "thread_touches_file": 2, "comment_chain_has_ci": 2, "thread_has_pr_review": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 2, "comment_chain_links_commit": 7, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 2, "pr_review": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#2485", "issue_number": "2485", "quality_tiers": {"high_confidence": 4}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-4b1a3d3be856986d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 5, "api_or_backend": 5}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: Tzeusy/butlers\nThread: Tzeusy/butlers#2485\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2485\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2485\nRepo: Tzeusy/butlers\nIssue/PR number: 2485\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 33\nNode types: {'commit': 5, 'link_quality': 4, 'pr_file': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_review': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 7, 'comment_chain_touches_file': 4, 'chain_has_link_quality': 4, 'thread_touches_file': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_has_ci': 2, 'issue_chain_has_comment_chain': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'mock_placeholder': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_or_backend': 1, 'test_or_ci': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'ci_pending_or_incomplete': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 4}\nCI labels: {'ci_pending_or_incomplete': 4}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-c37c324742b4a635", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406892, "scanner": "foundry_dataset", "fingerprint": "268d8f62091fe380a390eab0a89d6a1bd6d64119f2a29e8abcba5eb01e5b5e7c", "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": "Tzeusy/butlers#2437", "issue_number": "2437", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-4d270d037ae2ae65", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2437\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2437\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2437\nRepo: Tzeusy/butlers\nIssue/PR number: 2437\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-74634e6a71d0e8f8", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406891, "scanner": "foundry_dataset", "fingerprint": "a2ae115989bc91137994834944b0908c65cce5860e7c0116c45571a52f4261ff", "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, "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": 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": "Tzeusy/butlers#2436", "issue_number": "2436", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-9b788903b7fc0a67", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2436\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2436\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2436\nRepo: Tzeusy/butlers\nIssue/PR number: 2436\nGraph consistency label: supported_by_verification_signal\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_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, 'bug_fix': 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/Tzeusy/butlers", "source_id": "graph-query-motif_query-e491f792303317ca", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406890, "scanner": "foundry_dataset", "fingerprint": "76840e71456995a67f71c8067798fd435fcae0bce47d6cf13ef205d76c5bf66b", "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": "Tzeusy/butlers#2435", "issue_number": "2435", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6f40b6c2c702d483", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2435\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2435\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2435\nRepo: Tzeusy/butlers\nIssue/PR number: 2435\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-abfbfb5b9a022d04", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406889, "scanner": "foundry_dataset", "fingerprint": "e4cf60f22eacdd2c6c3cf8e67f515bd1848810777a369539e4e9f9882f98a532", "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": 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": 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": "Tzeusy/butlers#2431", "issue_number": "2431", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-295b4ce5572695c4", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2431\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2431\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2431\nRepo: Tzeusy/butlers\nIssue/PR number: 2431\nGraph consistency label: supported_by_verification_signal\nNodes: 12\nEdges: 14\nNode types: {'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 3, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, '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/Tzeusy/butlers", "source_id": "graph-query-motif_query-64135c2955bf1d40", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406888, "scanner": "foundry_dataset", "fingerprint": "cf1aef7167f638b52da1f41f8ebeaba476c3560f918d6cf20d1b8148c82052a2", "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": "Tzeusy/butlers#2400", "issue_number": "2400", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-3ebfc7a98f80cce4", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2400\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2400\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2400\nRepo: Tzeusy/butlers\nIssue/PR number: 2400\nGraph consistency label: supported_by_high_confidence_link\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: {'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/Tzeusy/butlers", "source_id": "graph-query-motif_query-f29d09614a6089f0", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406887, "scanner": "foundry_dataset", "fingerprint": "ffc751417a6fc8009d6a8caf5081e92c276ab7ba556996b843acfbbeefd9303f", "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": "Tzeusy/butlers#2398", "issue_number": "2398", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-fde4cbc4a89f7a93", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#2398\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: Tzeusy/butlers\nThread: Tzeusy/butlers#2398\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#2398\nRepo: Tzeusy/butlers\nIssue/PR number: 2398\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-029b291fd9e1b34c", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406886, "scanner": "foundry_dataset", "fingerprint": "c15adf1185fed503c407e3706c37c4f30cd9c03502bc35f8f3de1d1ea9263212", "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": {"runtime_failure": 3, "mock_placeholder": 1, "positive_human_signal": 1, "human_feedback_general": 2, "unlinked_human_feedback": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 2, "human_reported_issue_no_linked_fix": 4, "positive_feedback_no_linked_change": 1, "human_positive_or_acceptance_signal": 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": 12, "ambiguous_needs_more_evidence": 4, "human_positive_or_acceptance_signal": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 41, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 7, "thread_has_comment": 7, "chain_has_link_quality": 9, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 7}, "node_count": 27, "node_types": {"repo": 1, "thread": 1, "comment": 7, "fix_outcome": 1, "issue_chain": 1, "link_quality": 9, "comment_chain": 7}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#15", "issue_number": "15", "quality_tiers": {"unresolved": 9}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-7d5254fa7d170ce0", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#15\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: Tzeusy/butlers\nThread: Tzeusy/butlers#15\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#15\nRepo: Tzeusy/butlers\nIssue/PR number: 15\nGraph consistency label: needs_more_evidence\nNodes: 27\nEdges: 41\nNode types: {'link_quality': 9, 'comment': 7, 'comment_chain': 7, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 9, 'thread_has_comment': 7, 'thread_has_comment_chain': 7, 'comment_has_chain': 7, 'issue_chain_has_comment_chain': 7, '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': 6, 'human_reported_issue_no_linked_fix': 4, 'runtime_failure': 3, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'ambiguous_needs_more_evidence': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'positive_human_signal': 1, 'positive_feedback_no_linked_change': 1, 'human_positive_or_acceptance_signal': 1}\nOutcomes: {'not_resolved_or_not_observed': 12, 'ambiguous_needs_more_evidence': 4, 'human_positive_or_acceptance_signal': 2}\nQuality tiers: {'unresolved': 9}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-e7a921ae629c871f", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406885, "scanner": "foundry_dataset", "fingerprint": "4e29da95413dba18a5e6a38ddeb173a12f980328895a29368b6754d58fc84c1b", "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_ci_gap": 1, "mock_placeholder": 1, "agent_instruction_gap": 2, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "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": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 22, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#14", "issue_number": "14", "quality_tiers": {"unresolved": 3, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-3909a0b0a7a02786", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#14\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: Tzeusy/butlers\nThread: Tzeusy/butlers#14\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#14\nRepo: Tzeusy/butlers\nIssue/PR number: 14\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 31\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'agent_instruction_gap': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 3, 'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Tzeusy/butlers", "source_id": "graph-query-motif_query-ad9c7a60e655f3b7", "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": "Tzeusy/butlers", "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: Tzeusy/butlers"}, "properties": {"repobilityId": 406884, "scanner": "foundry_dataset", "fingerprint": "1e1ee122603e15416e38ebb7815bff672483da4478aef1179493b662c7713722", "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": {"runtime_failure": 1, "mock_placeholder": 1, "deployment_env_gap": 1, "human_feedback_general": 2, "unlinked_human_feedback": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "ambiguous_needs_more_evidence": 2, "human_reported_issue_no_linked_fix": 3, "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": 10, "ambiguous_needs_more_evidence": 4}, "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": 5, "thread_has_comment": 5, "chain_has_link_quality": 7, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 5, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 5}, "query_type": "motif_query", "thread_key": "Tzeusy/butlers#11", "issue_number": "11", "quality_tiers": {"unresolved": 7}, "repo_full_name": "Tzeusy/butlers", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-43f66f129956080f", "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: Tzeusy/butlers\nThread: Tzeusy/butlers#11\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: Tzeusy/butlers\nThread: Tzeusy/butlers#11\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Tzeusy/butlers#11\nRepo: Tzeusy/butlers\nIssue/PR number: 11\nGraph consistency label: needs_more_evidence\nNodes: 21\nEdges: 31\nNode types: {'link_quality': 7, 'comment': 5, 'comment_chain': 5, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'human_feedback_general': 2, 'unlinked_human_feedback': 2, 'ambiguous_needs_more_evidence': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'runtime_failure': 1, 'deployment_env_gap': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'ambiguous_needs_more_evidence': 4}\nQuality tiers: {'unresolved': 7}\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/Tzeusy/butlers", "source_id": "graph-query-motif_query-36433ab55da22ce3", "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": "Tzeusy/butlers", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-944c07d7120e4d15", "level": "note", "message": {"text": "Possibly dead Python function: has_column"}, "properties": {"repobilityId": "7fa5db18caf3c7f7", "scanner": "scanner-primary", "fingerprint": "944c07d7120e4d15", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/relationship/tools/_schema.py:27"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ac18bbce21233613", "level": "note", "message": {"text": "Possibly dead Python function: has_table"}, "properties": {"repobilityId": "6602ce40b0e596e5", "scanner": "scanner-primary", "fingerprint": "ac18bbce21233613", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/relationship/tools/_schema.py:32"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-05dffc1973b8fbd4", "level": "note", "message": {"text": "Possibly dead Python function: contact_name_expr"}, "properties": {"repobilityId": "82052cfd7beda13e", "scanner": "scanner-primary", "fingerprint": "05dffc1973b8fbd4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/relationship/tools/_schema.py:40"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c78d397cd45990ff", "level": "note", "message": {"text": "Possibly dead Python function: contact_entity_map"}, "properties": {"repobilityId": "5c259f332eed3f60", "scanner": "scanner-primary", "fingerprint": "c78d397cd45990ff", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/relationship/tools/_ef_channel_helpers.py:149"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c0353d56eb9e509b", "level": "note", "message": {"text": "Possibly dead Python function: cmd_list"}, "properties": {"repobilityId": "bd09044da90857da", "scanner": "scanner-primary", "fingerprint": "c0353d56eb9e509b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butler-qa-pr-review/scripts/review_threads.py:33"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-20cf594fecf10920", "level": "note", "message": {"text": "Possibly dead Python function: cmd_reply"}, "properties": {"repobilityId": "81e2bc4b89037be3", "scanner": "scanner-primary", "fingerprint": "20cf594fecf10920", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butler-qa-pr-review/scripts/review_threads.py:67"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dba17fbbb775a305", "level": "note", "message": {"text": "Possibly dead Python function: cmd_resolve"}, "properties": {"repobilityId": "3412439ae13e1e8d", "scanner": "scanner-primary", "fingerprint": "dba17fbbb775a305", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butler-qa-pr-review/scripts/review_threads.py:89"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e51cbb0e604ef8a8", "level": "note", "message": {"text": "Possibly dead Python function: run_server"}, "properties": {"repobilityId": "48e3ef764f3bc7fc", "scanner": "scanner-primary", "fingerprint": "e51cbb0e604ef8a8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/connectors/discord_user.py:393"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-573a84a6a0697fc4", "level": "note", "message": {"text": "Possibly dead Python function: force_end_session"}, "properties": {"repobilityId": "9f25c101e38abf22", "scanner": "scanner-primary", "fingerprint": "573a84a6a0697fc4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/connectors/spotify_session.py:342"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-07803e72113b2924", "level": "note", "message": {"text": "Possibly dead Python function: run_server"}, "properties": {"repobilityId": "48e3ef764f3bc7fc", "scanner": "scanner-primary", "fingerprint": "07803e72113b2924", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/connectors/google_drive.py:1991"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9ba42fc608d6c9f5", "level": "note", "message": {"text": "Possibly dead Python function: time_fired_unix_ms"}, "properties": {"repobilityId": "39c7cf52ef7c2287", "scanner": "scanner-primary", "fingerprint": "9ba42fc608d6c9f5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/connectors/home_assistant_envelope.py:78"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de41c467b1ac17f7", "level": "note", "message": {"text": "Possibly dead Python function: connector_setup_role"}, "properties": {"repobilityId": "142645c6cbced511", "scanner": "scanner-primary", "fingerprint": "de41c467b1ac17f7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/connectors/db_role.py:8"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0bfc0b65f1820ed2", "level": "note", "message": {"text": "Possibly dead Python function: verify_connector_role"}, "properties": {"repobilityId": "82ae3ad094952204", "scanner": "scanner-primary", "fingerprint": "0bfc0b65f1820ed2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/connectors/db_role.py:16"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-016c588f25060ea9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/layout/CommandPalette.tsx:358"}, "properties": {"repobilityId": "4db6fbb346b46b2b", "scanner": "scanner-primary", "fingerprint": "016c588f25060ea9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-79651db8f40d1f0a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/layout/Sidebar.tsx:402"}, "properties": {"repobilityId": "4fbed5d8e51dbbe4", "scanner": "scanner-primary", "fingerprint": "79651db8f40d1f0a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3b4f7d68ca145378", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/layout/EntityFinder.tsx:184"}, "properties": {"repobilityId": "7d1ab17fd2ee6548", "scanner": "scanner-primary", "fingerprint": "3b4f7d68ca145378", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f8f41f7b266e69e1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/notifications/notification-feed.tsx:163"}, "properties": {"repobilityId": "ae543c1eaeec5b4b", "scanner": "scanner-primary", "fingerprint": "f8f41f7b266e69e1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5138d3872790a21e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/qa/EvidenceLog.tsx:112"}, "properties": {"repobilityId": "f637089ba7bbe170", "scanner": "scanner-primary", "fingerprint": "5138d3872790a21e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b8005cf277f53520", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/qa/CaseDossierHeader.tsx:65"}, "properties": {"repobilityId": "e33625ce641679d9", "scanner": "scanner-primary", "fingerprint": "b8005cf277f53520", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-90bce6aa58243e9e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/qa/CaseList.tsx:67"}, "properties": {"repobilityId": "5215c0d5e1a35dc5", "scanner": "scanner-primary", "fingerprint": "90bce6aa58243e9e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-feae293493e80100", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/MealTracker.tsx:122"}, "properties": {"repobilityId": "9ffdedeb76916985", "scanner": "scanner-primary", "fingerprint": "feae293493e80100", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c7772c89573f0f02", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/MedicationTracker.tsx:149"}, "properties": {"repobilityId": "18e03ebd9620e534", "scanner": "scanner-primary", "fingerprint": "c7772c89573f0f02", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d969821b79373da9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/MeasurementChart.tsx:282"}, "properties": {"repobilityId": "2320dc4494d2a0bd", "scanner": "scanner-primary", "fingerprint": "d969821b79373da9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-569eda6d46c64d00", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/SymptomTracker.tsx:135"}, "properties": {"repobilityId": "2db904d13adf3f00", "scanner": "scanner-primary", "fingerprint": "569eda6d46c64d00", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-bed5fa90fadd739d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/ConditionTracker.tsx:126"}, "properties": {"repobilityId": "77c5ea23471d7149", "scanner": "scanner-primary", "fingerprint": "bed5fa90fadd739d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ceef291875c2661d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/health/MeasurementTracker.tsx:156"}, "properties": {"repobilityId": "1c757601f299e14c", "scanner": "scanner-primary", "fingerprint": "ceef291875c2661d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-78cf2224930fb8a4", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/activity/ActivityFeed.tsx:162"}, "properties": {"repobilityId": "9c7259e63e21ea7a", "scanner": "scanner-primary", "fingerprint": "78cf2224930fb8a4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-11ae3bb255303b82", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/sessions/SessionDetailDrawer.tsx:91"}, "properties": {"repobilityId": "53d739c633f77604", "scanner": "scanner-primary", "fingerprint": "11ae3bb255303b82", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3eabbd27ec0fd926", "level": "warning", "message": {"text": "Custom React Flow node registered without explicit width/height \u2014 frontend/src/components/timeline/UnifiedTimeline.test.tsx:9"}, "properties": {"repobilityId": "ca18d643702a7710", "scanner": "scanner-primary", "fingerprint": "3eabbd27ec0fd926", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.rfnode.no-dims"]}}, {"ruleId": "scanner-21aa2e6001fb7936", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/timeline/UnifiedTimeline.tsx:163"}, "properties": {"repobilityId": "8c6a8a5862bb8575", "scanner": "scanner-primary", "fingerprint": "21aa2e6001fb7936", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f1c6eaedc92f047f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/chat/ToolCallDetails.tsx:46"}, "properties": {"repobilityId": "1484e0276cc7a458", "scanner": "scanner-primary", "fingerprint": "f1c6eaedc92f047f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-aa1ca2982a11ad17", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/chat/ConversationHeader.tsx:61"}, "properties": {"repobilityId": "662c4aac5ed83e76", "scanner": "scanner-primary", "fingerprint": "aa1ca2982a11ad17", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b3a0dba4dfe539de", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/audit/AuditLogTable.tsx:107"}, "properties": {"repobilityId": "d088cb21389e04ca", "scanner": "scanner-primary", "fingerprint": "b3a0dba4dfe539de", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-382341e4136027b7", "level": "note", "message": {"text": "React Flow <Controls> without dark theming \u2014 frontend/src/components/education/MindMapGraph.tsx:180"}, "properties": {"repobilityId": "ba208152aa086839", "scanner": "scanner-primary", "fingerprint": "382341e4136027b7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.controls.no-bg"]}}, {"ruleId": "scanner-3c67ab160438bf8e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/education/QuizHistoryList.tsx:128"}, "properties": {"repobilityId": "c8b7a331de55a51b", "scanner": "scanner-primary", "fingerprint": "3c67ab160438bf8e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ed2f36248d91e69f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/TimelineTab.tsx:793"}, "properties": {"repobilityId": "5352e9264ccb1dae", "scanner": "scanner-primary", "fingerprint": "ed2f36248d91e69f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3ec5c258fc498df0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/ConnectorErrorLog.tsx:74"}, "properties": {"repobilityId": "41850c3c1709b108", "scanner": "scanner-primary", "fingerprint": "3ec5c258fc498df0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1580916e888e6711", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/connectors/ConnectorRosterRow.tsx:116"}, "properties": {"repobilityId": "d33d5c97a93c20b1", "scanner": "scanner-primary", "fingerprint": "1580916e888e6711", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-886e2e1798b439cf", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/connectors/ConnectorDetailView.tsx:490"}, "properties": {"repobilityId": "d8448453b9df64c8", "scanner": "scanner-primary", "fingerprint": "886e2e1798b439cf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-10767324edbd4723", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/connectors/DormantList.tsx:75"}, "properties": {"repobilityId": "2d89caca32bce56f", "scanner": "scanner-primary", "fingerprint": "10767324edbd4723", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-16a9054ad3ce6f6c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/timeline/EventDrawer.tsx:124"}, "properties": {"repobilityId": "1a176780d81881b7", "scanner": "scanner-primary", "fingerprint": "16a9054ad3ce6f6c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b12c823b56c667ef", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/filters/RuleRow.tsx:72"}, "properties": {"repobilityId": "1d2f936dc568af68", "scanner": "scanner-primary", "fingerprint": "b12c823b56c667ef", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8959e22ba633355d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ingestion/filters/PrioritySendersBlock.tsx:221"}, "properties": {"repobilityId": "f3876008eb2dcac9", "scanner": "scanner-primary", "fingerprint": "8959e22ba633355d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e65d2b344590b1eb", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/relationship/EntitiesIndexPage.tsx:921"}, "properties": {"repobilityId": "b89b9c7e0226e5da", "scanner": "scanner-primary", "fingerprint": "e65d2b344590b1eb", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-fe9bf916e7f2d6cf", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/relationship/MergeCompareDialog.tsx:192"}, "properties": {"repobilityId": "e8903b54d05dbf1f", "scanner": "scanner-primary", "fingerprint": "fe9bf916e7f2d6cf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-620c55c9ecf941a1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/relationship/ContactChannelCard.tsx:738"}, "properties": {"repobilityId": "cdc0b920bb422234", "scanner": "scanner-primary", "fingerprint": "620c55c9ecf941a1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0795f2a33211ac04", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/approvals/history-table.tsx:70"}, "properties": {"repobilityId": "806f710bd202b7ef", "scanner": "scanner-primary", "fingerprint": "0795f2a33211ac04", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d0d2e1298ac354bb", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/approvals/rules-table.tsx:59"}, "properties": {"repobilityId": "f4ad24dbf39866fd", "scanner": "scanner-primary", "fingerprint": "d0d2e1298ac354bb", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-21b7be869141c950", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/approvals/action-table.tsx:85"}, "properties": {"repobilityId": "a3a08adb85b26570", "scanner": "scanner-primary", "fingerprint": "21b7be869141c950", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-47340055b9798b36", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/memory/FactsRegister.tsx:110"}, "properties": {"repobilityId": "30c83e92702ef786", "scanner": "scanner-primary", "fingerprint": "47340055b9798b36", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c09c54da5e02e8df", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/memory/AttentionRail.tsx:141"}, "properties": {"repobilityId": "f6c5f0e9a817d6d2", "scanner": "scanner-primary", "fingerprint": "c09c54da5e02e8df", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-73fa0b6e47525ffe", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/system/ButlerHeartbeatTile.tsx:83"}, "properties": {"repobilityId": "a876af006da919dc", "scanner": "scanner-primary", "fingerprint": "73fa0b6e47525ffe", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c31ace41e4681638", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/system/DbSizeTile.tsx:77"}, "properties": {"repobilityId": "335e6719455545da", "scanner": "scanner-primary", "fingerprint": "c31ace41e4681638", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-33b85fb0f1a901d3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerTravelTripsTab.tsx:394"}, "properties": {"repobilityId": "5c835d7e203ae743", "scanner": "scanner-primary", "fingerprint": "33b85fb0f1a901d3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d24c764c0e934c2e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerRelationshipContactsTab.tsx:309"}, "properties": {"repobilityId": "33fd9061aac5ca0b", "scanner": "scanner-primary", "fingerprint": "d24c764c0e934c2e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-55af551d8bfa9b18", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/GoogleHealthStatusCard.tsx:154"}, "properties": {"repobilityId": "38c8960bad465c72", "scanner": "scanner-primary", "fingerprint": "55af551d8bfa9b18", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-fe113ab5863c66b8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/atoms.tsx:230"}, "properties": {"repobilityId": "12d88d59eb7046ba", "scanner": "scanner-primary", "fingerprint": "fe113ab5863c66b8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-dc526bfa0299b991", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerQaInvestigationsTab.tsx:155"}, "properties": {"repobilityId": "807291d68ed8683a", "scanner": "scanner-primary", "fingerprint": "dc526bfa0299b991", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0ca2450182346a90", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerCrmTab.tsx:48"}, "properties": {"repobilityId": "50c692fa60149f50", "scanner": "scanner-primary", "fingerprint": "0ca2450182346a90", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7ba491c1fdff173d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerFinanceFinancesTab.tsx:169"}, "properties": {"repobilityId": "7745b1081898b310", "scanner": "scanner-primary", "fingerprint": "7ba491c1fdff173d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e5b1b3d10598bd35", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerApprovalsTab.tsx:96"}, "properties": {"repobilityId": "138f998cde98bf8c", "scanner": "scanner-primary", "fingerprint": "e5b1b3d10598bd35", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f762ff3aee7bc604", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerLifestyleTasteTab.tsx:317"}, "properties": {"repobilityId": "8df6cbc5f338a875", "scanner": "scanner-primary", "fingerprint": "f762ff3aee7bc604", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e29f53af9a0003f7", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerDetailHeader.tsx:171"}, "properties": {"repobilityId": "fc7d15aa0b7c46f2", "scanner": "scanner-primary", "fingerprint": "e29f53af9a0003f7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8aad4e4050534a89", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerActivityTab.tsx:52"}, "properties": {"repobilityId": "0b86c8016dc485e0", "scanner": "scanner-primary", "fingerprint": "8aad4e4050534a89", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0276943dd3c778d0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerOverviewTab.tsx:108"}, "properties": {"repobilityId": "506d80196b34a3c2", "scanner": "scanner-primary", "fingerprint": "0276943dd3c778d0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-07f212997d4d4a12", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerSpendTab.tsx:142"}, "properties": {"repobilityId": "16f7d8e71ad5ae0c", "scanner": "scanner-primary", "fingerprint": "07f212997d4d4a12", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-990bdd3d0e386555", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerChroniclerTimelinesTab.tsx:299"}, "properties": {"repobilityId": "355786fadc42dc38", "scanner": "scanner-primary", "fingerprint": "990bdd3d0e386555", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-df8d0962178948ed", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerEducationReviewsTab.tsx:317"}, "properties": {"repobilityId": "c3d94c75c0148f72", "scanner": "scanner-primary", "fingerprint": "df8d0962178948ed", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6bbf237ae99ab496", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerHealthMeasurementsTab.tsx:137"}, "properties": {"repobilityId": "a4df1a4f1c4544da", "scanner": "scanner-primary", "fingerprint": "6bbf237ae99ab496", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d51708c7c037b939", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerMessengerConversationsTab.tsx:307"}, "properties": {"repobilityId": "e3fecd4dfab9a79f", "scanner": "scanner-primary", "fingerprint": "d51708c7c037b939", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e854ba72d3884c11", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerGeneralCollectionsTab.tsx:214"}, "properties": {"repobilityId": "38d142d3dc612b46", "scanner": "scanner-primary", "fingerprint": "e854ba72d3884c11", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e0a1f76ea5886e1d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/SiblingButlerNav.tsx:189"}, "properties": {"repobilityId": "b0f993b7727157ab", "scanner": "scanner-primary", "fingerprint": "e0a1f76ea5886e1d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-853b2d0dec8abeef", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 frontend/src/components/butler-detail/ButlerManagementTab.tsx:326"}, "properties": {"repobilityId": "e3c84b291002a84e", "scanner": "scanner-primary", "fingerprint": "853b2d0dec8abeef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-7a46922e1a1443f2", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerHomeDevicesTab.tsx:210"}, "properties": {"repobilityId": "41c3bffb46497392", "scanner": "scanner-primary", "fingerprint": "7a46922e1a1443f2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-52479742e1f9ad78", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerConfigTab.tsx:168"}, "properties": {"repobilityId": "e02c426d88b34027", "scanner": "scanner-primary", "fingerprint": "52479742e1f9ad78", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-16c27df532e1f968", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butler-detail/ButlerTriggerTab.tsx:269"}, "properties": {"repobilityId": "c2cbe2a8a9e557fd", "scanner": "scanner-primary", "fingerprint": "16c27df532e1f968", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-4a60cd001581be57", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/SecretsTable.tsx:420"}, "properties": {"repobilityId": "93ecfd489c63a239", "scanner": "scanner-primary", "fingerprint": "4a60cd001581be57", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-960785cc146a612f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/passport/Spine.tsx:189"}, "properties": {"repobilityId": "9481c9ac1d9b1ef0", "scanner": "scanner-primary", "fingerprint": "960785cc146a612f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-77828dba34e1c474", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/passport/KV.tsx:50"}, "properties": {"repobilityId": "a301edc4b571faf4", "scanner": "scanner-primary", "fingerprint": "77828dba34e1c474", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c4e3016ac81b724e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/passport/ProviderConfigDrawer.tsx:768"}, "properties": {"repobilityId": "cd870c93a9f5bac2", "scanner": "scanner-primary", "fingerprint": "c4e3016ac81b724e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7de0e855d938739d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/secrets/passport/pages.tsx:381"}, "properties": {"repobilityId": "778a2ad4a5d789b9", "scanner": "scanner-primary", "fingerprint": "7de0e855d938739d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d871fa1dee8e6c7a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/switchboard/RegistryTable.tsx:144"}, "properties": {"repobilityId": "64c17d8d42854e33", "scanner": "scanner-primary", "fingerprint": "d871fa1dee8e6c7a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-98cf956da8be7b28", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/switchboard/RoutingLogTable.tsx:171"}, "properties": {"repobilityId": "8ad111464c29e8e1", "scanner": "scanner-primary", "fingerprint": "98cf956da8be7b28", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1b5a80573739462c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/switchboard/BackfillHistoryTab.tsx:146"}, "properties": {"repobilityId": "492299272119dffa", "scanner": "scanner-primary", "fingerprint": "1b5a80573739462c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0374422ba0856f3d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/butlers/StatusBoardCell.tsx:167"}, "properties": {"repobilityId": "2707922057d6e441", "scanner": "scanner-primary", "fingerprint": "0374422ba0856f3d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5aefb9769a1813ca", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/QaPatrolDetailPage.tsx:99"}, "properties": {"repobilityId": "37aa5be5279eaee8", "scanner": "scanner-primary", "fingerprint": "5aefb9769a1813ca", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-fa49183c46e426b6", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/GroupsPage.tsx:341"}, "properties": {"repobilityId": "8e0bcdcd947a791d", "scanner": "scanner-primary", "fingerprint": "fa49183c46e426b6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5039a70a9b2208d1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/EntityDetailPage.tsx:1170"}, "properties": {"repobilityId": "57ee893b30835201", "scanner": "scanner-primary", "fingerprint": "5039a70a9b2208d1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9e83a6937d7c36d3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/ApprovalsPage.tsx:108"}, "properties": {"repobilityId": "f54e42563d25675b", "scanner": "scanner-primary", "fingerprint": "9e83a6937d7c36d3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c6a55c3d121feeef", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/SettingsConsolePage.tsx:159"}, "properties": {"repobilityId": "da26e6ca62479e7e", "scanner": "scanner-primary", "fingerprint": "c6a55c3d121feeef", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-225044c89358b9e0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/SettingsSpendPage.tsx:407"}, "properties": {"repobilityId": "639229a353e5670d", "scanner": "scanner-primary", "fingerprint": "225044c89358b9e0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7bc200796c499fac", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/SettingsModelsPage.tsx:902"}, "properties": {"repobilityId": "e790b856c911f0dc", "scanner": "scanner-primary", "fingerprint": "7bc200796c499fac", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0ca82a6b4b84296e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/SettingsPermissionsPage.tsx:783"}, "properties": {"repobilityId": "6175264fbeee79ce", "scanner": "scanner-primary", "fingerprint": "0ca82a6b4b84296e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9a9693f65fe7252b", "level": "warning", "message": {"text": "Custom React Flow node registered without explicit width/height \u2014 frontend/src/pages/DashboardPage.test.tsx:602"}, "properties": {"repobilityId": "a6f402c9784e08b7", "scanner": "scanner-primary", "fingerprint": "9a9693f65fe7252b", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.rfnode.no-dims"]}}, {"ruleId": "scanner-5eca0789b111aff1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/pages/CalendarWorkspacePage.tsx:1910"}, "properties": {"repobilityId": "d8a508e4f3b593b3", "scanner": "scanner-primary", "fingerprint": "5eca0789b111aff1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-471f57b22833f3ee", "level": "warning", "message": {"text": "Privileged port 4 in use"}, "properties": {"repobilityId": "1594bfeff919296e", "scanner": "scanner-primary", "fingerprint": "471f57b22833f3ee", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docker-compose.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e27bc7b03839a3a0", "level": "warning", "message": {"text": "Privileged port 2 in use"}, "properties": {"repobilityId": "755b04866010e843", "scanner": "scanner-primary", "fingerprint": "e27bc7b03839a3a0", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docker-compose.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d63da3583b14afc0", "level": "warning", "message": {"text": "Dockerfile runs as root: Dockerfile"}, "properties": {"repobilityId": "a2ed1bd120e507db", "scanner": "scanner-primary", "fingerprint": "d63da3583b14afc0", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-320bf3c66237de94", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: golang:1.25-bookworm"}, "properties": {"repobilityId": "6b1b41377e12bbf3", "scanner": "scanner-primary", "fingerprint": "320bf3c66237de94", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-fe64d00bf0d1f8ca", "level": "warning", "message": {"text": "Docker base image uses a mutable or implicit tag: butlers-base:latest"}, "properties": {"repobilityId": "711858135bedc5c1", "scanner": "scanner-primary", "fingerprint": "fe64d00bf0d1f8ca", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-f0b1d044f44c8bc2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/router.test.tsx:66"}, "properties": {"repobilityId": "3e0cf01ba4ee4277", "scanner": "scanner-primary", "fingerprint": "f0b1d044f44c8bc2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/router.test.tsx"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-45181b2e3b1506d7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ui/time.test.tsx:53"}, "properties": {"repobilityId": "012123fe4ab747e7", "scanner": "scanner-primary", "fingerprint": "45181b2e3b1506d7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/ui/time.test.tsx"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-cf68f25d60f6a62c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ui/time-app-timezone.test.tsx:42"}, "properties": {"repobilityId": "adb0fc326e4b3718", "scanner": "scanner-primary", "fingerprint": "cf68f25d60f6a62c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/ui/time-app-timezone.test.tsx"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-c3b9ce300aeb9646", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/workspace/TimeWindowPicker.test.tsx:48"}, "properties": {"repobilityId": "bb23002f631013a4", "scanner": "scanner-primary", "fingerprint": "c3b9ce300aeb9646", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/workspace/TimeWindowPicker.test.tsx"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-1b87f93587b8e057", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/IngestionSubNav.test.tsx:37"}, "properties": {"repobilityId": "c360d3c52302c5aa", "scanner": "scanner-primary", "fingerprint": "1b87f93587b8e057", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/ingestion/IngestionSubNav.test.tsx"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-d0be1b24f8356494", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/connectors/ConnectorsRoster.test.tsx:116"}, "properties": {"repobilityId": "de6de86d9ee4736a", "scanner": "scanner-primary", "fingerprint": "d0be1b24f8356494", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/ingestion/connectors/ConnectorsRoster.test.tsx"}, "region": {"startLine": 116}}}]}, {"ruleId": "scanner-3a550c6950d3d3d8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/connectors/ConnectorDetailView.test.tsx:92"}, "properties": {"repobilityId": "03381e43ad22805b", "scanner": "scanner-primary", "fingerprint": "3a550c6950d3d3d8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/ingestion/connectors/ConnectorDetailView.test.tsx"}, "region": {"startLine": 92}}}]}, {"ruleId": "scanner-dad96d2626fc411a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/filters/FiltersPipeline.test.tsx:202"}, "properties": {"repobilityId": "cb35fce6180549f9", "scanner": "scanner-primary", "fingerprint": "dad96d2626fc411a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/ingestion/filters/FiltersPipeline.test.tsx"}, "region": {"startLine": 202}}}]}, {"ruleId": "scanner-0f5873d3136f2502", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/ingestion/filters/RuleEditor.test.tsx:69"}, "properties": {"repobilityId": "95d23ccd5061b63e", "scanner": "scanner-primary", "fingerprint": "0f5873d3136f2502", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/ingestion/filters/RuleEditor.test.tsx"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-bb231752d90af6ab", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/SocialMapView.test.tsx:124"}, "properties": {"repobilityId": "386d0a4bc8bb73a1", "scanner": "scanner-primary", "fingerprint": "bb231752d90af6ab", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/relationship/SocialMapView.test.tsx"}, "region": {"startLine": 124}}}]}, {"ruleId": "scanner-111efcd7de616ebd", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/DeltaSinceLastVisitBanner.test.tsx:78"}, "properties": {"repobilityId": "3444d6052c62ab46", "scanner": "scanner-primary", "fingerprint": "111efcd7de616ebd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/relationship/DeltaSinceLastVisitBanner.test.tsx"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-844c4bc5ef4f3ab3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/LatestInteractionsBlock.test.tsx:93"}, "properties": {"repobilityId": "48a26cb290ab0ac7", "scanner": "scanner-primary", "fingerprint": "844c4bc5ef4f3ab3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/relationship/LatestInteractionsBlock.test.tsx"}, "region": {"startLine": 93}}}]}, {"ruleId": "scanner-fe738d69ebaf89e5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/HopPage.test.tsx:184"}, "properties": {"repobilityId": "9ce9267ef5579d01", "scanner": "scanner-primary", "fingerprint": "fe738d69ebaf89e5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/relationship/HopPage.test.tsx"}, "region": {"startLine": 184}}}]}, {"ruleId": "scanner-75b4aba43956b5b5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/ActivitySparkline.test.tsx:76"}, "properties": {"repobilityId": "9c21306a67138c9e", "scanner": "scanner-primary", "fingerprint": "75b4aba43956b5b5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/relationship/ActivitySparkline.test.tsx"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-a1c1581c2826a34b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/ConcentrationPage.test.tsx:184"}, "properties": {"repobilityId": "ed1c69431cfbc14e", "scanner": "scanner-primary", "fingerprint": "a1c1581c2826a34b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/relationship/ConcentrationPage.test.tsx"}, "region": {"startLine": 184}}}]}, {"ruleId": "scanner-ad926e6fe8b11c10", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/EntitiesIndexPage.test.tsx:248"}, "properties": {"repobilityId": "4d85e8131c7fe5f4", "scanner": "scanner-primary", "fingerprint": "ad926e6fe8b11c10", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/relationship/EntitiesIndexPage.test.tsx"}, "region": {"startLine": 248}}}]}, {"ruleId": "scanner-8cae88a18f90bc2b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/SubpageTabs.test.tsx:52"}, "properties": {"repobilityId": "f1974966e55aa6dc", "scanner": "scanner-primary", "fingerprint": "8cae88a18f90bc2b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/relationship/SubpageTabs.test.tsx"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-2663c96f276885e1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/ColumnsPage.test.tsx:200"}, "properties": {"repobilityId": "a98e3bb85a0bc8b0", "scanner": "scanner-primary", "fingerprint": "2663c96f276885e1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/relationship/ColumnsPage.test.tsx"}, "region": {"startLine": 200}}}]}, {"ruleId": "scanner-0d16d8e43432d7cf", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/relationship/CoreDatesBlock.test.tsx:72"}, "properties": {"repobilityId": "e305b668b1b71eb4", "scanner": "scanner-primary", "fingerprint": "0d16d8e43432d7cf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/relationship/CoreDatesBlock.test.tsx"}, "region": {"startLine": 72}}}]}, {"ruleId": "scanner-d95b6701981112af", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/memory/ConcentricCirclesCanvas.test.tsx:56"}, "properties": {"repobilityId": "5dc1a9a50a3b708b", "scanner": "scanner-primary", "fingerprint": "d95b6701981112af", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/memory/ConcentricCirclesCanvas.test.tsx"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-5c6b0be0af1776bb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/butlers/BoardFooter.test.tsx:54"}, "properties": {"repobilityId": "d8308cb65e847ea8", "scanner": "scanner-primary", "fingerprint": "5c6b0be0af1776bb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/butlers/BoardFooter.test.tsx"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-e26cc288a6f5ee58", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/components/butlers/BoardHeader.test.tsx:57"}, "properties": {"repobilityId": "9d789d884d2f6c88", "scanner": "scanner-primary", "fingerprint": "e26cc288a6f5ee58", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/butlers/BoardHeader.test.tsx"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-c5e06af09988bf30", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/pages/IngestionDispatchFoundation.test.tsx:120"}, "properties": {"repobilityId": "bf191260e7396c20", "scanner": "scanner-primary", "fingerprint": "c5e06af09988bf30", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/pages/IngestionDispatchFoundation.test.tsx"}, "region": {"startLine": 120}}}]}, {"ruleId": "scanner-3bb1ce79845df161", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/pages/SocialMapPage.test.tsx:148"}, "properties": {"repobilityId": "7fd3bdc497418bc3", "scanner": "scanner-primary", "fingerprint": "3bb1ce79845df161", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/pages/SocialMapPage.test.tsx"}, "region": {"startLine": 148}}}]}, {"ruleId": "scanner-8ffcb9fd2ac7a375", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/pages/IngestionTimelinePage.test.tsx:86"}, "properties": {"repobilityId": "7a7bc1b8490ec310", "scanner": "scanner-primary", "fingerprint": "8ffcb9fd2ac7a375", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/pages/IngestionTimelinePage.test.tsx"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-563ed229ca405a3d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in frontend/src/pages/IngestionSubRoutes.test.tsx:113"}, "properties": {"repobilityId": "76c89ade96397428", "scanner": "scanner-primary", "fingerprint": "563ed229ca405a3d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/pages/IngestionSubRoutes.test.tsx"}, "region": {"startLine": 113}}}]}, {"ruleId": "scanner-f7d30d820ba548e9", "level": "error", "message": {"text": "Possible secret in src/butlers/api/db.py"}, "properties": {"repobilityId": "95e42555486b9d49", "scanner": "scanner-primary", "fingerprint": "f7d30d820ba548e9", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/db.py"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-2ddbf496fb54a24e", "level": "error", "message": {"text": "Insecure pattern 'tls_verify_false' in src/butlers/jobs/home.py:136"}, "properties": {"repobilityId": "3d2ab6d1e9cc3d14", "scanner": "scanner-primary", "fingerprint": "2ddbf496fb54a24e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "tls_verify_false"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/jobs/home.py"}, "region": {"startLine": 136}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1b0add4759a308ec", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f6139f50639923c9", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5a6324341513109a", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 97}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4a63b1fd6887cae9", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 117}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4a63b1fd6887cae9", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 146}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bd7f3c1c34d83159", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 168}}}]}, {"ruleId": "scanner-f8c0801f98c9d930", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8119a5b82ce1dafb", "scanner": "scanner-primary", "fingerprint": "f8c0801f98c9d930", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/nightly.yml"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-f8c0801f98c9d930", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "25153655ec1c5aa1", "scanner": "scanner-primary", "fingerprint": "f8c0801f98c9d930", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/nightly.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04f6c832d67a7838", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d9e25b0724a89070", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c71c4053464cd39c", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "632563f5562f1eb0", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d08151bb856f4436", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 70}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f0dc584a111ffc00", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-1838a141491ce38c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b8fd4f5048f96576", "scanner": "scanner-primary", "fingerprint": "1838a141491ce38c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1c1b56d440e7f413", "level": "note", "message": {"text": "Very large file: frontend/tests/e2e/secrets-passport-parity.spec.ts (1510 lines)"}, "properties": {"repobilityId": "3d58c396b82a6199", "scanner": "scanner-primary", "fingerprint": "1c1b56d440e7f413", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-531245ef7723fc46", "level": "note", "message": {"text": "Very large file: frontend/src/api/client.ts (6216 lines)"}, "properties": {"repobilityId": "8cb108e869d3e9f0", "scanner": "scanner-primary", "fingerprint": "531245ef7723fc46", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-124689ae552cf7f9", "level": "note", "message": {"text": "Very large file: frontend/src/api/types.ts (6698 lines)"}, "properties": {"repobilityId": "9a5c3723577f0225", "scanner": "scanner-primary", "fingerprint": "124689ae552cf7f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e0bd724831f45d80", "level": "note", "message": {"text": "Very large file: frontend/src/components/ingestion/TimelineTab.test.tsx (1717 lines)"}, "properties": {"repobilityId": "47403cf0877d0f15", "scanner": "scanner-primary", "fingerprint": "e0bd724831f45d80", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6bcfb208d234e7cb", "level": "note", "message": {"text": "Very large file: frontend/src/components/ingestion/TimelineTab.tsx (1565 lines)"}, "properties": {"repobilityId": "79ca9818ca758ff3", "scanner": "scanner-primary", "fingerprint": "6bcfb208d234e7cb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9e0792bc35779459", "level": "note", "message": {"text": "Very large file: frontend/src/components/relationship/EntitiesIndexPage.tsx (1630 lines)"}, "properties": {"repobilityId": "325761de23469786", "scanner": "scanner-primary", "fingerprint": "9e0792bc35779459", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c670131d6424eff2", "level": "note", "message": {"text": "Very large file: frontend/src/components/relationship/EntitiesIndexPage.test.tsx (1717 lines)"}, "properties": {"repobilityId": "e1aae1991f77b288", "scanner": "scanner-primary", "fingerprint": "c670131d6424eff2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dddcfe86e67ef8e2", "level": "note", "message": {"text": "Very large file: frontend/src/components/secrets/passport/passport.test.tsx (1405 lines)"}, "properties": {"repobilityId": "8780e21662f388c2", "scanner": "scanner-primary", "fingerprint": "dddcfe86e67ef8e2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1798abbd5eb41344", "level": "note", "message": {"text": "Very large file: frontend/src/components/secrets/passport/ProviderConfigDrawer.tsx (1551 lines)"}, "properties": {"repobilityId": "c6c3f95fdf50ebce", "scanner": "scanner-primary", "fingerprint": "1798abbd5eb41344", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e0240f5c96b2402e", "level": "note", "message": {"text": "Very large file: frontend/src/components/secrets/passport/pages.tsx (3388 lines)"}, "properties": {"repobilityId": "519d2358dc5cc68b", "scanner": "scanner-primary", "fingerprint": "e0240f5c96b2402e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d90be72398c16a09", "level": "note", "message": {"text": "Very large file: frontend/src/components/switchboard/FiltersTab.tsx (1750 lines)"}, "properties": {"repobilityId": "4d6185fb184b3e1e", "scanner": "scanner-primary", "fingerprint": "d90be72398c16a09", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ab20c120ceaa226a", "level": "note", "message": {"text": "Very large file: frontend/src/pages/EntityDetailPage.tsx (3473 lines)"}, "properties": {"repobilityId": "36c79331565a1995", "scanner": "scanner-primary", "fingerprint": "ab20c120ceaa226a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9e4c839e273a7448", "level": "note", "message": {"text": "Very large file: frontend/src/pages/ButlerDetailPage.test.tsx (2565 lines)"}, "properties": {"repobilityId": "1686b54ea4d39c7f", "scanner": "scanner-primary", "fingerprint": "9e4c839e273a7448", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c4047a67adcec6d9", "level": "note", "message": {"text": "Very large file: frontend/src/pages/CalendarWorkspacePage.tsx (2613 lines)"}, "properties": {"repobilityId": "b77fdb7fc67c2f43", "scanner": "scanner-primary", "fingerprint": "c4047a67adcec6d9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-20897cff948464b4", "level": "note", "message": {"text": "Very large file: roster/health/tests/test_wellness_ingest.py (1498 lines)"}, "properties": {"repobilityId": "71a81d0ba0d2efd6", "scanner": "scanner-primary", "fingerprint": "20897cff948464b4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a69248d12f4dc829", "level": "note", "message": {"text": "Very large file: roster/health/tests/test_tools.py (1960 lines)"}, "properties": {"repobilityId": "f47212e06be7cda3", "scanner": "scanner-primary", "fingerprint": "a69248d12f4dc829", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3b04f627297c7afa", "level": "note", "message": {"text": "Very large file: roster/health/api/router.py (1623 lines)"}, "properties": {"repobilityId": "34917aa5a297dbd8", "scanner": "scanner-primary", "fingerprint": "3b04f627297c7afa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3854bfa0fc82d4ee", "level": "note", "message": {"text": "Very large file: roster/finance/tests/test_integration.py (1671 lines)"}, "properties": {"repobilityId": "6fdb620c31c0e03a", "scanner": "scanner-primary", "fingerprint": "3854bfa0fc82d4ee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bf73d150e9c5cbdc", "level": "note", "message": {"text": "Very large file: roster/finance/tests/test_pattern_recognition.py (2004 lines)"}, "properties": {"repobilityId": "42ad3f232d71f817", "scanner": "scanner-primary", "fingerprint": "bf73d150e9c5cbdc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b9e405099cf8710e", "level": "note", "message": {"text": "Very large file: roster/finance/tests/test_jobs.py (1669 lines)"}, "properties": {"repobilityId": "d9c3e1b321919e6c", "scanner": "scanner-primary", "fingerprint": "b9e405099cf8710e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cdbf0416e7379ec6", "level": "note", "message": {"text": "Very large file: roster/finance/tests/test_api.py (1627 lines)"}, "properties": {"repobilityId": "8d47628d26c995f7", "scanner": "scanner-primary", "fingerprint": "cdbf0416e7379ec6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9dfdd3fbbfca6fd9", "level": "note", "message": {"text": "Very large file: roster/finance/tests/test_budgets.py (1402 lines)"}, "properties": {"repobilityId": "23b3dec31d17b3d4", "scanner": "scanner-primary", "fingerprint": "9dfdd3fbbfca6fd9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-94070c2767ee3757", "level": "note", "message": {"text": "Very large file: roster/finance/tests/test_facts.py (2737 lines)"}, "properties": {"repobilityId": "1ac655fb2fd812e4", "scanner": "scanner-primary", "fingerprint": "94070c2767ee3757", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0d50b5850d00603c", "level": "note", "message": {"text": "Very large file: roster/finance/tests/test_transaction_crud.py (1315 lines)"}, "properties": {"repobilityId": "2b84b7b4d904ed00", "scanner": "scanner-primary", "fingerprint": "0d50b5850d00603c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4879f0ac6ca971f2", "level": "note", "message": {"text": "Very large file: roster/finance/modules/tools.py (1334 lines)"}, "properties": {"repobilityId": "2dcf9709b64c669c", "scanner": "scanner-primary", "fingerprint": "4879f0ac6ca971f2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d6bf806e9e1e49d4", "level": "note", "message": {"text": "Very large file: roster/finance/tools/transactions.py (1752 lines)"}, "properties": {"repobilityId": "9ec201a3e5834ffe", "scanner": "scanner-primary", "fingerprint": "d6bf806e9e1e49d4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-78dce6d5aea8d11c", "level": "note", "message": {"text": "Very large file: roster/finance/tools/facts.py (1689 lines)"}, "properties": {"repobilityId": "4325e68b1ea9eec0", "scanner": "scanner-primary", "fingerprint": "78dce6d5aea8d11c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-770e9627f97ce0e7", "level": "note", "message": {"text": "Very large file: roster/education/tests/test_teaching_flows.py (1554 lines)"}, "properties": {"repobilityId": "209d08e24f73094a", "scanner": "scanner-primary", "fingerprint": "770e9627f97ce0e7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-251f058938f9e572", "level": "note", "message": {"text": "Very large file: roster/education/tests/test_api.py (1593 lines)"}, "properties": {"repobilityId": "983a5cd2c48942a0", "scanner": "scanner-primary", "fingerprint": "251f058938f9e572", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b48c36856381f823", "level": "note", "message": {"text": "Very large file: roster/education/tests/test_mastery.py (1292 lines)"}, "properties": {"repobilityId": "ec91b33e285f5c0e", "scanner": "scanner-primary", "fingerprint": "b48c36856381f823", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a6a54cb5a5899ae5", "level": "note", "message": {"text": "Very large file: roster/home/modules/__init__.py (2404 lines)"}, "properties": {"repobilityId": "db000568c3af41dc", "scanner": "scanner-primary", "fingerprint": "a6a54cb5a5899ae5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-882da4a67ef8a6f1", "level": "note", "message": {"text": "Very large file: roster/chronicler/api/router.py (2252 lines)"}, "properties": {"repobilityId": "3d8064e0f3813410", "scanner": "scanner-primary", "fingerprint": "882da4a67ef8a6f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-022fdc43a5d8d73a", "level": "note", "message": {"text": "Very large file: roster/relationship/tests/test_dunbar.py (1851 lines)"}, "properties": {"repobilityId": "70775b2840a64651", "scanner": "scanner-primary", "fingerprint": "022fdc43a5d8d73a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b46aa9f272c83375", "level": "note", "message": {"text": "Very large file: roster/relationship/tests/test_entities_api.py (2688 lines)"}, "properties": {"repobilityId": "92fe139bda7368b1", "scanner": "scanner-primary", "fingerprint": "b46aa9f272c83375", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9b1923eca5c124e9", "level": "note", "message": {"text": "Very large file: roster/relationship/tests/test_jobs.py (2316 lines)"}, "properties": {"repobilityId": "70f701e1ea4b0f11", "scanner": "scanner-primary", "fingerprint": "9b1923eca5c124e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-acf501808f19aed8", "level": "note", "message": {"text": "Very large file: roster/relationship/tests/test_entity_tabs.py (1778 lines)"}, "properties": {"repobilityId": "9b53d5be19fa761e", "scanner": "scanner-primary", "fingerprint": "acf501808f19aed8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-078e1e7e6e16eb22", "level": "note", "message": {"text": "Very large file: roster/relationship/tests/test_tools.py (2772 lines)"}, "properties": {"repobilityId": "effb5fa2531208d3", "scanner": "scanner-primary", "fingerprint": "078e1e7e6e16eb22", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8714bcb5456ffae2", "level": "note", "message": {"text": "Very large file: roster/relationship/api/router.py (8074 lines)"}, "properties": {"repobilityId": "68958ac7c7ce970a", "scanner": "scanner-primary", "fingerprint": "8714bcb5456ffae2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bba5c0fe3aa0d1ee", "level": "note", "message": {"text": "Very large file: roster/relationship/api/models.py (1809 lines)"}, "properties": {"repobilityId": "6fabcb3240c1d349", "scanner": "scanner-primary", "fingerprint": "bba5c0fe3aa0d1ee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3930810a2cf2fcde", "level": "note", "message": {"text": "Very large file: roster/relationship/jobs/relationship_jobs.py (1761 lines)"}, "properties": {"repobilityId": "e90eead168ab50b9", "scanner": "scanner-primary", "fingerprint": "3930810a2cf2fcde", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5d82e5839d9f3a1c", "level": "note", "message": {"text": "Very large file: roster/switchboard/tests/test_deliver_unit.py (1475 lines)"}, "properties": {"repobilityId": "fed7cd7723bd970f", "scanner": "scanner-primary", "fingerprint": "5d82e5839d9f3a1c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ef97c8914d7cddb3", "level": "note", "message": {"text": "Very large file: roster/switchboard/tests/test_tools.py (1816 lines)"}, "properties": {"repobilityId": "491893a4de7cbc3d", "scanner": "scanner-primary", "fingerprint": "ef97c8914d7cddb3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ccdfea07487c562b", "level": "note", "message": {"text": "Very large file: roster/switchboard/api/router.py (3466 lines)"}, "properties": {"repobilityId": "146f0e03fafc9df8", "scanner": "scanner-primary", "fingerprint": "ccdfea07487c562b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-83a91b4985d00974", "level": "note", "message": {"text": "Very large file: tests/adapters/test_codex_adapter.py (1529 lines)"}, "properties": {"repobilityId": "ff8c3b6a2d3ab4a5", "scanner": "scanner-primary", "fingerprint": "83a91b4985d00974", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9831f56a69539431", "level": "note", "message": {"text": "Very large file: tests/connectors/test_google_health_connector.py (2070 lines)"}, "properties": {"repobilityId": "db75f689d9676c91", "scanner": "scanner-primary", "fingerprint": "9831f56a69539431", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e5d0d9797ecd77e1", "level": "note", "message": {"text": "Very large file: tests/api/test_memory.py (1530 lines)"}, "properties": {"repobilityId": "f9c877e321486da5", "scanner": "scanner-primary", "fingerprint": "e5d0d9797ecd77e1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1f9241c98280db7e", "level": "note", "message": {"text": "Very large file: tests/api/test_secrets_v2_inventory.py (2005 lines)"}, "properties": {"repobilityId": "265a5a8bbe6fcfd3", "scanner": "scanner-primary", "fingerprint": "1f9241c98280db7e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-005239efbfc9a899", "level": "note", "message": {"text": "Very large file: tests/api/test_api_health_facts_reads.py (1585 lines)"}, "properties": {"repobilityId": "f03cdf313f3e46ec", "scanner": "scanner-primary", "fingerprint": "005239efbfc9a899", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2cc6f743a206db8a", "level": "note", "message": {"text": "Very large file: tests/dashboard/test_briefing.py (1682 lines)"}, "properties": {"repobilityId": "df8445466d669437", "scanner": "scanner-primary", "fingerprint": "2cc6f743a206db8a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ffdda49ebaef209c", "level": "note", "message": {"text": "Very large file: tests/modules/test_insight_engine.py (1623 lines)"}, "properties": {"repobilityId": "899a911d553ba25d", "scanner": "scanner-primary", "fingerprint": "ffdda49ebaef209c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5187ea718195ea84", "level": "note", "message": {"text": "Very large file: tests/modules/test_module_calendar.py (1984 lines)"}, "properties": {"repobilityId": "3fdce9e2420456d3", "scanner": "scanner-primary", "fingerprint": "5187ea718195ea84", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d0ac45e8d26dccb9", "level": "note", "message": {"text": "Very large file: tests/modules/memory/test_tools_entities.py (1240 lines)"}, "properties": {"repobilityId": "60a95d9d5d472b62", "scanner": "scanner-primary", "fingerprint": "d0ac45e8d26dccb9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-21d0cf4c43dec147", "level": "note", "message": {"text": "Very large file: tests/daemon/test_daemon.py (1874 lines)"}, "properties": {"repobilityId": "641bf9c257b577eb", "scanner": "scanner-primary", "fingerprint": "21d0cf4c43dec147", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fbba9b75a1c6ec77", "level": "note", "message": {"text": "Very large file: tests/core/test_model_routing.py (1476 lines)"}, "properties": {"repobilityId": "09ea7f7478b22d16", "scanner": "scanner-primary", "fingerprint": "fbba9b75a1c6ec77", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c9d9ee9aa98a98ea", "level": "note", "message": {"text": "Very large file: tests/core/test_core_spawner.py (2700 lines)"}, "properties": {"repobilityId": "85cd5a8a82696a4a", "scanner": "scanner-primary", "fingerprint": "c9d9ee9aa98a98ea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5c0e39e31323ca48", "level": "note", "message": {"text": "Very large file: tests/migrations/test_backfill_contact_info_triples.py (1398 lines)"}, "properties": {"repobilityId": "012725724f5e0817", "scanner": "scanner-primary", "fingerprint": "5c0e39e31323ca48", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d0287d10e254549a", "level": "note", "message": {"text": "Very large file: src/butlers/daemon.py (1602 lines)"}, "properties": {"repobilityId": "ca5334314e405813", "scanner": "scanner-primary", "fingerprint": "d0287d10e254549a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-de66568a7b88c5cf", "level": "note", "message": {"text": "Very large file: src/butlers/connectors/discord_user.py (1399 lines)"}, "properties": {"repobilityId": "91e5069b915dab3d", "scanner": "scanner-primary", "fingerprint": "de66568a7b88c5cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-afd893444e862040", "level": "note", "message": {"text": "Very large file: src/butlers/connectors/google_drive.py (2325 lines)"}, "properties": {"repobilityId": "e9e9cf2ff8a5069d", "scanner": "scanner-primary", "fingerprint": "afd893444e862040", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a9caae4f9b6248d4", "level": "note", "message": {"text": "Very large file: src/butlers/connectors/steam.py (1919 lines)"}, "properties": {"repobilityId": "5fdec4ebc0bff3c7", "scanner": "scanner-primary", "fingerprint": "a9caae4f9b6248d4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0db04cd5f74feb35", "level": "note", "message": {"text": "Very large file: src/butlers/connectors/gmail.py (3983 lines)"}, "properties": {"repobilityId": "6f760cb7526e767d", "scanner": "scanner-primary", "fingerprint": "0db04cd5f74feb35", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7eae44c547e8f75b", "level": "note", "message": {"text": "Very large file: src/butlers/connectors/spotify_client.py (1499 lines)"}, "properties": {"repobilityId": "1111913778338538", "scanner": "scanner-primary", "fingerprint": "7eae44c547e8f75b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0c935d958f809e9b", "level": "note", "message": {"text": "Very large file: src/butlers/connectors/home_assistant.py (1964 lines)"}, "properties": {"repobilityId": "b8cd15b29b59705a", "scanner": "scanner-primary", "fingerprint": "0c935d958f809e9b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7f43c604c96a4306", "level": "note", "message": {"text": "Very large file: src/butlers/connectors/google_health.py (2514 lines)"}, "properties": {"repobilityId": "19ddc83f6ef26b62", "scanner": "scanner-primary", "fingerprint": "7f43c604c96a4306", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-70873daa1086a85f", "level": "note", "message": {"text": "Very large file: src/butlers/connectors/telegram_bot.py (1293 lines)"}, "properties": {"repobilityId": "4d9cb8ecf9766699", "scanner": "scanner-primary", "fingerprint": "70873daa1086a85f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-152016dbdd7b0fa2", "level": "note", "message": {"text": "Very large file: src/butlers/connectors/spotify.py (2161 lines)"}, "properties": {"repobilityId": "5b1b8c801950f47f", "scanner": "scanner-primary", "fingerprint": "152016dbdd7b0fa2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-74af4a56ef48bdea", "level": "note", "message": {"text": "Very large file: src/butlers/connectors/telegram_user_client.py (2272 lines)"}, "properties": {"repobilityId": "7b8842d79df2ace9", "scanner": "scanner-primary", "fingerprint": "74af4a56ef48bdea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6f3bde7340342a7f", "level": "note", "message": {"text": "Very large file: src/butlers/connectors/google_calendar.py (2402 lines)"}, "properties": {"repobilityId": "c5857194b3f75b6a", "scanner": "scanner-primary", "fingerprint": "6f3bde7340342a7f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-710fe016313eec18", "level": "note", "message": {"text": "Very large file: src/butlers/connectors/whatsapp_user_client.py (1713 lines)"}, "properties": {"repobilityId": "b232364f7fa570b5", "scanner": "scanner-primary", "fingerprint": "710fe016313eec18", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0502c89cc2fcc81e", "level": "note", "message": {"text": "Very large file: src/butlers/connectors/owntracks.py (1933 lines)"}, "properties": {"repobilityId": "da1329906c238e84", "scanner": "scanner-primary", "fingerprint": "0502c89cc2fcc81e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4127cedffb642464", "level": "note", "message": {"text": "Very large file: src/butlers/api/routers/ingestion_connectors.py (1451 lines)"}, "properties": {"repobilityId": "1241d7f3761f7963", "scanner": "scanner-primary", "fingerprint": "4127cedffb642464", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-129f7d760e1b4dcb", "level": "note", "message": {"text": "Very large file: src/butlers/api/routers/spend.py (1498 lines)"}, "properties": {"repobilityId": "de9bdc81d5a3c172", "scanner": "scanner-primary", "fingerprint": "129f7d760e1b4dcb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3483df2fcfab827e", "level": "note", "message": {"text": "Very large file: src/butlers/api/routers/memory.py (2300 lines)"}, "properties": {"repobilityId": "9e68626a1894b279", "scanner": "scanner-primary", "fingerprint": "3483df2fcfab827e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9bb60dca7deb30f6", "level": "note", "message": {"text": "Very large file: src/butlers/api/routers/qa.py (3338 lines)"}, "properties": {"repobilityId": "ef5dd4bb8dc906ff", "scanner": "scanner-primary", "fingerprint": "9bb60dca7deb30f6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-96b79dffd544f78e", "level": "note", "message": {"text": "Very large file: src/butlers/api/routers/model_settings.py (1665 lines)"}, "properties": {"repobilityId": "d2667de58c58f0c9", "scanner": "scanner-primary", "fingerprint": "96b79dffd544f78e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1b0337eba80c3b4e", "level": "note", "message": {"text": "Very large file: src/butlers/api/routers/oauth.py (3259 lines)"}, "properties": {"repobilityId": "798151233a85cbc8", "scanner": "scanner-primary", "fingerprint": "1b0337eba80c3b4e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-004bfd02d3a14dd3", "level": "note", "message": {"text": "Very large file: src/butlers/api/routers/secrets_v2.py (4325 lines)"}, "properties": {"repobilityId": "5f6bf2f6c77d5c32", "scanner": "scanner-primary", "fingerprint": "004bfd02d3a14dd3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-26a0610d10c6917a", "level": "note", "message": {"text": "Very large file: src/butlers/api/routers/approvals.py (2266 lines)"}, "properties": {"repobilityId": "63e50643b67187cf", "scanner": "scanner-primary", "fingerprint": "26a0610d10c6917a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-419490d0364ef219", "level": "note", "message": {"text": "Very large file: src/butlers/modules/calendar.py (8250 lines)"}, "properties": {"repobilityId": "0f78e1e5057e50f1", "scanner": "scanner-primary", "fingerprint": "419490d0364ef219", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-776fb455bb0525ba", "level": "note", "message": {"text": "Very large file: src/butlers/modules/pipeline.py (2391 lines)"}, "properties": {"repobilityId": "8d225bfd7e4e2ede", "scanner": "scanner-primary", "fingerprint": "776fb455bb0525ba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e9182fd955f06eb9", "level": "note", "message": {"text": "Very large file: src/butlers/modules/qa/__init__.py (1951 lines)"}, "properties": {"repobilityId": "b60d7f0381c4480d", "scanner": "scanner-primary", "fingerprint": "e9182fd955f06eb9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1a613b7f6c8042e0", "level": "note", "message": {"text": "Very large file: src/butlers/modules/memory/__init__.py (1621 lines)"}, "properties": {"repobilityId": "9cd618260a4e1f44", "scanner": "scanner-primary", "fingerprint": "1a613b7f6c8042e0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7b67dc58d2f0fe4f", "level": "note", "message": {"text": "Very large file: src/butlers/modules/memory/storage.py (2544 lines)"}, "properties": {"repobilityId": "571de0940237d93b", "scanner": "scanner-primary", "fingerprint": "7b67dc58d2f0fe4f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a3de8454cc23c57b", "level": "note", "message": {"text": "Very large file: src/butlers/modules/memory/tools/entities.py (1370 lines)"}, "properties": {"repobilityId": "b08e8b29c8aadada", "scanner": "scanner-primary", "fingerprint": "a3de8454cc23c57b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-68bd75523146b491", "level": "note", "message": {"text": "Very large file: src/butlers/modules/contacts/sync.py (1507 lines)"}, "properties": {"repobilityId": "99a6eef57e790386", "scanner": "scanner-primary", "fingerprint": "68bd75523146b491", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8d0ba556513aed7f", "level": "note", "message": {"text": "Very large file: src/butlers/core/spawner.py (2975 lines)"}, "properties": {"repobilityId": "b21e09cbd855f7f2", "scanner": "scanner-primary", "fingerprint": "8d0ba556513aed7f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bacc3653320a65e0", "level": "note", "message": {"text": "Very large file: src/butlers/core/scheduler.py (2324 lines)"}, "properties": {"repobilityId": "72f92b6751794970", "scanner": "scanner-primary", "fingerprint": "bacc3653320a65e0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d4c184a939ee0fe8", "level": "note", "message": {"text": "Very large file: src/butlers/core/qa/dispatch.py (3796 lines)"}, "properties": {"repobilityId": "1c3e8ae7635734f2", "scanner": "scanner-primary", "fingerprint": "d4c184a939ee0fe8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0c4a0a7c15bf150f", "level": "note", "message": {"text": "Very large file: src/butlers/core/runtimes/codex.py (1993 lines)"}, "properties": {"repobilityId": "90fcc2b405c07243", "scanner": "scanner-primary", "fingerprint": "0c4a0a7c15bf150f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2d55c01488d47671", "level": "note", "message": {"text": "Very large file: src/butlers/core/healing/dispatch.py (1755 lines)"}, "properties": {"repobilityId": "6d16cafa0f4b7c1c", "scanner": "scanner-primary", "fingerprint": "2d55c01488d47671", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c166ddfc64c5564f", "level": "note", "message": {"text": "Very large file: src/butlers/jobs/briefing.py (1491 lines)"}, "properties": {"repobilityId": "67a70e0f26d12703", "scanner": "scanner-primary", "fingerprint": "c166ddfc64c5564f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c1ad08b1e85f90a2", "level": "note", "message": {"text": "Very large file: src/butlers/jobs/home.py (2299 lines)"}, "properties": {"repobilityId": "41e16706bd8c4063", "scanner": "scanner-primary", "fingerprint": "c1ad08b1e85f90a2", "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": "138e6829da54add7", "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": "450b6a51313ac33e", "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": "7ea23d9431c9b10d", "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": "d15abbf5ff529549", "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": "9c29e6dacfdec641", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-2679282aa1c484b5", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: AGENTS.md"}, "properties": {"repobilityId": "27d579812e6be614", "scanner": "scanner-primary", "fingerprint": "2679282aa1c484b5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-658dcbe8e62bc990", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: roster/shared/AGENTS.md"}, "properties": {"repobilityId": "f3f17f9a923600cc", "scanner": "scanner-primary", "fingerprint": "658dcbe8e62bc990", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/shared/AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4b0356d593fa482b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: roster/messenger/GEMINI.md"}, "properties": {"repobilityId": "4f9fa5ec9aa479b7", "scanner": "scanner-primary", "fingerprint": "4b0356d593fa482b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "gemini_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/messenger/GEMINI.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4ef58f721c6a4a13", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: roster/messenger/CLAUDE.md"}, "properties": {"repobilityId": "64ca797421128748", "scanner": "scanner-primary", "fingerprint": "4ef58f721c6a4a13", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/messenger/CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-626de1094064c6ea", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: roster/messenger/AGENTS.md"}, "properties": {"repobilityId": "8e6c6161bd5cd181", "scanner": "scanner-primary", "fingerprint": "626de1094064c6ea", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/messenger/AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8bd7a4accbb53afc", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: roster/switchboard/AGENTS.md"}, "properties": {"repobilityId": "abdc4ece63126c8a", "scanner": "scanner-primary", "fingerprint": "8bd7a4accbb53afc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3d5de168281a922f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: roster/travel/AGENTS.md"}, "properties": {"repobilityId": "ddf79e25984a21f1", "scanner": "scanner-primary", "fingerprint": "3d5de168281a922f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/travel/AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd5615d123166ec6", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/ff.md"}, "properties": {"repobilityId": "feeb4951698b46d1", "scanner": "scanner-primary", "fingerprint": "cd5615d123166ec6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/opsx/ff.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6c10344bdf57df51", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/sync.md"}, "properties": {"repobilityId": "c67e0c803c0dbcac", "scanner": "scanner-primary", "fingerprint": "6c10344bdf57df51", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/opsx/sync.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-df8d7aecf447de62", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/archive.md"}, "properties": {"repobilityId": "222623e99b9cb4f7", "scanner": "scanner-primary", "fingerprint": "df8d7aecf447de62", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/opsx/archive.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ad09ff7aa9b7a2e2", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/onboard.md"}, "properties": {"repobilityId": "f06ec71739805ff6", "scanner": "scanner-primary", "fingerprint": "ad09ff7aa9b7a2e2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/opsx/onboard.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-021b572fe2fa6b9c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/apply.md"}, "properties": {"repobilityId": "5ba922ec1bca34d1", "scanner": "scanner-primary", "fingerprint": "021b572fe2fa6b9c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/opsx/apply.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3a0812fc7c4ea388", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/new.md"}, "properties": {"repobilityId": "bce75fbabb73c7d1", "scanner": "scanner-primary", "fingerprint": "3a0812fc7c4ea388", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/opsx/new.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c782c3e951b88dce", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/reconcile-spec-to-project/SKILL.md"}, "properties": {"repobilityId": "de229fb9d00c491f", "scanner": "scanner-primary", "fingerprint": "c782c3e951b88dce", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/reconcile-spec-to-project/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7942008c41c4b843", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-tool-review/references/tool-budget.md"}, "properties": {"repobilityId": "34d8990e14c5a9b2", "scanner": "scanner-primary", "fingerprint": "7942008c41c4b843", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butler-tool-review/references/tool-budget.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-312e1fe18740d123", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-new-change/SKILL.md"}, "properties": {"repobilityId": "b2a9281bd25459ff", "scanner": "scanner-primary", "fingerprint": "312e1fe18740d123", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/openspec-new-change/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f04ed68e31890a87", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/spec-and-spine/SKILL.md"}, "properties": {"repobilityId": "3ddd5ff8f551dd3a", "scanner": "scanner-primary", "fingerprint": "f04ed68e31890a87", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/spec-and-spine/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5aac9a70e6b57179", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/butlers-redesign-prompt/references/llm-pricing.md"}, "properties": {"repobilityId": "03ed658026f42df5", "scanner": "scanner-primary", "fingerprint": "5aac9a70e6b57179", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butlers-redesign-prompt/references/llm-pricing.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d110b5d5be6392e5", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/butlers-redesign-prompt/references/input-gathering.md"}, "properties": {"repobilityId": "ff46fe7a1a3cb1d3", "scanner": "scanner-primary", "fingerprint": "d110b5d5be6392e5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butlers-redesign-prompt/references/input-gathering.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c19d9cab97b642d7", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/butlers-redesign-prompt/assets/brief-template.md"}, "properties": {"repobilityId": "9e16636c4ceb9e36", "scanner": "scanner-primary", "fingerprint": "c19d9cab97b642d7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butlers-redesign-prompt/assets/brief-template.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-14b94de34d897ad4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-apply-change/SKILL.md"}, "properties": {"repobilityId": "ff525910a58aad1b", "scanner": "scanner-primary", "fingerprint": "14b94de34d897ad4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/openspec-apply-change/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8a585f74bb40a5f1", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-archive-change/SKILL.md"}, "properties": {"repobilityId": "1499167b45dee6be", "scanner": "scanner-primary", "fingerprint": "8a585f74bb40a5f1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/openspec-archive-change/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-28e2356b2fffdcd1", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-dev-debug/references/session-queries.md"}, "properties": {"repobilityId": "c48ebefb2f6de565", "scanner": "scanner-primary", "fingerprint": "28e2356b2fffdcd1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butler-dev-debug/references/session-queries.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-737e8d19e2cb9f40", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-dev-debug/references/logs-and-health.md"}, "properties": {"repobilityId": "b4b231472e4ca109", "scanner": "scanner-primary", "fingerprint": "737e8d19e2cb9f40", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butler-dev-debug/references/logs-and-health.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9e74203c44e41d28", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-qa-pr-review/references/pii-and-replies.md"}, "properties": {"repobilityId": "42207baf7bbe5cde", "scanner": "scanner-primary", "fingerprint": "9e74203c44e41d28", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butler-qa-pr-review/references/pii-and-replies.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e463f538ad5be65b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-qa-pr-review/agents/openai.yaml"}, "properties": {"repobilityId": "fa54766747ba3d7b", "scanner": "scanner-primary", "fingerprint": "e463f538ad5be65b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butler-qa-pr-review/agents/openai.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7db1b297ad1a6fb1", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-test-condensation/SKILL.md"}, "properties": {"repobilityId": "0aafb4147310752a", "scanner": "scanner-primary", "fingerprint": "7db1b297ad1a6fb1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butler-test-condensation/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1fce748eb4b82f0c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-test-condensation/references/domains.md"}, "properties": {"repobilityId": "2d758423f71ba8be", "scanner": "scanner-primary", "fingerprint": "1fce748eb4b82f0c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butler-test-condensation/references/domains.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-67470287ca0033e8", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-test-condensation/references/classification.md"}, "properties": {"repobilityId": "1c831cf5a3ca5f34", "scanner": "scanner-primary", "fingerprint": "67470287ca0033e8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butler-test-condensation/references/classification.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1861f29946301e43", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-sync-specs/SKILL.md"}, "properties": {"repobilityId": "67a28bca6aa28ab2", "scanner": "scanner-primary", "fingerprint": "1861f29946301e43", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/openspec-sync-specs/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7ead1af3634839c8", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-ff-change/SKILL.md"}, "properties": {"repobilityId": "ee3a5b6b65c89d6c", "scanner": "scanner-primary", "fingerprint": "7ead1af3634839c8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/openspec-ff-change/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-639c7a3c85b72a8c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/adding-butlers-to-roster/SKILL.md"}, "properties": {"repobilityId": "daa3881b3681a41f", "scanner": "scanner-primary", "fingerprint": "639c7a3c85b72a8c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/adding-butlers-to-roster/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0ad64856609b900e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/adding-butlers-to-roster/references/test-patterns.md"}, "properties": {"repobilityId": "aaebccfbcbe09195", "scanner": "scanner-primary", "fingerprint": "0ad64856609b900e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/adding-butlers-to-roster/references/test-patterns.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5c520cca1dd28381", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/butler-db-schema/SKILL.md"}, "properties": {"repobilityId": "273ddfece90f8248", "scanner": "scanner-primary", "fingerprint": "5c520cca1dd28381", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/butler-db-schema/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-015a7b17796f129e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/generate-grafana-dashboards/SKILL.md"}, "properties": {"repobilityId": "68bca1c5691e6270", "scanner": "scanner-primary", "fingerprint": "015a7b17796f129e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/generate-grafana-dashboards/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-72013b7a816957ec", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/generate-grafana-dashboards/references/metrics-catalogue.md"}, "properties": {"repobilityId": "8a9297af0582c012", "scanner": "scanner-primary", "fingerprint": "72013b7a816957ec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/generate-grafana-dashboards/references/metrics-catalogue.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0a7f45c8706d888d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-onboard/SKILL.md"}, "properties": {"repobilityId": "be7e050f1de34e3a", "scanner": "scanner-primary", "fingerprint": "0a7f45c8706d888d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/openspec-onboard/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5969c9daf9acb418", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/openspec-new-change/SKILL.md"}, "properties": {"repobilityId": "79e1b7aafe2a9454", "scanner": "scanner-primary", "fingerprint": "5969c9daf9acb418", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/openspec-new-change/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b583592c8c4ff555", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/spec-and-spine/SKILL.md"}, "properties": {"repobilityId": "a6c25fb13cd05e3d", "scanner": "scanner-primary", "fingerprint": "b583592c8c4ff555", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/spec-and-spine/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1e3165ef0855ee88", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/openspec-apply-change/SKILL.md"}, "properties": {"repobilityId": "7b5c3314768d2a9a", "scanner": "scanner-primary", "fingerprint": "1e3165ef0855ee88", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/openspec-apply-change/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-51799bb0bf7a6b08", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/openspec-archive-change/SKILL.md"}, "properties": {"repobilityId": "80567c4db3eb1c0f", "scanner": "scanner-primary", "fingerprint": "51799bb0bf7a6b08", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/openspec-archive-change/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-468e295a9451bd3e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/openspec-sync-specs/SKILL.md"}, "properties": {"repobilityId": "6472bb3ba2ad95db", "scanner": "scanner-primary", "fingerprint": "468e295a9451bd3e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/openspec-sync-specs/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4de34e15dd52cbbf", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/openspec-ff-change/SKILL.md"}, "properties": {"repobilityId": "46a3c576ccfde9fb", "scanner": "scanner-primary", "fingerprint": "4de34e15dd52cbbf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/openspec-ff-change/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2190d552d51b3683", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/openspec-onboard/SKILL.md"}, "properties": {"repobilityId": "ffa378f8331503c1", "scanner": "scanner-primary", "fingerprint": "2190d552d51b3683", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/openspec-onboard/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-23ac0fe3b1916d02", "level": "none", "message": {"text": "Commented-code block (10 lines) in frontend/tests/e2e/secrets-passport.spec.ts:38"}, "properties": {"repobilityId": "0d0c5cba0f7f786d", "scanner": "scanner-primary", "fingerprint": "23ac0fe3b1916d02", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe6f2a119420c22b", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/tests/e2e/oauth-roundtrip.spec.ts:43"}, "properties": {"repobilityId": "46338cec245936bd", "scanner": "scanner-primary", "fingerprint": "fe6f2a119420c22b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1e6956e0b2d78e8", "level": "none", "message": {"text": "Commented-code block (40 lines) in frontend/tests/e2e/secrets-passport-parity.spec.ts:10"}, "properties": {"repobilityId": "58e5b8a54029b594", "scanner": "scanner-primary", "fingerprint": "b1e6956e0b2d78e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e83f3914c974f129", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/tests/e2e/ingestion-visual-parity.spec.ts:242"}, "properties": {"repobilityId": "08ee3f49ffc924b7", "scanner": "scanner-primary", "fingerprint": "e83f3914c974f129", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-14f489e8482ac32d", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/tests/e2e/entity-redesign.spec.ts:206"}, "properties": {"repobilityId": "854d2766605db930", "scanner": "scanner-primary", "fingerprint": "14f489e8482ac32d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99e568602d48d657", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/router.tsx:7"}, "properties": {"repobilityId": "13fb439a10e124b1", "scanner": "scanner-primary", "fingerprint": "99e568602d48d657", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a2e6849cc77a67b", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/router-config.tsx:146"}, "properties": {"repobilityId": "93dd9b2745f649f6", "scanner": "scanner-primary", "fingerprint": "1a2e6849cc77a67b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c11a799b9ad33eb", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/api/client.ts:2130"}, "properties": {"repobilityId": "defcfcd381edf4f2", "scanner": "scanner-primary", "fingerprint": "5c11a799b9ad33eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4adcd81b464073aa", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in frontend/src/api/types.ts:6205"}, "properties": {"repobilityId": "f09c131a83cb6e5e", "scanner": "scanner-primary", "fingerprint": "4adcd81b464073aa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6e95cf7acdf0db8a", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/api/types.ts:3000"}, "properties": {"repobilityId": "8a32046ea121dc1a", "scanner": "scanner-primary", "fingerprint": "6e95cf7acdf0db8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c59145fcf3ec8a29", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/test/setup.ts:43"}, "properties": {"repobilityId": "a4fcc4484919d05c", "scanner": "scanner-primary", "fingerprint": "c59145fcf3ec8a29", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a6295a391ab8988", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/layout/Sidebar.test.tsx:323"}, "properties": {"repobilityId": "ac2bc5e3c48d32bb", "scanner": "scanner-primary", "fingerprint": "0a6295a391ab8988", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6adc95ee939462d5", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/layout/PageHeader.test.tsx:153"}, "properties": {"repobilityId": "968986dbee6aded4", "scanner": "scanner-primary", "fingerprint": "6adc95ee939462d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b607d0cb2e987f6", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/layout/DetailPage.tsx:12"}, "properties": {"repobilityId": "c0bac5239b011be9", "scanner": "scanner-primary", "fingerprint": "6b607d0cb2e987f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0dabb0440de976dd", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/layout/EntityFinder.tsx:102"}, "properties": {"repobilityId": "53af23e6ee91b85d", "scanner": "scanner-primary", "fingerprint": "0dabb0440de976dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d3a196411cfcf128", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/StreakCallouts.tsx:7"}, "properties": {"repobilityId": "781350c4ec2038be", "scanner": "scanner-primary", "fingerprint": "d3a196411cfcf128", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-02f75424b605dc18", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/chronicles/GanttSwimlaneInner.tsx:14"}, "properties": {"repobilityId": "b2c86c8c7fee34a1", "scanner": "scanner-primary", "fingerprint": "02f75424b605dc18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-69024ee8a7d2b6f2", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/AggregatePieChart.tsx:152"}, "properties": {"repobilityId": "50da697c5fcad261", "scanner": "scanner-primary", "fingerprint": "69024ee8a7d2b6f2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2e424bbf12af478", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/AggregateStackedBar.tsx:4"}, "properties": {"repobilityId": "d4c3c4a03a617419", "scanner": "scanner-primary", "fingerprint": "b2e424bbf12af478", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c52329e4530918c2", "level": "none", "message": {"text": "Commented-code block (17 lines) in frontend/src/components/chronicles/EpisodeDrawer.test.tsx:10"}, "properties": {"repobilityId": "217c30e08b314747", "scanner": "scanner-primary", "fingerprint": "c52329e4530918c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a43c0de727beb7e", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/chronicles/SourceStateBadgeStrip.tsx:7"}, "properties": {"repobilityId": "bf5a006f615ef77d", "scanner": "scanner-primary", "fingerprint": "1a43c0de727beb7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-79cfc1e507dc8f57", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/AggregateStackedBar.test.tsx:4"}, "properties": {"repobilityId": "581fd63ee0b1ca8e", "scanner": "scanner-primary", "fingerprint": "79cfc1e507dc8f57", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c035183bce3b60c1", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/chronicles/widget-states.test.tsx:4"}, "properties": {"repobilityId": "b179acc0066e2519", "scanner": "scanner-primary", "fingerprint": "c035183bce3b60c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-566815a80e53ec43", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/chronicles/hex-heatmap.ts:8"}, "properties": {"repobilityId": "691fd18017b7efca", "scanner": "scanner-primary", "fingerprint": "566815a80e53ec43", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81877da8ac3acdf5", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/lane-taxonomy.ts:164"}, "properties": {"repobilityId": "d3347ada649b375a", "scanner": "scanner-primary", "fingerprint": "81877da8ac3acdf5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e7c31ced0a549d3", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/location-utils.test.ts:4"}, "properties": {"repobilityId": "0c2e2e5384a69de1", "scanner": "scanner-primary", "fingerprint": "6e7c31ced0a549d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-296eb21507a84ce4", "level": "none", "message": {"text": "Commented-code block (10 lines) in frontend/src/components/chronicles/MapWidgetInner.tsx:7"}, "properties": {"repobilityId": "0ec0d9cd784cc19d", "scanner": "scanner-primary", "fingerprint": "296eb21507a84ce4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c1f0bd1d34b66dc", "level": "none", "message": {"text": "Commented-code block (10 lines) in frontend/src/components/chronicles/SourceStateBadgeStrip.test.tsx:5"}, "properties": {"repobilityId": "504be07da26ca95c", "scanner": "scanner-primary", "fingerprint": "7c1f0bd1d34b66dc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00f7eb99dcbab67a", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/chronicles/MapWidget.test.tsx:4"}, "properties": {"repobilityId": "fa024cf83e71e5f2", "scanner": "scanner-primary", "fingerprint": "00f7eb99dcbab67a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac8db8a264a59d79", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/timezone-rendering.test.tsx:5"}, "properties": {"repobilityId": "a8ac787deb70c7bc", "scanner": "scanner-primary", "fingerprint": "ac8db8a264a59d79", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1dd2dcca0fc0cba7", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/chronicles/EpisodeDrawer.tsx:4"}, "properties": {"repobilityId": "893f86d45d2e93ed", "scanner": "scanner-primary", "fingerprint": "1dd2dcca0fc0cba7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f0d54ec78ccf313", "level": "none", "message": {"text": "Commented-code block (10 lines) in frontend/src/components/chronicles/GanttSwimlane.test.tsx:8"}, "properties": {"repobilityId": "f80261a1a9bdeb00", "scanner": "scanner-primary", "fingerprint": "5f0d54ec78ccf313", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92ea8f8372ddd8c4", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/health/MealTracker.tsx:4"}, "properties": {"repobilityId": "b293c90145009c2b", "scanner": "scanner-primary", "fingerprint": "92ea8f8372ddd8c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de6d5e7073a3e406", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/health/SymptomTracker.tsx:4"}, "properties": {"repobilityId": "2337ea447963ec67", "scanner": "scanner-primary", "fingerprint": "de6d5e7073a3e406", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b629bac1673be9d", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/health/ConditionTracker.tsx:4"}, "properties": {"repobilityId": "3c0d8c7c7357c517", "scanner": "scanner-primary", "fingerprint": "0b629bac1673be9d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aefa8ba06ab82f8c", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/health/MeasurementTracker.tsx:4"}, "properties": {"repobilityId": "ff649b53884dd499", "scanner": "scanner-primary", "fingerprint": "aefa8ba06ab82f8c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e870a84e1ae5e91e", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/health/ResearchForm.tsx:4"}, "properties": {"repobilityId": "5b1adf02a70b6ec9", "scanner": "scanner-primary", "fingerprint": "e870a84e1ae5e91e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1df44c037c22bd27", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/health/ResearchTracker.tsx:4"}, "properties": {"repobilityId": "67f71c2da4651d26", "scanner": "scanner-primary", "fingerprint": "1df44c037c22bd27", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ef09adb8b66e9bd", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/health/MeasurementForm.tsx:9"}, "properties": {"repobilityId": "b86819c09a357b3b", "scanner": "scanner-primary", "fingerprint": "2ef09adb8b66e9bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-598f5ff51b05eebd", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/health/ConditionForm.tsx:4"}, "properties": {"repobilityId": "e929fcbd707740f7", "scanner": "scanner-primary", "fingerprint": "598f5ff51b05eebd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f34dd56152ce39e1", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/ui/KbMono.test.tsx:5"}, "properties": {"repobilityId": "8d81776c68d18b0d", "scanner": "scanner-primary", "fingerprint": "f34dd56152ce39e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7acc6c0b36ea6ceb", "level": "none", "message": {"text": "Commented-code block (10 lines) in frontend/src/components/ui/time.test.tsx:5"}, "properties": {"repobilityId": "5cbbea7be52d9048", "scanner": "scanner-primary", "fingerprint": "7acc6c0b36ea6ceb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c7d7d577307e5ba", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/ui/Display.test.tsx:5"}, "properties": {"repobilityId": "c9aaeeaf49e3b847", "scanner": "scanner-primary", "fingerprint": "7c7d7d577307e5ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5d0b6b19134829e", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/ui/PredicateGroup.tsx:11"}, "properties": {"repobilityId": "fde1a587516f167b", "scanner": "scanner-primary", "fingerprint": "b5d0b6b19134829e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd69468d25b69cc7", "level": "none", "message": {"text": "Commented-code block (12 lines) in frontend/src/components/ui/time.tsx:8"}, "properties": {"repobilityId": "c5e2bac141467d11", "scanner": "scanner-primary", "fingerprint": "fd69468d25b69cc7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b933a309a0443e15", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/ui/Title.test.tsx:5"}, "properties": {"repobilityId": "8347d7527d5b85f4", "scanner": "scanner-primary", "fingerprint": "b933a309a0443e15", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd09b5c7fa5ab503", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/ui/Row.tsx:9"}, "properties": {"repobilityId": "d4380f3012ee28c6", "scanner": "scanner-primary", "fingerprint": "fd09b5c7fa5ab503", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87759003e34ee883", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/ui/ButlerMark.tsx:14"}, "properties": {"repobilityId": "49a75807197100cb", "scanner": "scanner-primary", "fingerprint": "87759003e34ee883", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6522b21759fe1cda", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/ui/StateDot.tsx:11"}, "properties": {"repobilityId": "77b4d2bee2c9e94b", "scanner": "scanner-primary", "fingerprint": "6522b21759fe1cda", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8f2704e818767394", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/ui/EntityMark.tsx:60"}, "properties": {"repobilityId": "5958ec9331522ed3", "scanner": "scanner-primary", "fingerprint": "8f2704e818767394", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c00d47524335e682", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/ui/breadcrumbs-control.tsx:11"}, "properties": {"repobilityId": "3b8dc989308d9148", "scanner": "scanner-primary", "fingerprint": "c00d47524335e682", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a62b8e2727964269", "level": "none", "message": {"text": "Commented-code block (10 lines) in frontend/src/components/ui/Pill.test.tsx:5"}, "properties": {"repobilityId": "560e2613be14457f", "scanner": "scanner-primary", "fingerprint": "a62b8e2727964269", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e1fdd96ecfb6e03", "level": "none", "message": {"text": "Commented-code block (14 lines) in frontend/src/components/ui/NeighbourRow.test.tsx:5"}, "properties": {"repobilityId": "3d172eca02807400", "scanner": "scanner-primary", "fingerprint": "8e1fdd96ecfb6e03", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-32440ae1a80a2c5b", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/ui/page.tsx:491"}, "properties": {"repobilityId": "3908551968e825b7", "scanner": "scanner-primary", "fingerprint": "32440ae1a80a2c5b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30fcb0dd5f959f19", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/ui/Provenance.tsx:12"}, "properties": {"repobilityId": "dbeeaa889f5c1da6", "scanner": "scanner-primary", "fingerprint": "30fcb0dd5f959f19", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-67bcca54635ded67", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/ui/StateDot.test.tsx:5"}, "properties": {"repobilityId": "cdc27479236948ed", "scanner": "scanner-primary", "fingerprint": "67bcca54635ded67", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f687b659f92d212a", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/ui/Pill.tsx:8"}, "properties": {"repobilityId": "4e2b486194bbad14", "scanner": "scanner-primary", "fingerprint": "f687b659f92d212a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2b0bed17c03b983", "level": "none", "message": {"text": "Commented-code block (11 lines) in frontend/src/components/ui/PredicateGroup.test.tsx:5"}, "properties": {"repobilityId": "f2352b463a7431d6", "scanner": "scanner-primary", "fingerprint": "b2b0bed17c03b983", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9d0dddbf9c5c149", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/ui/ButlerMark.test.tsx:5"}, "properties": {"repobilityId": "675a420f40f6c57d", "scanner": "scanner-primary", "fingerprint": "c9d0dddbf9c5c149", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0f86ed1c2cb958f2", "level": "none", "message": {"text": "Commented-code block (12 lines) in frontend/src/components/ui/EntityMark.test.tsx:5"}, "properties": {"repobilityId": "b3a1c8d04b5263e0", "scanner": "scanner-primary", "fingerprint": "0f86ed1c2cb958f2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc59ba182bf7a5d3", "level": "none", "message": {"text": "Commented-code block (9 lines) in frontend/src/components/ui/Voice.test.tsx:5"}, "properties": {"repobilityId": "e8d9395039207685", "scanner": "scanner-primary", "fingerprint": "bc59ba182bf7a5d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d6db0b6043b6ea8b", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/ui/range-toggle.test.tsx:5"}, "properties": {"repobilityId": "fb992cf333bd7d92", "scanner": "scanner-primary", "fingerprint": "d6db0b6043b6ea8b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44c964464195d262", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/ui/TierBadge.test.tsx:5"}, "properties": {"repobilityId": "cf86c205f83f1348", "scanner": "scanner-primary", "fingerprint": "44c964464195d262", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0214579338b0da11", "level": "none", "message": {"text": "Commented-code block (10 lines) in frontend/src/components/ui/Mono.test.tsx:5"}, "properties": {"repobilityId": "8111762ec384d7aa", "scanner": "scanner-primary", "fingerprint": "0214579338b0da11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76474365b298eed1", "level": "none", "message": {"text": "Commented-code block (13 lines) in frontend/src/components/dashboard/SessionStripeChart.test.tsx:5"}, "properties": {"repobilityId": "57edc7d6d2b8fcb1", "scanner": "scanner-primary", "fingerprint": "76474365b298eed1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-be29bc0002dd9036", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/dashboard/RecentMoments.test.tsx:5"}, "properties": {"repobilityId": "434177bcf6f81045", "scanner": "scanner-primary", "fingerprint": "be29bc0002dd9036", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f78e37a507805b6e", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/dashboard/session-stripe-pagination.test.ts:4"}, "properties": {"repobilityId": "f2ff9ac11aa88982", "scanner": "scanner-primary", "fingerprint": "f78e37a507805b6e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6039b49751e10e02", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/dashboard/SessionStripeChart.tsx:4"}, "properties": {"repobilityId": "99dc3b20c670473e", "scanner": "scanner-primary", "fingerprint": "6039b49751e10e02", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9f083843da7fa202", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/workspace/map-pan-store.ts:9"}, "properties": {"repobilityId": "b986cfc419015119", "scanner": "scanner-primary", "fingerprint": "9f083843da7fa202", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed89aa859300f035", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/workspace/TimeWindowPicker.test.tsx:5"}, "properties": {"repobilityId": "5f15674a401085e0", "scanner": "scanner-primary", "fingerprint": "ed89aa859300f035", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a1f76ace2611fc42", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/ingestion/TimelineTab.test.tsx:196"}, "properties": {"repobilityId": "e198e7006ac0c22d", "scanner": "scanner-primary", "fingerprint": "a1f76ace2611fc42", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-446e7028c9318886", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/ingestion/TimelineTab.tsx:1308"}, "properties": {"repobilityId": "5a607fa2e7edf128", "scanner": "scanner-primary", "fingerprint": "446e7028c9318886", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94011923e3eadc60", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/ingestion/filters/FiltersPipeline.test.tsx:1062"}, "properties": {"repobilityId": "bbd53b49a2fc5f0c", "scanner": "scanner-primary", "fingerprint": "94011923e3eadc60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a30b785461504ce", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/ingestion/filters/FiltersPipeline.tsx:96"}, "properties": {"repobilityId": "00c6e486decf9042", "scanner": "scanner-primary", "fingerprint": "2a30b785461504ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-779a52a36e9ed68e", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/relationship/EntitiesIndexPage.tsx:1203"}, "properties": {"repobilityId": "2f774a1123edb2ff", "scanner": "scanner-primary", "fingerprint": "779a52a36e9ed68e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81005b7a72498d1a", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/relationship/ContactChannelCard.test.tsx:409"}, "properties": {"repobilityId": "4030e0f48cda2cce", "scanner": "scanner-primary", "fingerprint": "81005b7a72498d1a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75f22fe4d452b867", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/relationship/ContactChannelCard.tsx:127"}, "properties": {"repobilityId": "c9252d09071f9808", "scanner": "scanner-primary", "fingerprint": "75f22fe4d452b867", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ffcddcf4e0ef95f", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/relationship/ContactChannelCard.preferred-channel.test.tsx:31"}, "properties": {"repobilityId": "b63259f3e28e1cce", "scanner": "scanner-primary", "fingerprint": "5ffcddcf4e0ef95f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3acfac22f6025d0d", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/memory/RulesRegister.tsx:4"}, "properties": {"repobilityId": "8739e788fd21c71f", "scanner": "scanner-primary", "fingerprint": "3acfac22f6025d0d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f305da77f49f8a1c", "level": "none", "message": {"text": "Commented-code block (13 lines) in frontend/src/components/memory/DetailSkeleton.tsx:7"}, "properties": {"repobilityId": "4327127d9a9d2b4d", "scanner": "scanner-primary", "fingerprint": "f305da77f49f8a1c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-67366dae837360aa", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/memory/SearchResults.tsx:4"}, "properties": {"repobilityId": "a38cb1c9048bc761", "scanner": "scanner-primary", "fingerprint": "67366dae837360aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1719f5dc4899933e", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/memory/HousekeepingBand.tsx:11"}, "properties": {"repobilityId": "4074ac7e9c939e5c", "scanner": "scanner-primary", "fingerprint": "1719f5dc4899933e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-428f8162a04b796b", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/memory/MemorySearch.tsx:11"}, "properties": {"repobilityId": "969567d8f501ea4c", "scanner": "scanner-primary", "fingerprint": "428f8162a04b796b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c8b8a241a83eb590", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/memory/RegisterCrossfade.tsx:9"}, "properties": {"repobilityId": "dfda4affcc1b1bf3", "scanner": "scanner-primary", "fingerprint": "c8b8a241a83eb590", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eda5d78af6181d7e", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/memory/RegisterCrossfade.test.tsx:8"}, "properties": {"repobilityId": "d9a1ae52eac908e3", "scanner": "scanner-primary", "fingerprint": "eda5d78af6181d7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f82aa090fc9c8543", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/memory/EpisodesRegister.tsx:13"}, "properties": {"repobilityId": "bb3eb6d52f9f1672", "scanner": "scanner-primary", "fingerprint": "f82aa090fc9c8543", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29f78ea56a9e73ad", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/memory/FactsRegister.tsx:12"}, "properties": {"repobilityId": "47c97e72ee1b9988", "scanner": "scanner-primary", "fingerprint": "29f78ea56a9e73ad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d57852a4f25cf6f", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/memory/MemoryOverture.tsx:4"}, "properties": {"repobilityId": "0d1efd4b33aed5e1", "scanner": "scanner-primary", "fingerprint": "1d57852a4f25cf6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb2035dadf0bfaf1", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/memory/MemoryBrowser.tsx:4"}, "properties": {"repobilityId": "2ac023ef54fdcb77", "scanner": "scanner-primary", "fingerprint": "bb2035dadf0bfaf1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54318d510f74df62", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/memory/AttentionRail.tsx:8"}, "properties": {"repobilityId": "6580993ea2f0b29d", "scanner": "scanner-primary", "fingerprint": "54318d510f74df62", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a042c9ca6edd02f6", "level": "none", "message": {"text": "Commented-code block (9 lines) in frontend/src/components/system/ButlerHeartbeatTile.test.tsx:5"}, "properties": {"repobilityId": "d6c4d7bf4c8de7a5", "scanner": "scanner-primary", "fingerprint": "a042c9ca6edd02f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2caf3b5fdc828ebc", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/system/UptimeTile.test.tsx:5"}, "properties": {"repobilityId": "ba1b3a362a835e64", "scanner": "scanner-primary", "fingerprint": "2caf3b5fdc828ebc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c07612868bb19a19", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/system/BackupTile.test.tsx:5"}, "properties": {"repobilityId": "b7c82f823d6f2fbd", "scanner": "scanner-primary", "fingerprint": "c07612868bb19a19", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d86fedb8a154205", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/system/DbSizeTile.test.tsx:5"}, "properties": {"repobilityId": "7ea7b3d6616ab90d", "scanner": "scanner-primary", "fingerprint": "4d86fedb8a154205", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c8ffaa4f6ed5f3ee", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/butler-detail/ButlerRelationshipContactsTab.tsx:6"}, "properties": {"repobilityId": "9e3db4f581cf4618", "scanner": "scanner-primary", "fingerprint": "c8ffaa4f6ed5f3ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3861c26b69ee1d4", "level": "none", "message": {"text": "Commented-code block (10 lines) in frontend/src/components/butler-detail/atoms.test.tsx:6"}, "properties": {"repobilityId": "f581f8da8add1c65", "scanner": "scanner-primary", "fingerprint": "e3861c26b69ee1d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b19293eac9c1c70", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/atoms.tsx:15"}, "properties": {"repobilityId": "93e41f31c3eed4fa", "scanner": "scanner-primary", "fingerprint": "8b19293eac9c1c70", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70c11559398d17d6", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerQaInvestigationsTab.tsx:6"}, "properties": {"repobilityId": "abb0f0ca11dcfe17", "scanner": "scanner-primary", "fingerprint": "70c11559398d17d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-056357af27f8800e", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerFinanceFinancesTab.tsx:19"}, "properties": {"repobilityId": "4cb489cf54bf967b", "scanner": "scanner-primary", "fingerprint": "056357af27f8800e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52c928c19a19f973", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/butler-detail/ButlerLifestyleTasteTab.tsx:6"}, "properties": {"repobilityId": "199a4a83640b6be2", "scanner": "scanner-primary", "fingerprint": "52c928c19a19f973", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88c3a50db4974382", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/butler-detail/ButlerDetailHeader.tsx:12"}, "properties": {"repobilityId": "94793c1e1b9b5cd0", "scanner": "scanner-primary", "fingerprint": "88c3a50db4974382", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a4ae1c3a82cea9f5", "level": "none", "message": {"text": "Commented-code block (9 lines) in frontend/src/components/butler-detail/ButlerActivityTab.tsx:7"}, "properties": {"repobilityId": "2e076def829a8940", "scanner": "scanner-primary", "fingerprint": "a4ae1c3a82cea9f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1fc379f41caa3543", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerOverviewTab.tsx:4"}, "properties": {"repobilityId": "4ec6a0c90a61f616", "scanner": "scanner-primary", "fingerprint": "1fc379f41caa3543", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac877c06ab001d20", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerManagementTab.test.tsx:365"}, "properties": {"repobilityId": "100d4266177dfa6d", "scanner": "scanner-primary", "fingerprint": "ac877c06ab001d20", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d344d8195d614fda", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerSpendTab.tsx:6"}, "properties": {"repobilityId": "e83c2b1209e3fe6a", "scanner": "scanner-primary", "fingerprint": "d344d8195d614fda", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8f7e919e8b89f75", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerChroniclerTimelinesTab.tsx:6"}, "properties": {"repobilityId": "7706d758496643c2", "scanner": "scanner-primary", "fingerprint": "a8f7e919e8b89f75", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8aec57e1b1f416c9", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/butler-detail/ButlerMemoryTab.tsx:6"}, "properties": {"repobilityId": "9a15042808241ddb", "scanner": "scanner-primary", "fingerprint": "8aec57e1b1f416c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9de753de7a5d6a79", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/butler-detail/ButlerMemoryTab.test.tsx:476"}, "properties": {"repobilityId": "7cfc1df517c9c64c", "scanner": "scanner-primary", "fingerprint": "9de753de7a5d6a79", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e326179229a98d85", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerMessengerConversationsTab.tsx:11"}, "properties": {"repobilityId": "4d2f3693e6839707", "scanner": "scanner-primary", "fingerprint": "e326179229a98d85", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c1c4b3a9b864ff1", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/butler-detail/ButlerGeneralCollectionsTab.tsx:6"}, "properties": {"repobilityId": "22c97b4f2fea30d8", "scanner": "scanner-primary", "fingerprint": "1c1c4b3a9b864ff1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29f3df03a9f21850", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerEducationReviewsTab.test.tsx:546"}, "properties": {"repobilityId": "dba1d65ee9487d8f", "scanner": "scanner-primary", "fingerprint": "29f3df03a9f21850", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78cec9ff388d92bf", "level": "none", "message": {"text": "Commented-code block (10 lines) in frontend/src/components/butler-detail/SiblingButlerNav.tsx:10"}, "properties": {"repobilityId": "dd174f4e112c15c2", "scanner": "scanner-primary", "fingerprint": "78cec9ff388d92bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d48a585cb9404839", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerHomeDevicesTab.tsx:6"}, "properties": {"repobilityId": "8d70acfe04f62ad7", "scanner": "scanner-primary", "fingerprint": "d48a585cb9404839", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bed192bf65fff0b1", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/butler-detail/ButlerDetailHeader.test.tsx:17"}, "properties": {"repobilityId": "547c4aa2355c15d3", "scanner": "scanner-primary", "fingerprint": "bed192bf65fff0b1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78a3dedc309b9c40", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/butler-detail/ButlerLogsTab.tsx:14"}, "properties": {"repobilityId": "df4393a610af4f5d", "scanner": "scanner-primary", "fingerprint": "78a3dedc309b9c40", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a16ee8401bd196f6", "level": "none", "message": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/PageSystem.actions.test.tsx:5"}, "properties": {"repobilityId": "932c3e3befc1678b", "scanner": "scanner-primary", "fingerprint": "a16ee8401bd196f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85f1e21486b25c8a", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/Spine.tsx:7"}, "properties": {"repobilityId": "8c0b592fc3a636e7", "scanner": "scanner-primary", "fingerprint": "85f1e21486b25c8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09d75aab16fd5785", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/secrets/passport/secrets-fe5.test.tsx:5"}, "properties": {"repobilityId": "5fa947bc9033e0dc", "scanner": "scanner-primary", "fingerprint": "09d75aab16fd5785", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d837735199e22e9d", "level": "none", "message": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/PageAddPanel.test.tsx:5"}, "properties": {"repobilityId": "b84a8cc41ef55761", "scanner": "scanner-primary", "fingerprint": "d837735199e22e9d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a20d13b7747d7b0", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/WhatBreaks.test.tsx:5"}, "properties": {"repobilityId": "56868bd71e400094", "scanner": "scanner-primary", "fingerprint": "5a20d13b7747d7b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6cde795b875edc20", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/PageSystem.google-app.test.tsx:5"}, "properties": {"repobilityId": "87cf260376233315", "scanner": "scanner-primary", "fingerprint": "6cde795b875edc20", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93801becae2c86e5", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/WhatBreaks.tsx:7"}, "properties": {"repobilityId": "389d730ec8a5b723", "scanner": "scanner-primary", "fingerprint": "93801becae2c86e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8637819effff7eeb", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/PageUser.reauth.test.tsx:5"}, "properties": {"repobilityId": "18142cf78e613c19", "scanner": "scanner-primary", "fingerprint": "8637819effff7eeb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-03253ecb2e2d525a", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/ScopeRow.tsx:8"}, "properties": {"repobilityId": "4552058fcecc577d", "scanner": "scanner-primary", "fingerprint": "03253ecb2e2d525a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aef4b4fc59d12809", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/secrets/passport/ProviderMark.test.tsx:5"}, "properties": {"repobilityId": "08600c0d63ecf88c", "scanner": "scanner-primary", "fingerprint": "aef4b4fc59d12809", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1bc33938237f43e", "level": "none", "message": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/StampGlyph.tsx:10"}, "properties": {"repobilityId": "6c731e204bf23fa6", "scanner": "scanner-primary", "fingerprint": "d1bc33938237f43e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b5ac8436b7c8d86", "level": "none", "message": {"text": "Commented-code block (16 lines) in frontend/src/components/secrets/passport/ScopeRow.test.tsx:5"}, "properties": {"repobilityId": "31f2c12b5f5edbc7", "scanner": "scanner-primary", "fingerprint": "6b5ac8436b7c8d86", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8759a1877aedfbfb", "level": "none", "message": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/PageCli.deviceauth.test.tsx:10"}, "properties": {"repobilityId": "a8de10c733d89653", "scanner": "scanner-primary", "fingerprint": "8759a1877aedfbfb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bfadd14c37cb5835", "level": "none", "message": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/IdentityChip.test.tsx:5"}, "properties": {"repobilityId": "0f8a3b78aa20bec2", "scanner": "scanner-primary", "fingerprint": "bfadd14c37cb5835", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fbc30c0a1ac08767", "level": "none", "message": {"text": "Commented-code block (9 lines) in frontend/src/components/secrets/passport/Sliver.tsx:12"}, "properties": {"repobilityId": "087c0f111d90a2c3", "scanner": "scanner-primary", "fingerprint": "fbc30c0a1ac08767", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf65b81c2bbe2d2c", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/FingerprintRow.tsx:11"}, "properties": {"repobilityId": "bd3eb1ff7bf68af5", "scanner": "scanner-primary", "fingerprint": "cf65b81c2bbe2d2c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a319f3cff5451cc2", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/secrets/passport/KV.test.tsx:5"}, "properties": {"repobilityId": "b91fd13de8af6f45", "scanner": "scanner-primary", "fingerprint": "a319f3cff5451cc2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a5f694fcdbc51f27", "level": "none", "message": {"text": "Commented-code block (10 lines) in frontend/src/components/secrets/passport/bu-kg2nl-per-account-health.test.tsx:5"}, "properties": {"repobilityId": "e5b7a647e837517c", "scanner": "scanner-primary", "fingerprint": "a5f694fcdbc51f27", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1232ce5fbda4a1f5", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/SeverityPip.test.tsx:5"}, "properties": {"repobilityId": "9261e4d53e40bd12", "scanner": "scanner-primary", "fingerprint": "1232ce5fbda4a1f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e71bd47631a2d49", "level": "none", "message": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/bu-kma08-per-account-health-revoke.test.tsx:5"}, "properties": {"repobilityId": "533be3c624c7828a", "scanner": "scanner-primary", "fingerprint": "1e71bd47631a2d49", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bfd26ff77d5f711a", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/Fingerprint.test.tsx:5"}, "properties": {"repobilityId": "6b3fe1934b88953e", "scanner": "scanner-primary", "fingerprint": "bfd26ff77d5f711a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f65ed785eba74700", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/GoogleAppCredentials.tsx:4"}, "properties": {"repobilityId": "92ea69bc76ca9fb5", "scanner": "scanner-primary", "fingerprint": "f65ed785eba74700", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac48171c7658e341", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/FingerprintRow.test.tsx:5"}, "properties": {"repobilityId": "e4e74be2afcf6ed0", "scanner": "scanner-primary", "fingerprint": "ac48171c7658e341", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b6105dfef6e8b30", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/StateLabel.tsx:15"}, "properties": {"repobilityId": "c908dae18d611b40", "scanner": "scanner-primary", "fingerprint": "7b6105dfef6e8b30", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-994991a41b328003", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/bu-3gekd-health-grant.test.tsx:5"}, "properties": {"repobilityId": "27f992074cba948d", "scanner": "scanner-primary", "fingerprint": "994991a41b328003", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b2b988ddb2c9e5e", "level": "none", "message": {"text": "Commented-code block (11 lines) in frontend/src/components/secrets/passport/passport.test.tsx:5"}, "properties": {"repobilityId": "0cb5e8e14b347f00", "scanner": "scanner-primary", "fingerprint": "9b2b988ddb2c9e5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d57d1f3255ff58d2", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/BlockHead.test.tsx:5"}, "properties": {"repobilityId": "9fa5265ae3bbd0d4", "scanner": "scanner-primary", "fingerprint": "d57d1f3255ff58d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de98285ef74fdfb5", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/bu-hh875-health-status-card.test.tsx:5"}, "properties": {"repobilityId": "802232c65fa6bc60", "scanner": "scanner-primary", "fingerprint": "de98285ef74fdfb5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99a4ae81b88e6629", "level": "none", "message": {"text": "Commented-code block (9 lines) in frontend/src/components/secrets/passport/ProbeResult.test.tsx:5"}, "properties": {"repobilityId": "be514cdb3c9d519f", "scanner": "scanner-primary", "fingerprint": "99a4ae81b88e6629", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e62d4e4143bbf2ec", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/secrets/passport/Sliver.test.tsx:5"}, "properties": {"repobilityId": "8304f1ab058e9823", "scanner": "scanner-primary", "fingerprint": "e62d4e4143bbf2ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-990d80c8c4457a5e", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/StampGlyph.test.tsx:5"}, "properties": {"repobilityId": "6740933690105148", "scanner": "scanner-primary", "fingerprint": "990d80c8c4457a5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c3433a6f8fada995", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/PageCli.actions.test.tsx:5"}, "properties": {"repobilityId": "e79dfeef551ed5d8", "scanner": "scanner-primary", "fingerprint": "c3433a6f8fada995", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2b396ea186b69057", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/ProviderConfigDrawer.tsx:8"}, "properties": {"repobilityId": "9c74ad8d7801920d", "scanner": "scanner-primary", "fingerprint": "2b396ea186b69057", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-53f275ffae51fad9", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/secrets/passport/PageUser.actions.test.tsx:5"}, "properties": {"repobilityId": "44b608e14400953c", "scanner": "scanner-primary", "fingerprint": "53f275ffae51fad9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d4141a5c08f3ce3", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/secrets/passport/StateLabel.test.tsx:5"}, "properties": {"repobilityId": "16a37d3d706f90eb", "scanner": "scanner-primary", "fingerprint": "0d4141a5c08f3ce3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1bf8670dc0ae5f46", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/secrets/passport/pages.tsx:1508"}, "properties": {"repobilityId": "c1058b16f489f390", "scanner": "scanner-primary", "fingerprint": "1bf8670dc0ae5f46", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c23044435756208c", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/switchboard/RegistryTable.test.tsx:169"}, "properties": {"repobilityId": "d064635c53198f36", "scanner": "scanner-primary", "fingerprint": "c23044435756208c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-02a91ae489565f39", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/butlers/BoardHeader.tsx:9"}, "properties": {"repobilityId": "5abab1b2a634982a", "scanner": "scanner-primary", "fingerprint": "02a91ae489565f39", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-178453ccf5a577d8", "level": "none", "message": {"text": "Commented-code block (11 lines) in frontend/src/components/butlers/StatusBoardCell.test.tsx:5"}, "properties": {"repobilityId": "5575c20f0ef38449", "scanner": "scanner-primary", "fingerprint": "178453ccf5a577d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e615a04aacfb668", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/butlers/DayBars.test.tsx:5"}, "properties": {"repobilityId": "e56ba9c920e593cb", "scanner": "scanner-primary", "fingerprint": "0e615a04aacfb668", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a48ada5819acc7a", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/butlers/BoardFooter.tsx:7"}, "properties": {"repobilityId": "cdf3c555864a3df6", "scanner": "scanner-primary", "fingerprint": "1a48ada5819acc7a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd333808583bef6f", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/butlers/DayBars.tsx:9"}, "properties": {"repobilityId": "7477e90f76ee2f59", "scanner": "scanner-primary", "fingerprint": "cd333808583bef6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54b25e7d1998824f", "level": "none", "message": {"text": "Commented-code block (12 lines) in frontend/src/components/butlers/BoardFooter.test.tsx:5"}, "properties": {"repobilityId": "7f2a6d3871b3ca9a", "scanner": "scanner-primary", "fingerprint": "54b25e7d1998824f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-172ac6be294905af", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/butlers/StatusBoardCell.tsx:5"}, "properties": {"repobilityId": "2b8339dfa58886cd", "scanner": "scanner-primary", "fingerprint": "172ac6be294905af", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f6213b82c9f311c", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/butlers/ActivityStripe.test.tsx:5"}, "properties": {"repobilityId": "d85a1822e3f07f75", "scanner": "scanner-primary", "fingerprint": "1f6213b82c9f311c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d10c7ff2fcfcb97", "level": "none", "message": {"text": "Commented-code block (10 lines) in frontend/src/components/butlers/BoardHeader.test.tsx:5"}, "properties": {"repobilityId": "72f1efb5d2a632a2", "scanner": "scanner-primary", "fingerprint": "1d10c7ff2fcfcb97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b9b30125de8e5a5f", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/lib/memory-derived.ts:253"}, "properties": {"repobilityId": "bc24d328770558d3", "scanner": "scanner-primary", "fingerprint": "b9b30125de8e5a5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b885b546d19b312e", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/lib/entity-glosses.ts:4"}, "properties": {"repobilityId": "e65f3fd09cef1729", "scanner": "scanner-primary", "fingerprint": "b885b546d19b312e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a10811942d84aef6", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/lib/entity-finder.ts:14"}, "properties": {"repobilityId": "86df9743b3318d45", "scanner": "scanner-primary", "fingerprint": "a10811942d84aef6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a51b1e386487c896", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/lib/entity-model.ts:4"}, "properties": {"repobilityId": "dd61db055bf4c2b5", "scanner": "scanner-primary", "fingerprint": "a51b1e386487c896", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1ef4804e431b994", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:20"}, "properties": {"repobilityId": "a539a64261f41078", "scanner": "scanner-primary", "fingerprint": "b1ef4804e431b994", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a6b5aff0101d9e6e", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/pages/ConnectorDetailPage.tsx:150"}, "properties": {"repobilityId": "b8432ad23d963815", "scanner": "scanner-primary", "fingerprint": "a6b5aff0101d9e6e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b5ed7c76e979f63", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/pages/EntityDetailPage.tsx:777"}, "properties": {"repobilityId": "4caedcf1bbdf7fd9", "scanner": "scanner-primary", "fingerprint": "7b5ed7c76e979f63", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35e734abd14bd1df", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/pages/EntityDetailPage.test.tsx:22"}, "properties": {"repobilityId": "5572ab37c43729ed", "scanner": "scanner-primary", "fingerprint": "35e734abd14bd1df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8893d678508b42a", "level": "none", "message": {"text": "Commented-code block (10 lines) in frontend/src/pages/EpisodeDetailPage.tsx:4"}, "properties": {"repobilityId": "59c3d0722540023a", "scanner": "scanner-primary", "fingerprint": "b8893d678508b42a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8735c0c59ccfb3d", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/pages/ChroniclesPage.tsx:4"}, "properties": {"repobilityId": "e98daa300b1cbf13", "scanner": "scanner-primary", "fingerprint": "d8735c0c59ccfb3d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28b2db84c9565b4d", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/pages/ButlerDetailPage.test.tsx:108"}, "properties": {"repobilityId": "f0d6018170fbfb7c", "scanner": "scanner-primary", "fingerprint": "28b2db84c9565b4d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c25e13f943d675a", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/pages/SettingsSpendPage.tsx:4"}, "properties": {"repobilityId": "724746a1272a1951", "scanner": "scanner-primary", "fingerprint": "7c25e13f943d675a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-598031cb2f5f830d", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/pages/ButlersPage.tsx:4"}, "properties": {"repobilityId": "c22116e6d4f36bde", "scanner": "scanner-primary", "fingerprint": "598031cb2f5f830d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d787f21a0267add5", "level": "none", "message": {"text": "Commented-code block (12 lines) in frontend/src/pages/HealthPages.view-only.test.tsx:10"}, "properties": {"repobilityId": "89da234f2652820d", "scanner": "scanner-primary", "fingerprint": "d787f21a0267add5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75e778c8fc13ea8e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/pages/SettingsPermissionsPage.tsx:126"}, "properties": {"repobilityId": "5b2b21cdc233a78a", "scanner": "scanner-primary", "fingerprint": "75e778c8fc13ea8e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1b8c992759495bd3", "level": "none", "message": {"text": "Commented-code block (10 lines) in frontend/src/pages/RuleDetailPage.tsx:4"}, "properties": {"repobilityId": "7fda421b0dbdb713", "scanner": "scanner-primary", "fingerprint": "1b8c992759495bd3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e402e3d6546a6b45", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/pages/AuditLogPage.test.tsx:286"}, "properties": {"repobilityId": "ab8f12dc5576508f", "scanner": "scanner-primary", "fingerprint": "e402e3d6546a6b45", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-aea2d2c24415d683", "level": "none", "message": {"text": "Commented-code block (12 lines) in frontend/src/pages/FactDetailPage.tsx:4"}, "properties": {"repobilityId": "c30ef9fbfa5551e0", "scanner": "scanner-primary", "fingerprint": "aea2d2c24415d683", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a14db2659a78ef2b", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/pages/DashboardPage.test.tsx:662"}, "properties": {"repobilityId": "ebff640f8401a62a", "scanner": "scanner-primary", "fingerprint": "a14db2659a78ef2b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25b05e36a01655f7", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/pages/ButlerDetailPage.tsx:242"}, "properties": {"repobilityId": "b4d998a69444fded", "scanner": "scanner-primary", "fingerprint": "25b05e36a01655f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c9a379cd6bec9d1", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/pages/SecretsPage.test.tsx:5"}, "properties": {"repobilityId": "547ab4b625e63675", "scanner": "scanner-primary", "fingerprint": "5c9a379cd6bec9d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-691a16de36a704d9", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/pages/ButlerDetailPage.stories.tsx:52"}, "properties": {"repobilityId": "7855464e7df4bee6", "scanner": "scanner-primary", "fingerprint": "691a16de36a704d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e7fe468fd8acb41", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/pages/CostsPage.tsx:7"}, "properties": {"repobilityId": "6c5a3c80649e0e47", "scanner": "scanner-primary", "fingerprint": "7e7fe468fd8acb41", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6fa92269ed002c57", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/test-utils/entity-detail-page.ts:74"}, "properties": {"repobilityId": "39fb40731bd697ce", "scanner": "scanner-primary", "fingerprint": "6fa92269ed002c57", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78bdee971724570d", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/hooks/use-education.ts:142"}, "properties": {"repobilityId": "afba29ebc144f46e", "scanner": "scanner-primary", "fingerprint": "78bdee971724570d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0377e403c6ffbe41", "level": "none", "message": {"text": "Commented-code block (12 lines) in frontend/src/hooks/use-qa-badge.test.ts:4"}, "properties": {"repobilityId": "ae91fa948d8125b6", "scanner": "scanner-primary", "fingerprint": "0377e403c6ffbe41", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ca97c13dac381bd", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/hooks/use-butler-status-board.test.ts:6"}, "properties": {"repobilityId": "32226f6a65c863d8", "scanner": "scanner-primary", "fingerprint": "7ca97c13dac381bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4981eb81c738d1e2", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/hooks/use-secrets-inventory.test.ts:4"}, "properties": {"repobilityId": "a920283144ebb4c8", "scanner": "scanner-primary", "fingerprint": "4981eb81c738d1e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc36586fae3de8de", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/hooks/use-butler-status-board.ts:5"}, "properties": {"repobilityId": "09cf3f8d83fa0644", "scanner": "scanner-primary", "fingerprint": "fc36586fae3de8de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-559faeba6682a625", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/hooks/use-secrets-inventory.ts:342"}, "properties": {"repobilityId": "0027744fc4136c80", "scanner": "scanner-primary", "fingerprint": "559faeba6682a625", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-703ed464400854cc", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in frontend/src/hooks/use-secrets-mutations.ts:260"}, "properties": {"repobilityId": "92eaa46f204923a1", "scanner": "scanner-primary", "fingerprint": "703ed464400854cc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0f4221144f02c400", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/hooks/use-secrets-mutations.ts:268"}, "properties": {"repobilityId": "26e1d862abf42195", "scanner": "scanner-primary", "fingerprint": "0f4221144f02c400", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bcd9e065d216e253", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/hooks/use-butlers-polling.test.ts:77"}, "properties": {"repobilityId": "82246f1b8d675345", "scanner": "scanner-primary", "fingerprint": "bcd9e065d216e253", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d3cded193cf7c18", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/use-memory.ts:451"}, "properties": {"repobilityId": "05a08878814e439e", "scanner": "scanner-primary", "fingerprint": "7d3cded193cf7c18", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6b148b00053a6f66", "level": "note", "message": {"text": "Legacy-named symbol `DateRange_old` in roster/health/tests/test_tools.py:1220"}, "properties": {"repobilityId": "ad9bbede431565c9", "scanner": "scanner-primary", "fingerprint": "6b148b00053a6f66", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f2b5bd3972ae7301", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/health/tests/test_tools.py:15"}, "properties": {"repobilityId": "1ee0d7c90a26a842", "scanner": "scanner-primary", "fingerprint": "f2b5bd3972ae7301", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52a27b3de5ff43bd", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/health/api/router.py:116"}, "properties": {"repobilityId": "c28ada22e2846ef2", "scanner": "scanner-primary", "fingerprint": "52a27b3de5ff43bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0a53d4c6da7fb46", "level": "none", "message": {"text": "Commented-code block (7 lines) in roster/health/tools/conditions.py:92"}, "properties": {"repobilityId": "a3d7f3a8ba146f05", "scanner": "scanner-primary", "fingerprint": "a0a53d4c6da7fb46", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db0520e3a7206b81", "level": "none", "message": {"text": "Commented-code block (7 lines) in roster/health/tools/research.py:84"}, "properties": {"repobilityId": "06ac0e8094b4defa", "scanner": "scanner-primary", "fingerprint": "db0520e3a7206b81", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5af30e6037c10a6", "level": "none", "message": {"text": "Commented-code block (9 lines) in roster/health/tools/medications.py:90"}, "properties": {"repobilityId": "7af861636ea470cd", "scanner": "scanner-primary", "fingerprint": "b5af30e6037c10a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22d1c660060160bf", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/health/jobs/health_jobs.py:317"}, "properties": {"repobilityId": "302bdb941a57ade0", "scanner": "scanner-primary", "fingerprint": "22d1c660060160bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2eb1610dc649b116", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/messenger/tests/test_delivery_tracking_tools.py:19"}, "properties": {"repobilityId": "6c077d1890461fa9", "scanner": "scanner-primary", "fingerprint": "2eb1610dc649b116", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a106daf52f5540c", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/messenger/tests/test_operations_tools.py:35"}, "properties": {"repobilityId": "c669a34c9eb57aeb", "scanner": "scanner-primary", "fingerprint": "8a106daf52f5540c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa9ea9a47e79d829", "level": "note", "message": {"text": "Legacy-named symbol `delivery_id_old` in roster/messenger/tests/test_dead_letter_tools.py:296"}, "properties": {"repobilityId": "e28225099c65c3b4", "scanner": "scanner-primary", "fingerprint": "fa9ea9a47e79d829", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-be36b634c92d1bd9", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/messenger/tests/test_dead_letter_tools.py:20"}, "properties": {"repobilityId": "34d13fdaab2ada1d", "scanner": "scanner-primary", "fingerprint": "be36b634c92d1bd9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ab821d10f9c9fae", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/messenger/tests/test_idempotency.py:24"}, "properties": {"repobilityId": "78793d654f0e1334", "scanner": "scanner-primary", "fingerprint": "3ab821d10f9c9fae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-83d219d35e0c45b8", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/lifestyle/tests/test_lifestyle_spotify_integration.py:440"}, "properties": {"repobilityId": "b8ad30335d344e0c", "scanner": "scanner-primary", "fingerprint": "83d219d35e0c45b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b7121eafd8d1e1d", "level": "note", "message": {"text": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 roster/lifestyle/migrations/001_lifestyle_tables.py:27"}, "properties": {"repobilityId": "478358e003bae181", "scanner": "scanner-primary", "fingerprint": "0b7121eafd8d1e1d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-f54f43b737c5eb0b", "level": "note", "message": {"text": "Legacy-named symbol `sub_v1` in roster/finance/tests/test_integration.py:482"}, "properties": {"repobilityId": "0b344ce64afdf13e", "scanner": "scanner-primary", "fingerprint": "f54f43b737c5eb0b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9fe14274a6e4f385", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/finance/tests/test_anomaly_detection.py:253"}, "properties": {"repobilityId": "b59db8c674b914dd", "scanner": "scanner-primary", "fingerprint": "9fe14274a6e4f385", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78d50504b16190cb", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/finance/tests/test_spending.py:10"}, "properties": {"repobilityId": "a5f4a0ac01fa285a", "scanner": "scanner-primary", "fingerprint": "78d50504b16190cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00c2a213c7fee647", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/finance/tests/test_transactions.py:11"}, "properties": {"repobilityId": "781fffa528134af1", "scanner": "scanner-primary", "fingerprint": "00c2a213c7fee647", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7d766fc8ebad244", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/finance/tests/test_facts.py:1698"}, "properties": {"repobilityId": "9a6c074c5c563a5e", "scanner": "scanner-primary", "fingerprint": "a7d766fc8ebad244", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38b5bb387988f2e7", "level": "note", "message": {"text": "Legacy-named symbol `pool_v2` in roster/finance/tests/test_transaction_crud.py:590"}, "properties": {"repobilityId": "7e7a64bc3bbf1c65", "scanner": "scanner-primary", "fingerprint": "38b5bb387988f2e7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-03d50deb40a1a92b", "level": "none", "message": {"text": "Commented-code block (7 lines) in roster/finance/api/router.py:77"}, "properties": {"repobilityId": "6cb7a4608a993996", "scanner": "scanner-primary", "fingerprint": "03d50deb40a1a92b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5820e0ef0bca3a3e", "level": "none", "message": {"text": "Commented-code block (8 lines) in roster/finance/tools/overview.py:660"}, "properties": {"repobilityId": "e06c973d196415d4", "scanner": "scanner-primary", "fingerprint": "5820e0ef0bca3a3e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35d0c7dc1ac4cdc3", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/finance/tools/spending.py:115"}, "properties": {"repobilityId": "6ac7a89dac495077", "scanner": "scanner-primary", "fingerprint": "35d0c7dc1ac4cdc3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7bf1e320a012e412", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/finance/tools/data_import.py:50"}, "properties": {"repobilityId": "a64cda754476e52e", "scanner": "scanner-primary", "fingerprint": "7bf1e320a012e412", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44375f012927a683", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/finance/migrations/002_merchant_mappings_trigram_index.py:68"}, "properties": {"repobilityId": "fd81bffe83e8b8b2", "scanner": "scanner-primary", "fingerprint": "44375f012927a683", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba899ba7020f1715", "level": "none", "message": {"text": "Commented-code block (7 lines) in roster/education/tests/test_curriculum.py:214"}, "properties": {"repobilityId": "ed39446551d1f4d1", "scanner": "scanner-primary", "fingerprint": "ba899ba7020f1715", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa7ced68ce2d5d45", "level": "none", "message": {"text": "Commented-code block (7 lines) in roster/education/tests/test_mastery.py:1159"}, "properties": {"repobilityId": "65a163b7fb711780", "scanner": "scanner-primary", "fingerprint": "aa7ced68ce2d5d45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-abe887deb06734c6", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/education/tests/test_diagnostic.py:194"}, "properties": {"repobilityId": "6b09d5afc845e341", "scanner": "scanner-primary", "fingerprint": "abe887deb06734c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b9652f928ad5777", "level": "none", "message": {"text": "Commented-code block (9 lines) in roster/education/tools/mastery.py:490"}, "properties": {"repobilityId": "49e7b50616a0cee2", "scanner": "scanner-primary", "fingerprint": "6b9652f928ad5777", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f4aa383484d592db", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/home/modules/__init__.py:744"}, "properties": {"repobilityId": "aadca84d80c256e3", "scanner": "scanner-primary", "fingerprint": "f4aa383484d592db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-053c588c4e887337", "level": "none", "message": {"text": "Commented-code block (8 lines) in roster/chronicler/tests/test_storage_integration.py:114"}, "properties": {"repobilityId": "b49f1ae581b4e057", "scanner": "scanner-primary", "fingerprint": "053c588c4e887337", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc80be27ca73dff8", "level": "note", "message": {"text": "Legacy-named symbol `test_supported_names_non_empty_in_v1` in roster/chronicler/tests/test_contracts.py:57"}, "properties": {"repobilityId": "1235c9e8b18213e1", "scanner": "scanner-primary", "fingerprint": "bc80be27ca73dff8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e930360bb4ca789a", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/chronicler/api/router.py:1400"}, "properties": {"repobilityId": "25a6406d52e8aabe", "scanner": "scanner-primary", "fingerprint": "e930360bb4ca789a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2313a9bddc8ea0bc", "level": "note", "message": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 roster/chronicler/modules/__init__.py:51"}, "properties": {"repobilityId": "99244af20284c058", "scanner": "scanner-primary", "fingerprint": "2313a9bddc8ea0bc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-e186dab0bdbbf6d1", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/chronicler/migrations/009_reset_watermarks_for_old_session_titles.py:105"}, "properties": {"repobilityId": "1f1b1f727ebd9b63", "scanner": "scanner-primary", "fingerprint": "e186dab0bdbbf6d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e120dad080bdc7ed", "level": "note", "message": {"text": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 roster/chronicler/migrations/012_reset_spotify_watermark_for_in_progress_projection.py:62"}, "properties": {"repobilityId": "11435f3710d8cd42", "scanner": "scanner-primary", "fingerprint": "e120dad080bdc7ed", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-da68785a45f0c44a", "level": "none", "message": {"text": "Commented-code block (7 lines) in roster/chronicler/migrations/016_drop_episodes_entity_id.py:66"}, "properties": {"repobilityId": "96ed5bdf5ce381ca", "scanner": "scanner-primary", "fingerprint": "da68785a45f0c44a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33acdd76c6d4c76f", "level": "note", "message": {"text": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 roster/chronicler/migrations/011_reset_steam_spotify_watermarks.py:68"}, "properties": {"repobilityId": "453c212364398549", "scanner": "scanner-primary", "fingerprint": "33acdd76c6d4c76f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-cd5d7ba3532a5152", "level": "note", "message": {"text": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 roster/chronicler/migrations/010_dedup_calendar_episodes_by_origin.py:102"}, "properties": {"repobilityId": "5e6335fbf63c1642", "scanner": "scanner-primary", "fingerprint": "cd5d7ba3532a5152", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-447c3eb09559b210", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/chronicler/migrations/003_restrict_chronicler_grants.py:145"}, "properties": {"repobilityId": "c5f8ce54dd057093", "scanner": "scanner-primary", "fingerprint": "447c3eb09559b210", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5bd84e7d39e199b", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/relationship/tests/test_reconciler.py:603"}, "properties": {"repobilityId": "7b3306f111289bba", "scanner": "scanner-primary", "fingerprint": "b5bd84e7d39e199b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85deb757168774ba", "level": "none", "message": {"text": "Commented-code block (8 lines) in roster/relationship/tests/test_dunbar_ranking_api.py:44"}, "properties": {"repobilityId": "bb07a0a8fb70c41b", "scanner": "scanner-primary", "fingerprint": "85deb757168774ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7a7ba0633cd309a", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/relationship/tests/test_chronicler_boundary.py:54"}, "properties": {"repobilityId": "ca6ad28faf94dfad", "scanner": "scanner-primary", "fingerprint": "f7a7ba0633cd309a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b3904b66547f4301", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/relationship/tests/test_conf_immutability_guardrail.py:79"}, "properties": {"repobilityId": "bff7b2c1df9aac06", "scanner": "scanner-primary", "fingerprint": "b3904b66547f4301", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72870953d8a85f50", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/relationship/tests/test_entity_contacts_credentials_exclusion.py:147"}, "properties": {"repobilityId": "285609bdcdaa565e", "scanner": "scanner-primary", "fingerprint": "72870953d8a85f50", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-967fb52d8934a245", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/relationship/tests/test_entities_api.py:1044"}, "properties": {"repobilityId": "e03ce7eea2803657", "scanner": "scanner-primary", "fingerprint": "967fb52d8934a245", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce3c9adf2fe7c10d", "level": "note", "message": {"text": "Legacy-named symbol `memory_module_legacy` in roster/relationship/tests/test_entity_tabs.py:55"}, "properties": {"repobilityId": "74c1c92fbff17de2", "scanner": "scanner-primary", "fingerprint": "ce3c9adf2fe7c10d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2dbd5f7e88ca93be", "level": "none", "message": {"text": "Commented-code block (7 lines) in roster/relationship/tests/test_entity_tabs.py:1026"}, "properties": {"repobilityId": "c36e68e0f7124377", "scanner": "scanner-primary", "fingerprint": "2dbd5f7e88ca93be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef31bdbdec2ccb65", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/relationship/tests/test_relationship_assert_fact.py:739"}, "properties": {"repobilityId": "0007685ac6fc3af2", "scanner": "scanner-primary", "fingerprint": "ef31bdbdec2ccb65", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-802e28a186036850", "level": "none", "message": {"text": "Commented-code block (8 lines) in roster/relationship/tests/test_owner_authz_guardrail.py:349"}, "properties": {"repobilityId": "7115f1a52ae994e0", "scanner": "scanner-primary", "fingerprint": "802e28a186036850", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-18afc24f6c8a569d", "level": "note", "message": {"text": "Legacy-named symbol `memory_module_legacy` in roster/relationship/api/router.py:4437"}, "properties": {"repobilityId": "94646f83d0b98c6d", "scanner": "scanner-primary", "fingerprint": "18afc24f6c8a569d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f8d13d409e63f208", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/relationship/api/router.py:1657"}, "properties": {"repobilityId": "48a531ef8cd11ffe", "scanner": "scanner-primary", "fingerprint": "f8d13d409e63f208", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cc2ba2fb86e19a8d", "level": "note", "message": {"text": "Legacy-named symbol `memory_module_legacy` in roster/relationship/api/models.py:516"}, "properties": {"repobilityId": "de60e089f46636ee", "scanner": "scanner-primary", "fingerprint": "cc2ba2fb86e19a8d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0cea3a1ac5dc9b47", "level": "none", "message": {"text": "Commented-code block (9 lines) in roster/relationship/tools/staleness.py:224"}, "properties": {"repobilityId": "8546548fd19048ed", "scanner": "scanner-primary", "fingerprint": "0cea3a1ac5dc9b47", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1cf1879655645c9a", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/relationship/tools/contacts.py:290"}, "properties": {"repobilityId": "13b8000abe824398", "scanner": "scanner-primary", "fingerprint": "1cf1879655645c9a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47921b7430b8fb34", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/relationship/tools/relationship_lookup.py:542"}, "properties": {"repobilityId": "34481f4fae15fbd4", "scanner": "scanner-primary", "fingerprint": "47921b7430b8fb34", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5abdb60e196bf73d", "level": "none", "message": {"text": "Commented-code block (9 lines) in roster/relationship/tools/relationship_assert_fact.py:61"}, "properties": {"repobilityId": "4b857786480bb024", "scanner": "scanner-primary", "fingerprint": "5abdb60e196bf73d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-360ee85293b15999", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/relationship/migrations/004_contact_detail_indexes.py:35"}, "properties": {"repobilityId": "fddfab7ecc324b92", "scanner": "scanner-primary", "fingerprint": "360ee85293b15999", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d84c3edf1e8a30f2", "level": "note", "message": {"text": "Legacy-named symbol `_reminders_backup` in roster/relationship/migrations/020_drop_reminders_backup.py:1"}, "properties": {"repobilityId": "3a97d405801092b7", "scanner": "scanner-primary", "fingerprint": "d84c3edf1e8a30f2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-457cb1e5352cb585", "level": "note", "message": {"text": "Legacy-named symbol `_reminders_backup` in roster/relationship/migrations/007_reminders_to_calendar_events.py:4"}, "properties": {"repobilityId": "9dcb22813a1fcb2a", "scanner": "scanner-primary", "fingerprint": "457cb1e5352cb585", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ae83075288c041b3", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/relationship/migrations/003_consolidate_contacts_to_public.py:97"}, "properties": {"repobilityId": "e0ba8fe339e836bd", "scanner": "scanner-primary", "fingerprint": "ae83075288c041b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12d9773bb9ec09cb", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/relationship/jobs/relationship_jobs.py:625"}, "properties": {"repobilityId": "e3386557aa299e82", "scanner": "scanner-primary", "fingerprint": "12d9773bb9ec09cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0572c93d50bc0809", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/switchboard/tests/test_conformance.py:23"}, "properties": {"repobilityId": "2a07ef418a18511c", "scanner": "scanner-primary", "fingerprint": "0572c93d50bc0809", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-290ec915c1447f9c", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_triage_ingest_integration.py:3"}, "properties": {"repobilityId": "fe05b4289eb70976", "scanner": "scanner-primary", "fingerprint": "290ec915c1447f9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0f61ea4219a3c8fb", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_ingest_api.py:23"}, "properties": {"repobilityId": "bfb4869283a10857", "scanner": "scanner-primary", "fingerprint": "0f61ea4219a3c8fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bfd2dd6b3f1fa0f2", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/switchboard/tests/test_ingest_api.py:49"}, "properties": {"repobilityId": "3797f407912d07e7", "scanner": "scanner-primary", "fingerprint": "bfd2dd6b3f1fa0f2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78acd7f5472c6304", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_ingest_ingestion_events.py:1"}, "properties": {"repobilityId": "3620050dcf51da5a", "scanner": "scanner-primary", "fingerprint": "78acd7f5472c6304", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-627607676d417b33", "level": "note", "message": {"text": "Legacy-named symbol `_make_wellness_envelope_v1` in roster/switchboard/tests/test_wellness_policy_bypass.py:94"}, "properties": {"repobilityId": "82840cb5c6921f65", "scanner": "scanner-primary", "fingerprint": "627607676d417b33", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-315f15323fa3155c", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_ingest_tier.py:20"}, "properties": {"repobilityId": "b3ecc60a9b65b992", "scanner": "scanner-primary", "fingerprint": "315f15323fa3155c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cccb084c56bc3ed4", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/switchboard/tests/test_ingest_tier.py:26"}, "properties": {"repobilityId": "ae73d21cb689601e", "scanner": "scanner-primary", "fingerprint": "cccb084c56bc3ed4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-730409d984bf8183", "level": "note", "message": {"text": "Legacy-named symbol `bot_legacy` in roster/switchboard/tests/test_contract_models.py:533"}, "properties": {"repobilityId": "2a99940e66f3d617", "scanner": "scanner-primary", "fingerprint": "730409d984bf8183", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3e34d75a74222426", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/switchboard/tests/test_switchboard_no_fact_writes.py:97"}, "properties": {"repobilityId": "193439b69b0823e5", "scanner": "scanner-primary", "fingerprint": "3e34d75a74222426", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d3d53fc39507644", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/switchboard/tests/test_tools.py:25"}, "properties": {"repobilityId": "b14fdf2a9bbb233b", "scanner": "scanner-primary", "fingerprint": "4d3d53fc39507644", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca7a77aebca72ee7", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tests/test_thread_affinity.py:397"}, "properties": {"repobilityId": "b3c7971f80d4e637", "scanner": "scanner-primary", "fingerprint": "ca7a77aebca72ee7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8e938c31672b3f6b", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/switchboard/api/router.py:1585"}, "properties": {"repobilityId": "be477fdbfab2356b", "scanner": "scanner-primary", "fingerprint": "8e938c31672b3f6b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1134034d0ba0bdd4", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tools/__init__.py:14"}, "properties": {"repobilityId": "d0d417446cbeedcc", "scanner": "scanner-primary", "fingerprint": "1134034d0ba0bdd4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ddb0372ec94b4d08", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/switchboard/tools/insight/broker.py:621"}, "properties": {"repobilityId": "478c39e6db76ae37", "scanner": "scanner-primary", "fingerprint": "ddb0372ec94b4d08", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98d63db137fe7039", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tools/ingestion/__init__.py:5"}, "properties": {"repobilityId": "2bcfd17b1cc06f69", "scanner": "scanner-primary", "fingerprint": "98d63db137fe7039", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3e6e9149e65079ec", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in roster/switchboard/tools/ingestion/ingest.py:560"}, "properties": {"repobilityId": "5a423605c429ae03", "scanner": "scanner-primary", "fingerprint": "3e6e9149e65079ec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6438a3787a189887", "level": "none", "message": {"text": "Commented-code block (5 lines) in roster/switchboard/tools/ingestion/ingest.py:664"}, "properties": {"repobilityId": "0ad28b246d7505db", "scanner": "scanner-primary", "fingerprint": "6438a3787a189887", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a5a33f7e477c520", "level": "none", "message": {"text": "Commented-code block (6 lines) in roster/general/tests/test_tools.py:10"}, "properties": {"repobilityId": "3c80eb8f2f5f094a", "scanner": "scanner-primary", "fingerprint": "5a5a33f7e477c520", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c791f5f797bcb925", "level": "note", "message": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 roster/general/modules/__init__.py:37"}, "properties": {"repobilityId": "2720274ad1df52f0", "scanner": "scanner-primary", "fingerprint": "c791f5f797bcb925", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-3876b967f80ab1d2", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/integration/test_qa_pipeline.py:1031"}, "properties": {"repobilityId": "a1293effc586230e", "scanner": "scanner-primary", "fingerprint": "3876b967f80ab1d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-356a5510d5f4aedf", "level": "note", "message": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in tests/integration/test_connector_conformance.py:118"}, "properties": {"repobilityId": "178ce29c9afdfbd0", "scanner": "scanner-primary", "fingerprint": "356a5510d5f4aedf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-606d396669dcf973", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/integration/test_email_outbound_safety.py:1229"}, "properties": {"repobilityId": "b564178827f0bf44", "scanner": "scanner-primary", "fingerprint": "606d396669dcf973", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d743e66ead827e4f", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in tests/integration/test_ingest_attachments_persistence.py:88"}, "properties": {"repobilityId": "b5d5f098a8befefd", "scanner": "scanner-primary", "fingerprint": "d743e66ead827e4f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f62dd3deb1c14fb3", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/integration/test_google_drive_integration.py:555"}, "properties": {"repobilityId": "2f5ed3fa17d38036", "scanner": "scanner-primary", "fingerprint": "f62dd3deb1c14fb3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ebc3b38a8597a623", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in tests/integration/test_decomposition_flow.py:4"}, "properties": {"repobilityId": "dc3af698693b1058", "scanner": "scanner-primary", "fingerprint": "ebc3b38a8597a623", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-603b0ea4814c015d", "level": "note", "message": {"text": "Legacy-named symbol `cfg_legacy` in tests/config/test_config.py:411"}, "properties": {"repobilityId": "b83525da52870b13", "scanner": "scanner-primary", "fingerprint": "603b0ea4814c015d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b738eccb8fae923f", "level": "note", "message": {"text": "Legacy-named symbol `_reminders_backup` in tests/config/test_migrations.py:689"}, "properties": {"repobilityId": "3cbe178f70a1fed0", "scanner": "scanner-primary", "fingerprint": "b738eccb8fae923f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3f767e31d725c3fb", "level": "note", "message": {"text": "Legacy-named symbol `_reminders_backup` in tests/config/test_schema_matrix_migrations.py:74"}, "properties": {"repobilityId": "e9a6e32fe419f9c1", "scanner": "scanner-primary", "fingerprint": "3f767e31d725c3fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7b870bb77495eaab", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/connectors/test_google_health_connector.py:1352"}, "properties": {"repobilityId": "6bd8d6cb9d0681d4", "scanner": "scanner-primary", "fingerprint": "7b870bb77495eaab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0d303ea669786ed", "level": "note", "message": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in tests/connectors/test_telegram_bot_connector.py:49"}, "properties": {"repobilityId": "cfebceface620add", "scanner": "scanner-primary", "fingerprint": "b0d303ea669786ed", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2f509b04b0ecaf7a", "level": "note", "message": {"text": "Legacy-named symbol `_normalize_single_event_to_ingest_v1` in tests/connectors/test_whatsapp_user_client.py:53"}, "properties": {"repobilityId": "2e73744b19c15f78", "scanner": "scanner-primary", "fingerprint": "2f509b04b0ecaf7a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-007fa38b749dce09", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/connectors/test_gmail_policy_evaluator.py:42"}, "properties": {"repobilityId": "cc1e91e296bbe2d5", "scanner": "scanner-primary", "fingerprint": "007fa38b749dce09", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-95a6a3b5b5b964d6", "level": "note", "message": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in tests/connectors/test_discord_user_connector.py:47"}, "properties": {"repobilityId": "dbb30b9d5bcbbbd9", "scanner": "scanner-primary", "fingerprint": "95a6a3b5b5b964d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6b989c430a6877d6", "level": "note", "message": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in tests/connectors/test_telegram_user_client.py:56"}, "properties": {"repobilityId": "9153ad8193b8cfe7", "scanner": "scanner-primary", "fingerprint": "6b989c430a6877d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ab3b27663cd666ae", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/api/test_relationship_entities_linked_contacts.py:171"}, "properties": {"repobilityId": "e927e4b16cd31a54", "scanner": "scanner-primary", "fingerprint": "ab3b27663cd666ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5436fba6dbc895d", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_google_health_grant_flow.py:51"}, "properties": {"repobilityId": "33e8ca1a1d7c9c2d", "scanner": "scanner-primary", "fingerprint": "e5436fba6dbc895d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-716db7cb8a4c70d6", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/api/test_memory_retention.py:229"}, "properties": {"repobilityId": "da77b0d0e817ed39", "scanner": "scanner-primary", "fingerprint": "716db7cb8a4c70d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1692925705e9495d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/api/test_data_ops.py:90"}, "properties": {"repobilityId": "05c010fab6d77c52", "scanner": "scanner-primary", "fingerprint": "1692925705e9495d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33b7db3fbb8f95c3", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_inventory.py:40"}, "properties": {"repobilityId": "27fcadb4594fb799", "scanner": "scanner-primary", "fingerprint": "33b7db3fbb8f95c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5aa55714e8db4c16", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/api/test_secrets_v2_inventory.py:1275"}, "properties": {"repobilityId": "7f7cb44ec19eb6e6", "scanner": "scanner-primary", "fingerprint": "5aa55714e8db4c16", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a426936ae4a67f23", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_probe_live.py:34"}, "properties": {"repobilityId": "8152e8946cfff3b7", "scanner": "scanner-primary", "fingerprint": "a426936ae4a67f23", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c8c7c0783ba0541c", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/api/test_relationship_entities_update_contact.py:129"}, "properties": {"repobilityId": "e217e60d511c723f", "scanner": "scanner-primary", "fingerprint": "c8c7c0783ba0541c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ef2f12862e3a599", "level": "note", "message": {"text": "Legacy-named symbol `ep_old` in tests/api/test_relationship_entities_activity.py:381"}, "properties": {"repobilityId": "07f2cf0179080cae", "scanner": "scanner-primary", "fingerprint": "7ef2f12862e3a599", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-22bccdea51296da5", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_audit_history.py:29"}, "properties": {"repobilityId": "78e11dd961c701b8", "scanner": "scanner-primary", "fingerprint": "22bccdea51296da5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7d3100305bcba56d", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_mutations.py:35"}, "properties": {"repobilityId": "05ef8498ef480b05", "scanner": "scanner-primary", "fingerprint": "7d3100305bcba56d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-192835b4ce0d31ff", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_revoke_registry.py:20"}, "properties": {"repobilityId": "23fe6227b89aead3", "scanner": "scanner-primary", "fingerprint": "192835b4ce0d31ff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-30cbd04260950a3f", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_cli_reauthorize.py:36"}, "properties": {"repobilityId": "523612d3473b0e83", "scanner": "scanner-primary", "fingerprint": "30cbd04260950a3f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8d19b3cde5bf66d4", "level": "note", "message": {"text": "Legacy-named symbol `scopes_v1` in tests/api/test_oauth_toml_scopes.py:190"}, "properties": {"repobilityId": "f8ccb78e104d8e39", "scanner": "scanner-primary", "fingerprint": "8d19b3cde5bf66d4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bfdd43aec8fe22cc", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_probe_live_spotify.py:45"}, "properties": {"repobilityId": "40663378129962a4", "scanner": "scanner-primary", "fingerprint": "bfdd43aec8fe22cc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4a08e2ce1ed866f9", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/api/test_permissions.py:155"}, "properties": {"repobilityId": "5c6884cf2fdd1bd6", "scanner": "scanner-primary", "fingerprint": "4a08e2ce1ed866f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b478c9bd38c61a21", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/api/test_model_settings.py:332"}, "properties": {"repobilityId": "c415c6be6e5a8905", "scanner": "scanner-primary", "fingerprint": "b478c9bd38c61a21", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28b28483e2b0ed4a", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_system_mutations.py:35"}, "properties": {"repobilityId": "b6beaa719d240bbd", "scanner": "scanner-primary", "fingerprint": "28b28483e2b0ed4a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1243e90adf62f120", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_audit_log.py:723"}, "properties": {"repobilityId": "ef6c18a1bf111708", "scanner": "scanner-primary", "fingerprint": "1243e90adf62f120", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a4dd6a4bb79898ed", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_breaks_catalogue.py:29"}, "properties": {"repobilityId": "c32a6487cc0bcc1f", "scanner": "scanner-primary", "fingerprint": "a4dd6a4bb79898ed", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7f1faf4730f6e76c", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_per_credential.py:32"}, "properties": {"repobilityId": "694445c2bbdd68f4", "scanner": "scanner-primary", "fingerprint": "7f1faf4730f6e76c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7348c158e59c45e4", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/api/test_relationship_entities_merge.py:170"}, "properties": {"repobilityId": "6f77e2f2c2792fc8", "scanner": "scanner-primary", "fingerprint": "7348c158e59c45e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00c90d3f8d7b0650", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_probe_live_extended.py:56"}, "properties": {"repobilityId": "875e377537b2e321", "scanner": "scanner-primary", "fingerprint": "00c90d3f8d7b0650", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-66aface08f957618", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in tests/api/test_secrets_v2_cli_mutations.py:35"}, "properties": {"repobilityId": "ec67c9dd5ba49476", "scanner": "scanner-primary", "fingerprint": "66aface08f957618", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-60cd4f5adaee513d", "level": "note", "message": {"text": "Legacy-named symbol `ts_old` in tests/api/test_system.py:243"}, "properties": {"repobilityId": "4c06a64d540da593", "scanner": "scanner-primary", "fingerprint": "60cd4f5adaee513d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-807189c5b480152b", "level": "note", "message": {"text": "Legacy-named symbol `_insert_legacy` in tests/api/test_audit_grouping_union_db.py:94"}, "properties": {"repobilityId": "e9152ad6fa71b293", "scanner": "scanner-primary", "fingerprint": "807189c5b480152b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5c7715c3e07eb8c2", "level": "note", "message": {"text": "Legacy-named symbol `t_old` in tests/chronicler/test_ops_sessions_api.py:222"}, "properties": {"repobilityId": "6972bb80d862556a", "scanner": "scanner-primary", "fingerprint": "5c7715c3e07eb8c2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-80674b896454b281", "level": "note", "message": {"text": "Legacy-named symbol `t_old` in tests/chronicler/test_source_state_api.py:171"}, "properties": {"repobilityId": "006ff3503bf438b3", "scanner": "scanner-primary", "fingerprint": "80674b896454b281", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d6b714cc2cb180f9", "level": "note", "message": {"text": "Legacy-named symbol `participant_old` in tests/chronicler/test_calendar_adapter.py:604"}, "properties": {"repobilityId": "49b293d05c5b382c", "scanner": "scanner-primary", "fingerprint": "d6b714cc2cb180f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3cbbe7c1dd473b6b", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/daemon/test_owner_bootstrap.py:36"}, "properties": {"repobilityId": "1ff1f3dc03db3d6c", "scanner": "scanner-primary", "fingerprint": "3cbbe7c1dd473b6b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-90e32cdd729fa4af", "level": "note", "message": {"text": "Legacy-named symbol `env_backup` in tests/daemon/test_liveness_reporter.py:227"}, "properties": {"repobilityId": "6240f7f0fad275b5", "scanner": "scanner-primary", "fingerprint": "90e32cdd729fa4af", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2be132c7f255bbd4", "level": "note", "message": {"text": "Legacy-named symbol `codex_v2` in tests/core/test_failover_classifier.py:254"}, "properties": {"repobilityId": "d1571f41d679e161", "scanner": "scanner-primary", "fingerprint": "2be132c7f255bbd4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-78f9a1769bd34727", "level": "note", "message": {"text": "Legacy-named symbol `open_old` in tests/core/test_core_sessions.py:250"}, "properties": {"repobilityId": "cb0ef14eab231092", "scanner": "scanner-primary", "fingerprint": "78f9a1769bd34727", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-18a4d55011a54509", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/core/test_core_spawner.py:379"}, "properties": {"repobilityId": "ebb349162b6f344e", "scanner": "scanner-primary", "fingerprint": "18a4d55011a54509", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72e971f7b7d495b0", "level": "note", "message": {"text": "Legacy-named symbol `row_old` in tests/core/qa/test_provenance_and_dedup_linkage.py:202"}, "properties": {"repobilityId": "d01175c6b8301916", "scanner": "scanner-primary", "fingerprint": "72e971f7b7d495b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fe8a7ce915cb3641", "level": "note", "message": {"text": "Legacy-named symbol `fp_legacy` in tests/core/healing/test_tracking.py:410"}, "properties": {"repobilityId": "6a6f08dd12bf50b4", "scanner": "scanner-primary", "fingerprint": "fe8a7ce915cb3641", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-50631a43a71f458f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/contracts/test_chronicler_no_cross_schema.py:67"}, "properties": {"repobilityId": "bbdd060399f907ba", "scanner": "scanner-primary", "fingerprint": "50631a43a71f458f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f259e8577038b9d6", "level": "note", "message": {"text": "Legacy-named symbol `_reminders_backup` in tests/migrations/test_calendar_event_columns_and_entities.py:176"}, "properties": {"repobilityId": "616f75745d1b493d", "scanner": "scanner-primary", "fingerprint": "f259e8577038b9d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4d7dcc05b1c237c4", "level": "note", "message": {"text": "Legacy-named symbol `new_to_expected_old` in tests/migrations/test_complexity_tier_rename_migration.py:393"}, "properties": {"repobilityId": "efcef9c646b7fe15", "scanner": "scanner-primary", "fingerprint": "4d7dcc05b1c237c4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f39a79f764fedd22", "level": "note", "message": {"text": "Legacy-named symbol `_insert_legacy` in tests/migrations/test_backfill_dashboard_audit_log.py:148"}, "properties": {"repobilityId": "025883d5ff315a13", "scanner": "scanner-primary", "fingerprint": "f39a79f764fedd22", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7544c2e8914fe98a", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/migrations/test_contact_backfill_triples.py:779"}, "properties": {"repobilityId": "cc261e419f6b5df1", "scanner": "scanner-primary", "fingerprint": "7544c2e8914fe98a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ffdf608e7e076662", "level": "note", "message": {"text": "Legacy-named symbol `_reminders_backup` in tests/migrations/test_drop_backup_tables.py:12"}, "properties": {"repobilityId": "6402101fe2f94fa9", "scanner": "scanner-primary", "fingerprint": "ffdf608e7e076662", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-165d15a05b809dac", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/jobs/test_interaction_sync.py:28"}, "properties": {"repobilityId": "ec57fb3f4f7deb8f", "scanner": "scanner-primary", "fingerprint": "165d15a05b809dac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-915fa58ee679c521", "level": "note", "message": {"text": "Legacy-named symbol `_reminders_backup` in tests/features/test_vcard.py:31"}, "properties": {"repobilityId": "00df357934f19b0a", "scanner": "scanner-primary", "fingerprint": "915fa58ee679c521", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a393388030d6124e", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in tests/e2e/test_switchboard_flow.py:6"}, "properties": {"repobilityId": "162f55767380475e", "scanner": "scanner-primary", "fingerprint": "a393388030d6124e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-63183bbd3b0950f2", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/e2e/conftest.py:345"}, "properties": {"repobilityId": "fa9ca6ab687a5f23", "scanner": "scanner-primary", "fingerprint": "63183bbd3b0950f2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ddbf9452028d14e2", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in tests/e2e/scenarios.py:5"}, "properties": {"repobilityId": "e724645c02c0b1ac", "scanner": "scanner-primary", "fingerprint": "ddbf9452028d14e2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-222cb0bd4c3141f5", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in tests/e2e/test_scenario_runner.py:4"}, "properties": {"repobilityId": "f1aa7b3aac751f8e", "scanner": "scanner-primary", "fingerprint": "222cb0bd4c3141f5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5a9348a29b222ba7", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in tests/e2e/envelopes.py:69"}, "properties": {"repobilityId": "1dcfb04dc1c574fe", "scanner": "scanner-primary", "fingerprint": "5a9348a29b222ba7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9f032dd08418a452", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in tests/e2e/test_security.py:249"}, "properties": {"repobilityId": "b8d693aa15e122ae", "scanner": "scanner-primary", "fingerprint": "9f032dd08418a452", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1667dd8720477bfa", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in tests/e2e/benchmark.py:213"}, "properties": {"repobilityId": "1fd20403a2154e69", "scanner": "scanner-primary", "fingerprint": "1667dd8720477bfa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-741bf4170ef24315", "level": "none", "message": {"text": "Commented-code block (7 lines) in pr/overview/tweaks-panel.jsx:12"}, "properties": {"repobilityId": "0c818e0de973c087", "scanner": "scanner-primary", "fingerprint": "741bf4170ef24315", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e9cd1ae3a845c32", "level": "none", "message": {"text": "Commented-code block (6 lines) in pr/overview/design-canvas.jsx:2"}, "properties": {"repobilityId": "405f87c6c3def477", "scanner": "scanner-primary", "fingerprint": "2e9cd1ae3a845c32", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e286de1e8364c75d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 pr/overview/design-canvas.jsx:117"}, "properties": {"repobilityId": "7e57d512c4dcb65d", "scanner": "scanner-primary", "fingerprint": "e286de1e8364c75d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-96fea75becd4ac72", "level": "none", "message": {"text": "Commented-code block (6 lines) in pr/overview/entity-redesign/reference/prototype/exp-index.jsx:8"}, "properties": {"repobilityId": "fca4838a2e912977", "scanner": "scanner-primary", "fingerprint": "96fea75becd4ac72", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f3674f9a324ac293", "level": "none", "message": {"text": "Commented-code block (5 lines) in pr/overview/entity-redesign/reference/prototype/exp-detail.jsx:10"}, "properties": {"repobilityId": "b205d237db736f49", "scanner": "scanner-primary", "fingerprint": "f3674f9a324ac293", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-416922e9e1f067d9", "level": "none", "message": {"text": "Commented-code block (5 lines) in pr/overview/entity-redesign/reference/prototype/exp-concentration.jsx:3"}, "properties": {"repobilityId": "d9de73bce6f3c770", "scanner": "scanner-primary", "fingerprint": "416922e9e1f067d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b17b08d3634ef8ec", "level": "none", "message": {"text": "Commented-code block (6 lines) in pr/overview/entity-redesign/reference/prototype/data.jsx:1"}, "properties": {"repobilityId": "e76d87859d1214fc", "scanner": "scanner-primary", "fingerprint": "b17b08d3634ef8ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7bbed8a2974838d6", "level": "none", "message": {"text": "Commented-code block (8 lines) in pr/overview/entity-redesign/reference/prototype/app.jsx:3"}, "properties": {"repobilityId": "3daeab45e552588a", "scanner": "scanner-primary", "fingerprint": "7bbed8a2974838d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3eff905ef1567c26", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/release_tag.py:33"}, "properties": {"repobilityId": "51918a5e5c36af87", "scanner": "scanner-primary", "fingerprint": "3eff905ef1567c26", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2d01f86040746303", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/butler-qa-pr-review/scripts/_github.py:26"}, "properties": {"repobilityId": "2e656169919d518c", "scanner": "scanner-primary", "fingerprint": "2d01f86040746303", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-35ec34c52a6dcfe5", "level": "none", "message": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_109_google_health_ingestion_event_email_prefix.py:112"}, "properties": {"repobilityId": "a2be105741a58014", "scanner": "scanner-primary", "fingerprint": "35ec34c52a6dcfe5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed66b9b3e80f7fc6", "level": "none", "message": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_123_drop_contacts_preferred_channel.py:99"}, "properties": {"repobilityId": "d3c62352e13da2bc", "scanner": "scanner-primary", "fingerprint": "ed66b9b3e80f7fc6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7da76c6d90bc7f9", "level": "none", "message": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_082_backfill_delivery_tables_current_schema.py:101"}, "properties": {"repobilityId": "ec28d780e4798bb1", "scanner": "scanner-primary", "fingerprint": "e7da76c6d90bc7f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b43faaa71d847f87", "level": "none", "message": {"text": "Commented-code block (6 lines) in alembic/versions/core/core_124_backfill_dashboard_audit_log.py:102"}, "properties": {"repobilityId": "f4ff4868c038e925", "scanner": "scanner-primary", "fingerprint": "b43faaa71d847f87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0f2a64cacc3f63c0", "level": "none", "message": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_118_drop_backup_tables.py:68"}, "properties": {"repobilityId": "14a949cc42b36e02", "scanner": "scanner-primary", "fingerprint": "0f2a64cacc3f63c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aaf018559871c920", "level": "note", "message": {"text": "Legacy-named symbol `uq_steam_play_history_account_app_date_v2` in alembic/versions/core/core_011_steam_play_history_fix.py:124"}, "properties": {"repobilityId": "7aee2f64c494b9ac", "scanner": "scanner-primary", "fingerprint": "aaf018559871c920", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ac0ed1d00230ea87", "level": "none", "message": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_108_google_health_cursor_key_migration.py:54"}, "properties": {"repobilityId": "f58608132dea7f51", "scanner": "scanner-primary", "fingerprint": "ac0ed1d00230ea87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b77d55502055128", "level": "none", "message": {"text": "Commented-code block (7 lines) in alembic/versions/core/core_105_secrets_be1.py:164"}, "properties": {"repobilityId": "443d92b2b303d740", "scanner": "scanner-primary", "fingerprint": "6b77d55502055128", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-126e5d57f3306f47", "level": "none", "message": {"text": "Commented-code block (6 lines) in alembic/versions/core/core_088_backfill_route_session_ingestion_event_id.py:128"}, "properties": {"repobilityId": "10713da71ca2f0d4", "scanner": "scanner-primary", "fingerprint": "126e5d57f3306f47", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3be25a330e1ad7d9", "level": "note", "message": {"text": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 alembic/versions/core/core_088_backfill_route_session_ingestion_event_id.py:152"}, "properties": {"repobilityId": "f5e90fbbe595d9d3", "scanner": "scanner-primary", "fingerprint": "3be25a330e1ad7d9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-ca0e1f4ad4e5f085", "level": "none", "message": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_071_v_qa_recent_failures_trigger_source.py:115"}, "properties": {"repobilityId": "1eb8fb88936ea5ba", "scanner": "scanner-primary", "fingerprint": "ca0e1f4ad4e5f085", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3c8caf2b1e07586", "level": "none", "message": {"text": "Commented-code block (11 lines) in alembic/versions/core/core_121_seed_permissions_vocabulary.py:56"}, "properties": {"repobilityId": "678c9a1653316d47", "scanner": "scanner-primary", "fingerprint": "e3c8caf2b1e07586", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff58dcd1b6a9b57a", "level": "none", "message": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_100_webhooks_secret_encrypted.py:91"}, "properties": {"repobilityId": "b0d55645f40a3c51", "scanner": "scanner-primary", "fingerprint": "ff58dcd1b6a9b57a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73c505f9861e002b", "level": "none", "message": {"text": "Commented-code block (5 lines) in alembic/versions/core/core_115_drop_contact_info.py:63"}, "properties": {"repobilityId": "e057ef08760ed55a", "scanner": "scanner-primary", "fingerprint": "73c505f9861e002b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb7988ae1ba21b11", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/butlers/identity.py:291"}, "properties": {"repobilityId": "0c85d49be9bae2bb", "scanner": "scanner-primary", "fingerprint": "fb7988ae1ba21b11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c3f1f70a1937b4c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/butlers/switchboard_wiring.py:355"}, "properties": {"repobilityId": "fc83f79381e66184", "scanner": "scanner-primary", "fingerprint": "7c3f1f70a1937b4c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6be9d6c120784924", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/db.py:272"}, "properties": {"repobilityId": "f23f5c54490af10a", "scanner": "scanner-primary", "fingerprint": "6be9d6c120784924", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0f1a4b2a294dcb84", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/butlers/lifecycle.py:129"}, "properties": {"repobilityId": "18dcc9e255f9e3d2", "scanner": "scanner-primary", "fingerprint": "0f1a4b2a294dcb84", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0600c86925b7be31", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/daemon.py:824"}, "properties": {"repobilityId": "8cbdeebde3cd6082", "scanner": "scanner-primary", "fingerprint": "0600c86925b7be31", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2eb647983f6f178", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/butlers/testing/scoped_runner.py:15"}, "properties": {"repobilityId": "60e8bc8852124193", "scanner": "scanner-primary", "fingerprint": "b2eb647983f6f178", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-069b96cfc3e4aff8", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/butlers/testing/changed_files.py:62"}, "properties": {"repobilityId": "79865a2267b4f672", "scanner": "scanner-primary", "fingerprint": "069b96cfc3e4aff8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-790b60dc65c11f73", "level": "note", "message": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in src/butlers/connectors/discord_user.py:819"}, "properties": {"repobilityId": "a90a3a1ec9e4a59c", "scanner": "scanner-primary", "fingerprint": "790b60dc65c11f73", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4543f2fe6097386e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/connectors/discord_user.py:311"}, "properties": {"repobilityId": "104d61710a6acfd7", "scanner": "scanner-primary", "fingerprint": "4543f2fe6097386e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30ce4d8f758f0a0d", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/butlers/connectors/steam.py:85"}, "properties": {"repobilityId": "1bf4a56ce8699b33", "scanner": "scanner-primary", "fingerprint": "30ce4d8f758f0a0d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-285c39f4c82f1c8e", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in src/butlers/connectors/gmail.py:802"}, "properties": {"repobilityId": "633062f52eeaa36a", "scanner": "scanner-primary", "fingerprint": "285c39f4c82f1c8e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-82e277f5087f88b6", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/connectors/gmail.py:558"}, "properties": {"repobilityId": "60d2a56d58af28da", "scanner": "scanner-primary", "fingerprint": "82e277f5087f88b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2dda2ac907114669", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/connectors/home_assistant.py:1870"}, "properties": {"repobilityId": "464240eaff0ffef9", "scanner": "scanner-primary", "fingerprint": "2dda2ac907114669", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d968c11119bac361", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/butlers/connectors/google_health.py:970"}, "properties": {"repobilityId": "3ca3672dc391cafb", "scanner": "scanner-primary", "fingerprint": "d968c11119bac361", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d8a52327e79760e", "level": "note", "message": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in src/butlers/connectors/telegram_bot.py:750"}, "properties": {"repobilityId": "442da7ad8a84d1c9", "scanner": "scanner-primary", "fingerprint": "2d8a52327e79760e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c89b324bd4822f04", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/connectors/telegram_bot.py:251"}, "properties": {"repobilityId": "8399a87efc9f9d96", "scanner": "scanner-primary", "fingerprint": "c89b324bd4822f04", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae745979ca691cd3", "level": "note", "message": {"text": "Legacy-named symbol `_normalize_to_ingest_v1` in src/butlers/connectors/telegram_user_client.py:1302"}, "properties": {"repobilityId": "77fa1a8986b5930c", "scanner": "scanner-primary", "fingerprint": "ae745979ca691cd3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4f1a16a55c62faec", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/connectors/telegram_user_client.py:333"}, "properties": {"repobilityId": "d17e2c5d38c999c0", "scanner": "scanner-primary", "fingerprint": "4f1a16a55c62faec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c90162679f9b46d2", "level": "note", "message": {"text": "Stub function `fetchrow` (body is just `pass`/`return`) \u2014 src/butlers/connectors/google_calendar.py:2389"}, "properties": {"repobilityId": "cea67cf8db438add", "scanner": "scanner-primary", "fingerprint": "c90162679f9b46d2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-7a315f6c0b339251", "level": "note", "message": {"text": "Legacy-named symbol `_normalize_single_event_to_ingest_v1` in src/butlers/connectors/whatsapp_user_client.py:1219"}, "properties": {"repobilityId": "0f4b5150ffe8f153", "scanner": "scanner-primary", "fingerprint": "7a315f6c0b339251", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-87c3ddef29a778c3", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/butlers/connectors/gmail_policy.py:233"}, "properties": {"repobilityId": "966ba9584c1793fa", "scanner": "scanner-primary", "fingerprint": "87c3ddef29a778c3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68f0ac9474baf4da", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/connectors/owntracks.py:1146"}, "properties": {"repobilityId": "f37ee9c37be7be74", "scanner": "scanner-primary", "fingerprint": "68f0ac9474baf4da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28647c6711aa5515", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in src/butlers/api/deps.py:500"}, "properties": {"repobilityId": "049927340705c88d", "scanner": "scanner-primary", "fingerprint": "28647c6711aa5515", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-13debb20123fc58e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/api/dashboard_audit_middleware.py:211"}, "properties": {"repobilityId": "8bcced82c67d80e0", "scanner": "scanner-primary", "fingerprint": "13debb20123fc58e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-60b0152eaa6d2ff6", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in src/butlers/api/app.py:84"}, "properties": {"repobilityId": "0b601054ff71fa27", "scanner": "scanner-primary", "fingerprint": "60b0152eaa6d2ff6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4f472c7f11ac5fcb", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/butlers/api/app.py:124"}, "properties": {"repobilityId": "0cbac95843e3173d", "scanner": "scanner-primary", "fingerprint": "4f472c7f11ac5fcb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2b5bc6fe734390e3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/api/middleware.py:147"}, "properties": {"repobilityId": "a4b9a451dc110394", "scanner": "scanner-primary", "fingerprint": "2b5bc6fe734390e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5ac5205c6ba422f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/api/routers/priority_contacts.py:214"}, "properties": {"repobilityId": "a6b388592b3408cf", "scanner": "scanner-primary", "fingerprint": "e5ac5205c6ba422f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17552af371fa7c48", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/butlers/api/routers/calendar_workspace.py:387"}, "properties": {"repobilityId": "be182582f7a0cd52", "scanner": "scanner-primary", "fingerprint": "17552af371fa7c48", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8502df269235c105", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/api/routers/healing.py:582"}, "properties": {"repobilityId": "14018053848162dd", "scanner": "scanner-primary", "fingerprint": "8502df269235c105", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6fc316cf54eebb44", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/api/routers/conversations.py:232"}, "properties": {"repobilityId": "9248ccab01558f82", "scanner": "scanner-primary", "fingerprint": "6fc316cf54eebb44", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5b7dfe18d559186d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/api/routers/memory.py:189"}, "properties": {"repobilityId": "951b8bef292eaa78", "scanner": "scanner-primary", "fingerprint": "5b7dfe18d559186d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-79ca70cafa7bfa29", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in src/butlers/api/routers/secrets.py:47"}, "properties": {"repobilityId": "07b525bfffb80558", "scanner": "scanner-primary", "fingerprint": "79ca70cafa7bfa29", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e8352ecba3094eed", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/butlers/api/routers/timeline.py:40"}, "properties": {"repobilityId": "deeff80693dccfef", "scanner": "scanner-primary", "fingerprint": "e8352ecba3094eed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f38da82c4d1cfd79", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in src/butlers/api/routers/qa.py:259"}, "properties": {"repobilityId": "02d72c309e37c6ee", "scanner": "scanner-primary", "fingerprint": "f38da82c4d1cfd79", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ac6df2b94485d2b3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/api/routers/qa.py:1382"}, "properties": {"repobilityId": "7de9820a282debbb", "scanner": "scanner-primary", "fingerprint": "ac6df2b94485d2b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f49bb8ea339277a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/butlers/api/routers/permissions.py:195"}, "properties": {"repobilityId": "3a268b791ec73a1b", "scanner": "scanner-primary", "fingerprint": "2f49bb8ea339277a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ad09d350ff67afd", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/butlers/api/routers/oauth.py:210"}, "properties": {"repobilityId": "0203839e446e8d69", "scanner": "scanner-primary", "fingerprint": "1ad09d350ff67afd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a38ac306ac0b0c1", "level": "note", "message": {"text": "Legacy-named symbol `secrets_v2` in src/butlers/api/routers/secrets_v2.py:1863"}, "properties": {"repobilityId": "d29a7d2ced1be944", "scanner": "scanner-primary", "fingerprint": "1a38ac306ac0b0c1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-43be4cf3d80a3ab2", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/butlers/api/routers/secrets_v2.py:755"}, "properties": {"repobilityId": "4a868ac2e78f3fa2", "scanner": "scanner-primary", "fingerprint": "43be4cf3d80a3ab2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-086244233ad21d5a", "level": "note", "message": {"text": "Legacy-named symbol `_emit_kind_legacy` in src/butlers/api/routers/approvals.py:684"}, "properties": {"repobilityId": "3e72b6c2a992f902", "scanner": "scanner-primary", "fingerprint": "086244233ad21d5a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1f06cbf6f689dd89", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/api/routers/system.py:691"}, "properties": {"repobilityId": "6c6a425d3fca5ceb", "scanner": "scanner-primary", "fingerprint": "1f06cbf6f689dd89", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ebe5df8480134bf", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/butlers/scripts/backfill_contact_info_triples.py:222"}, "properties": {"repobilityId": "289bc53901e491a0", "scanner": "scanner-primary", "fingerprint": "2ebe5df8480134bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da88067b9fdaa9b6", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/butlers/cli_auth/health.py:29"}, "properties": {"repobilityId": "3dd392de446d6ca9", "scanner": "scanner-primary", "fingerprint": "da88067b9fdaa9b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00bcbe0594f9eb37", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in src/butlers/modules/calendar.py:2994"}, "properties": {"repobilityId": "a4c2e1f94efe29ba", "scanner": "scanner-primary", "fingerprint": "00bcbe0594f9eb37", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d654f5edd4a15cb8", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/butlers/modules/calendar.py:6312"}, "properties": {"repobilityId": "8dcc7cd22074257d", "scanner": "scanner-primary", "fingerprint": "d654f5edd4a15cb8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d06683450661eec5", "level": "note", "message": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/calendar.py:2604"}, "properties": {"repobilityId": "a6a7168d2293bcec", "scanner": "scanner-primary", "fingerprint": "d06683450661eec5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-0945ffc1eb76b09c", "level": "note", "message": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/steam.py:186"}, "properties": {"repobilityId": "2d465baf49ba87ec", "scanner": "scanner-primary", "fingerprint": "0945ffc1eb76b09c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-21d8369eeb5ed95c", "level": "note", "message": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/google_health.py:106"}, "properties": {"repobilityId": "843e44e1a63536fc", "scanner": "scanner-primary", "fingerprint": "21d8369eeb5ed95c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-5fc00ae8dfa17e5a", "level": "note", "message": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/spotify.py:120"}, "properties": {"repobilityId": "7f0b2d722f65e0f8", "scanner": "scanner-primary", "fingerprint": "5fc00ae8dfa17e5a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-fc0f0e7959bf845f", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in src/butlers/modules/pipeline.py:1051"}, "properties": {"repobilityId": "c2bb589f563adde2", "scanner": "scanner-primary", "fingerprint": "fc0f0e7959bf845f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2217b722ea41b9d4", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/modules/pipeline.py:1051"}, "properties": {"repobilityId": "53d439edc2ca9b8a", "scanner": "scanner-primary", "fingerprint": "2217b722ea41b9d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a51d8bc808d3872f", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/butlers/modules/qa/__init__.py:1218"}, "properties": {"repobilityId": "699e97bb25f1e747", "scanner": "scanner-primary", "fingerprint": "a51d8bc808d3872f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06a7c1eff675d790", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/butlers/modules/approvals/gate.py:446"}, "properties": {"repobilityId": "c8b3ccca887a192c", "scanner": "scanner-primary", "fingerprint": "06a7c1eff675d790", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce59f3986bd55d1f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/butlers/modules/approvals/autonomy_tracker.py:155"}, "properties": {"repobilityId": "f444709d72c62044", "scanner": "scanner-primary", "fingerprint": "ce59f3986bd55d1f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54449812b2b84489", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/modules/approvals/rules.py:266"}, "properties": {"repobilityId": "6155dd4eb4d0e9bf", "scanner": "scanner-primary", "fingerprint": "54449812b2b84489", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-859fb96bb8de71fd", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/modules/memory/__init__.py:586"}, "properties": {"repobilityId": "fb1c00c6d24b7991", "scanner": "scanner-primary", "fingerprint": "859fb96bb8de71fd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-100fc5fd4cb748f0", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/butlers/modules/memory/storage.py:965"}, "properties": {"repobilityId": "5dcdb2264a480986", "scanner": "scanner-primary", "fingerprint": "100fc5fd4cb748f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5103989648015d92", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/modules/memory/reembedding.py:270"}, "properties": {"repobilityId": "e57b89989a8df625", "scanner": "scanner-primary", "fingerprint": "5103989648015d92", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c87d9b3857a9a2fe", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/butlers/modules/memory/tools/writing.py:59"}, "properties": {"repobilityId": "90988bdccc45090a", "scanner": "scanner-primary", "fingerprint": "c87d9b3857a9a2fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c3b3d6555fd38bd2", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/butlers/modules/memory/tools/entities.py:843"}, "properties": {"repobilityId": "d67b1480407bb443", "scanner": "scanner-primary", "fingerprint": "c3b3d6555fd38bd2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-07654db2eba39412", "level": "note", "message": {"text": "Stub function `migration_revisions` (body is just `pass`/`return`) \u2014 src/butlers/modules/metrics/__init__.py:94"}, "properties": {"repobilityId": "46fe0db56d2441b5", "scanner": "scanner-primary", "fingerprint": "07654db2eba39412", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-24dee332e25a2856", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/chronicler/contracts.py:144"}, "properties": {"repobilityId": "58129d3dd40e9334", "scanner": "scanner-primary", "fingerprint": "24dee332e25a2856", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-14e8709b279eea52", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/butlers/chronicler/adapters/calendar.py:151"}, "properties": {"repobilityId": "796e4384ab24e8a4", "scanner": "scanner-primary", "fingerprint": "14e8709b279eea52", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f882e2146e60e066", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/chronicler/adapters/steam.py:208"}, "properties": {"repobilityId": "d2b4d2c731529aa8", "scanner": "scanner-primary", "fingerprint": "f882e2146e60e066", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b13244a609d6ca6c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/chronicler/adapters/home_assistant.py:199"}, "properties": {"repobilityId": "98fa20ac18bf8c3b", "scanner": "scanner-primary", "fingerprint": "b13244a609d6ca6c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-384f284d6db467ee", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/butlers/chronicler/adapters/owntracks.py:81"}, "properties": {"repobilityId": "1a4823e74005eae3", "scanner": "scanner-primary", "fingerprint": "384f284d6db467ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba2d7bc0dae469ba", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/butlers/core/ingestion_events.py:43"}, "properties": {"repobilityId": "a22355a144554379", "scanner": "scanner-primary", "fingerprint": "ba2d7bc0dae469ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa7d8f96853851c1", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/core/spawner.py:105"}, "properties": {"repobilityId": "85c2356bc2d69334", "scanner": "scanner-primary", "fingerprint": "aa7d8f96853851c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5788554eef910aac", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/core/telemetry.py:154"}, "properties": {"repobilityId": "cc150c0c1c2ba924", "scanner": "scanner-primary", "fingerprint": "5788554eef910aac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b536677af3a82cd", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/core/corrections.py:398"}, "properties": {"repobilityId": "035e5439f7329ecb", "scanner": "scanner-primary", "fingerprint": "9b536677af3a82cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4a8f05614f792c93", "level": "none", "message": {"text": "Commented-code block (13 lines) in src/butlers/core/model_routing.py:198"}, "properties": {"repobilityId": "a591db3b79f5a505", "scanner": "scanner-primary", "fingerprint": "4a8f05614f792c93", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-57d9cf77eb5d9dc8", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/butlers/core/permissions.py:51"}, "properties": {"repobilityId": "b999c60791c0156b", "scanner": "scanner-primary", "fingerprint": "57d9cf77eb5d9dc8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-512616d836981ec6", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/core/qa/dispatch.py:2340"}, "properties": {"repobilityId": "f6014fdb77e7e60e", "scanner": "scanner-primary", "fingerprint": "512616d836981ec6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9976ff33cacd87ca", "level": "note", "message": {"text": "Legacy-named symbol `found_old` in src/butlers/core/qa/sources/log_scanner.py:372"}, "properties": {"repobilityId": "db3bfa391a6c5093", "scanner": "scanner-primary", "fingerprint": "9976ff33cacd87ca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-06308de31eeca7a9", "level": "none", "message": {"text": "Commented-code block (21 lines) in src/butlers/core/qa/sources/log_scanner.py:240"}, "properties": {"repobilityId": "cf32cb6ade2dc1ac", "scanner": "scanner-primary", "fingerprint": "06308de31eeca7a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92fa2cd0ca9c8163", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/butlers/core/runtimes/opencode.py:257"}, "properties": {"repobilityId": "e12167fda3f4e6d1", "scanner": "scanner-primary", "fingerprint": "92fa2cd0ca9c8163", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-53542655377b855d", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/butlers/core/runtimes/codex.py:1459"}, "properties": {"repobilityId": "f24ea33caafee0be", "scanner": "scanner-primary", "fingerprint": "53542655377b855d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ded3bcb0b9d6c52f", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/butlers/core/healing/fingerprint.py:69"}, "properties": {"repobilityId": "df671048065b301d", "scanner": "scanner-primary", "fingerprint": "ded3bcb0b9d6c52f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fae0e8dc8438b002", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/butlers/core/healing/dispatch.py:651"}, "properties": {"repobilityId": "7098310f262cbda0", "scanner": "scanner-primary", "fingerprint": "fae0e8dc8438b002", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-465a17b31b950672", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/core_tools/_memory_access.py:95"}, "properties": {"repobilityId": "fd6ce35a32ce86ed", "scanner": "scanner-primary", "fingerprint": "465a17b31b950672", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9378948f13c04d74", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/butlers/core_tools/_routing.py:531"}, "properties": {"repobilityId": "a8bf2f1af0a41bbd", "scanner": "scanner-primary", "fingerprint": "9378948f13c04d74", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dd3ecbce360112aa", "level": "note", "message": {"text": "Legacy-named symbol `ingest_v1` in src/butlers/core_tools/_switchboard.py:29"}, "properties": {"repobilityId": "2b8263458c9630bc", "scanner": "scanner-primary", "fingerprint": "dd3ecbce360112aa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c14f414399b412ed", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/butlers/core_tools/_notifications.py:516"}, "properties": {"repobilityId": "feb4a3b38e19b9d7", "scanner": "scanner-primary", "fingerprint": "c14f414399b412ed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0027e313ade46c8f", "level": "note", "message": {"text": "Near-duplicate function bodies in 7 places"}, "properties": {"repobilityId": "a8c28fbc9469fb51", "scanner": "scanner-primary", "fingerprint": "0027e313ade46c8f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-33a6b62e30ce7ab4", "level": "note", "message": {"text": "Near-duplicate function bodies in 6 places"}, "properties": {"repobilityId": "6ff1804828900e27", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "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": "d1789ef5f3d15518", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "d7695cdddc114bdf", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "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": "2b93242ea65a2f26", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "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": "ec6d1205499f76dc", "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": "9539ab0fa0f067d5", "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": "c031e2c9ea2e4298", "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": "de545d775d0a4fdd", "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": "9fefecbe859bc586", "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": "c0972bcfd866e700", "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": "de277c67d1cb7178", "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": "0c1032aadb362945", "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": "dfc274f14661c5eb", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "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": "92494fc1f33bf629", "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": "2309ff091570dde6", "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": "106235613d20d0dc", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "e32807efbd1392a5", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "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": "e7533835add7f828", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "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": "94c8901f7bf0a291", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-9a376beca0bba274", "level": "error", "message": {"text": "FastAPI POST `create_measurement` without auth dependency \u2014 roster/health/api/router.py:230"}, "properties": {"repobilityId": "bfd7068bfefec698", "scanner": "scanner-primary", "fingerprint": "9a376beca0bba274", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 230}}}]}, {"ruleId": "scanner-67de8f2bbd16befa", "level": "error", "message": {"text": "FastAPI PUT `update_measurement` without auth dependency \u2014 roster/health/api/router.py:258"}, "properties": {"repobilityId": "e7eeaecb1ad32f6d", "scanner": "scanner-primary", "fingerprint": "67de8f2bbd16befa", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 258}}}]}, {"ruleId": "scanner-6e0908f23d7887dd", "level": "error", "message": {"text": "FastAPI DELETE `delete_measurement` without auth dependency \u2014 roster/health/api/router.py:290"}, "properties": {"repobilityId": "d5814469a6c6bcea", "scanner": "scanner-primary", "fingerprint": "6e0908f23d7887dd", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 290}}}]}, {"ruleId": "scanner-4a0f6c7a25c8711b", "level": "error", "message": {"text": "FastAPI POST `create_medication` without auth dependency \u2014 roster/health/api/router.py:490"}, "properties": {"repobilityId": "e33d414594f32eab", "scanner": "scanner-primary", "fingerprint": "4a0f6c7a25c8711b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 490}}}]}, {"ruleId": "scanner-f96e35d67e882cd2", "level": "error", "message": {"text": "FastAPI PUT `update_medication` without auth dependency \u2014 roster/health/api/router.py:515"}, "properties": {"repobilityId": "4bd34bb7cfb05dfe", "scanner": "scanner-primary", "fingerprint": "f96e35d67e882cd2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 515}}}]}, {"ruleId": "scanner-55165dbbbfb04eaa", "level": "error", "message": {"text": "FastAPI DELETE `delete_medication` without auth dependency \u2014 roster/health/api/router.py:544"}, "properties": {"repobilityId": "64be5eacd581d51a", "scanner": "scanner-primary", "fingerprint": "55165dbbbfb04eaa", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 544}}}]}, {"ruleId": "scanner-ebaa78260838ada0", "level": "error", "message": {"text": "FastAPI POST `create_condition` without auth dependency \u2014 roster/health/api/router.py:653"}, "properties": {"repobilityId": "17596ebf8f229bbc", "scanner": "scanner-primary", "fingerprint": "ebaa78260838ada0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 653}}}]}, {"ruleId": "scanner-cd8a37587b2bffcb", "level": "error", "message": {"text": "FastAPI PUT `update_condition` without auth dependency \u2014 roster/health/api/router.py:677"}, "properties": {"repobilityId": "16a11fd33bda6655", "scanner": "scanner-primary", "fingerprint": "cd8a37587b2bffcb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 677}}}]}, {"ruleId": "scanner-1fd9086e2fb545a8", "level": "error", "message": {"text": "FastAPI DELETE `delete_condition` without auth dependency \u2014 roster/health/api/router.py:706"}, "properties": {"repobilityId": "6a211e8b6b1dcf09", "scanner": "scanner-primary", "fingerprint": "1fd9086e2fb545a8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 706}}}]}, {"ruleId": "scanner-1bece7dae32c4c5d", "level": "error", "message": {"text": "FastAPI POST `create_symptom` without auth dependency \u2014 roster/health/api/router.py:846"}, "properties": {"repobilityId": "dea9def0fae28abe", "scanner": "scanner-primary", "fingerprint": "1bece7dae32c4c5d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 846}}}]}, {"ruleId": "scanner-26185ea6d8b337e8", "level": "error", "message": {"text": "FastAPI PUT `update_symptom` without auth dependency \u2014 roster/health/api/router.py:875"}, "properties": {"repobilityId": "980012d04cccf2ac", "scanner": "scanner-primary", "fingerprint": "26185ea6d8b337e8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 875}}}]}, {"ruleId": "scanner-f36570709c53150e", "level": "error", "message": {"text": "FastAPI DELETE `delete_symptom` without auth dependency \u2014 roster/health/api/router.py:904"}, "properties": {"repobilityId": "16a86861af394a46", "scanner": "scanner-primary", "fingerprint": "f36570709c53150e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 904}}}]}, {"ruleId": "scanner-96979ab2298a73b5", "level": "error", "message": {"text": "FastAPI POST `create_meal` without auth dependency \u2014 roster/health/api/router.py:1075"}, "properties": {"repobilityId": "dd252bfe9f3d4ac9", "scanner": "scanner-primary", "fingerprint": "96979ab2298a73b5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 1075}}}]}, {"ruleId": "scanner-5f8279717cf770f0", "level": "error", "message": {"text": "FastAPI PUT `update_meal` without auth dependency \u2014 roster/health/api/router.py:1104"}, "properties": {"repobilityId": "47d16b35a8358e20", "scanner": "scanner-primary", "fingerprint": "5f8279717cf770f0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 1104}}}]}, {"ruleId": "scanner-38c787ce296d8bc9", "level": "error", "message": {"text": "FastAPI DELETE `delete_meal` without auth dependency \u2014 roster/health/api/router.py:1133"}, "properties": {"repobilityId": "a809af8f540cede1", "scanner": "scanner-primary", "fingerprint": "38c787ce296d8bc9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 1133}}}]}, {"ruleId": "scanner-109103ec0007fe49", "level": "error", "message": {"text": "FastAPI POST `create_research` without auth dependency \u2014 roster/health/api/router.py:1270"}, "properties": {"repobilityId": "b2e8b0bd491d0a84", "scanner": "scanner-primary", "fingerprint": "109103ec0007fe49", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 1270}}}]}, {"ruleId": "scanner-058036fbe7409bec", "level": "error", "message": {"text": "FastAPI PUT `update_research` without auth dependency \u2014 roster/health/api/router.py:1299"}, "properties": {"repobilityId": "7e573333d6a801ac", "scanner": "scanner-primary", "fingerprint": "058036fbe7409bec", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 1299}}}]}, {"ruleId": "scanner-42ae945042a400bb", "level": "error", "message": {"text": "FastAPI DELETE `delete_research` without auth dependency \u2014 roster/health/api/router.py:1328"}, "properties": {"repobilityId": "fca11e8a6ab28d1d", "scanner": "scanner-primary", "fingerprint": "42ae945042a400bb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/health/api/router.py"}, "region": {"startLine": 1328}}}]}, {"ruleId": "scanner-3a48db5acf4e4318", "level": "error", "message": {"text": "FastAPI POST `bulk_ingest_transactions` without auth dependency \u2014 roster/finance/api/router.py:688"}, "properties": {"repobilityId": "b1c2b3f67072dbf2", "scanner": "scanner-primary", "fingerprint": "3a48db5acf4e4318", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/finance/api/router.py"}, "region": {"startLine": 688}}}]}, {"ruleId": "scanner-66488d21b7c69c78", "level": "error", "message": {"text": "FastAPI PATCH `bulk_update_transactions` without auth dependency \u2014 roster/finance/api/router.py:825"}, "properties": {"repobilityId": "8005651e32033375", "scanner": "scanner-primary", "fingerprint": "66488d21b7c69c78", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/finance/api/router.py"}, "region": {"startLine": 825}}}]}, {"ruleId": "scanner-51452f220bb1cd2f", "level": "error", "message": {"text": "FastAPI PUT `update_mind_map_status` without auth dependency \u2014 roster/education/api/router.py:586"}, "properties": {"repobilityId": "588d61c3a43756b9", "scanner": "scanner-primary", "fingerprint": "51452f220bb1cd2f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/education/api/router.py"}, "region": {"startLine": 586}}}]}, {"ruleId": "scanner-883198ed1413c174", "level": "error", "message": {"text": "FastAPI POST `submit_curriculum_request` without auth dependency \u2014 roster/education/api/router.py:632"}, "properties": {"repobilityId": "aa9436628f571cbd", "scanner": "scanner-primary", "fingerprint": "883198ed1413c174", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/education/api/router.py"}, "region": {"startLine": 632}}}]}, {"ruleId": "scanner-e96506f61c6006b8", "level": "error", "message": {"text": "FastAPI POST `create_maintenance_item` without auth dependency \u2014 roster/home/api/router.py:866"}, "properties": {"repobilityId": "a603a4ae4ffa2bb1", "scanner": "scanner-primary", "fingerprint": "e96506f61c6006b8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/home/api/router.py"}, "region": {"startLine": 866}}}]}, {"ruleId": "scanner-e061b6491342b020", "level": "error", "message": {"text": "FastAPI POST `complete_maintenance_item` without auth dependency \u2014 roster/home/api/router.py:926"}, "properties": {"repobilityId": "2b8d3988febe8b57", "scanner": "scanner-primary", "fingerprint": "e061b6491342b020", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/home/api/router.py"}, "region": {"startLine": 926}}}]}, {"ruleId": "scanner-714f9855ab82855f", "level": "error", "message": {"text": "FastAPI DELETE `delete_maintenance_item` without auth dependency \u2014 roster/home/api/router.py:982"}, "properties": {"repobilityId": "17924bfde9f38f14", "scanner": "scanner-primary", "fingerprint": "714f9855ab82855f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/home/api/router.py"}, "region": {"startLine": 982}}}]}, {"ruleId": "scanner-10bd235faf541914", "level": "error", "message": {"text": "FastAPI PATCH `update_thresholds` without auth dependency \u2014 roster/home/api/router.py:1114"}, "properties": {"repobilityId": "8765bcd9f0a20699", "scanner": "scanner-primary", "fingerprint": "10bd235faf541914", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/home/api/router.py"}, "region": {"startLine": 1114}}}]}, {"ruleId": "scanner-97b98b84ed2a6b1e", "level": "error", "message": {"text": "FastAPI POST `submit_episode_correction` without auth dependency \u2014 roster/chronicler/api/router.py:444"}, "properties": {"repobilityId": "2ab450cd0b27e7ce", "scanner": "scanner-primary", "fingerprint": "97b98b84ed2a6b1e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/chronicler/api/router.py"}, "region": {"startLine": 444}}}]}, {"ruleId": "scanner-11307c234b7e82ec", "level": "error", "message": {"text": "FastAPI POST `explain_episode` without auth dependency \u2014 roster/chronicler/api/router.py:624"}, "properties": {"repobilityId": "f75873b2a2415197", "scanner": "scanner-primary", "fingerprint": "11307c234b7e82ec", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/chronicler/api/router.py"}, "region": {"startLine": 624}}}]}, {"ruleId": "scanner-4ba2ebd231567d2e", "level": "error", "message": {"text": "FastAPI POST `refresh_day_close` without auth dependency \u2014 roster/chronicler/api/router.py:1893"}, "properties": {"repobilityId": "805b2a4bcba54e6f", "scanner": "scanner-primary", "fingerprint": "4ba2ebd231567d2e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/chronicler/api/router.py"}, "region": {"startLine": 1893}}}]}, {"ruleId": "scanner-7a91fb97cea94f21", "level": "error", "message": {"text": "FastAPI POST `receive_heartbeat` without auth dependency \u2014 roster/switchboard/api/router.py:423"}, "properties": {"repobilityId": "7e33f456bbadc356", "scanner": "scanner-primary", "fingerprint": "7a91fb97cea94f21", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 423}}}]}, {"ruleId": "scanner-dba098c039b1bbd5", "level": "error", "message": {"text": "FastAPI POST `set_butler_eligibility` without auth dependency \u2014 roster/switchboard/api/router.py:596"}, "properties": {"repobilityId": "5013ad2423eedf2d", "scanner": "scanner-primary", "fingerprint": "dba098c039b1bbd5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 596}}}]}, {"ruleId": "scanner-e742b7500b09ba83", "level": "error", "message": {"text": "FastAPI DELETE `delete_connector` without auth dependency \u2014 roster/switchboard/api/router.py:1122"}, "properties": {"repobilityId": "e281695a9b1e7597", "scanner": "scanner-primary", "fingerprint": "e742b7500b09ba83", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 1122}}}]}, {"ruleId": "scanner-c858ef3290d8c884", "level": "error", "message": {"text": "FastAPI PATCH `update_connector_cursor` without auth dependency \u2014 roster/switchboard/api/router.py:1191"}, "properties": {"repobilityId": "f7a733ec0fd934c2", "scanner": "scanner-primary", "fingerprint": "c858ef3290d8c884", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 1191}}}]}, {"ruleId": "scanner-9b7cd47e5e3e6247", "level": "error", "message": {"text": "FastAPI PATCH `update_connector_settings` without auth dependency \u2014 roster/switchboard/api/router.py:1273"}, "properties": {"repobilityId": "b4c8a848621b07ff", "scanner": "scanner-primary", "fingerprint": "9b7cd47e5e3e6247", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 1273}}}]}, {"ruleId": "scanner-052695aaf38450a3", "level": "error", "message": {"text": "FastAPI POST `create_backfill_job` without auth dependency \u2014 roster/switchboard/api/router.py:2011"}, "properties": {"repobilityId": "18291e94e177ea7e", "scanner": "scanner-primary", "fingerprint": "052695aaf38450a3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 2011}}}]}, {"ruleId": "scanner-1821f326b7411614", "level": "error", "message": {"text": "FastAPI PATCH `pause_backfill_job` without auth dependency \u2014 roster/switchboard/api/router.py:2119"}, "properties": {"repobilityId": "f7c0bf2b8f13b48f", "scanner": "scanner-primary", "fingerprint": "1821f326b7411614", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 2119}}}]}, {"ruleId": "scanner-aadb1f3286ea217d", "level": "error", "message": {"text": "FastAPI PATCH `cancel_backfill_job` without auth dependency \u2014 roster/switchboard/api/router.py:2185"}, "properties": {"repobilityId": "14ba7a01a9464df3", "scanner": "scanner-primary", "fingerprint": "aadb1f3286ea217d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 2185}}}]}, {"ruleId": "scanner-95b1ddb33b94429f", "level": "error", "message": {"text": "FastAPI PATCH `resume_backfill_job` without auth dependency \u2014 roster/switchboard/api/router.py:2255"}, "properties": {"repobilityId": "d6a5510467aab2d7", "scanner": "scanner-primary", "fingerprint": "95b1ddb33b94429f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 2255}}}]}, {"ruleId": "scanner-4dfda016fa054c85", "level": "error", "message": {"text": "FastAPI PATCH `update_thread_affinity_settings` without auth dependency \u2014 roster/switchboard/api/router.py:2383"}, "properties": {"repobilityId": "45057b05491b3626", "scanner": "scanner-primary", "fingerprint": "4dfda016fa054c85", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 2383}}}]}, {"ruleId": "scanner-5648795f1c267fb5", "level": "error", "message": {"text": "FastAPI PUT `upsert_thread_affinity_override` without auth dependency \u2014 roster/switchboard/api/router.py:2468"}, "properties": {"repobilityId": "165cdcff40422d9f", "scanner": "scanner-primary", "fingerprint": "5648795f1c267fb5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 2468}}}]}, {"ruleId": "scanner-dca70517c6d6a5fe", "level": "error", "message": {"text": "FastAPI DELETE `delete_thread_affinity_override` without auth dependency \u2014 roster/switchboard/api/router.py:2527"}, "properties": {"repobilityId": "d97a99351e50f92b", "scanner": "scanner-primary", "fingerprint": "dca70517c6d6a5fe", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 2527}}}]}, {"ruleId": "scanner-cd42aaec3e52ec21", "level": "error", "message": {"text": "FastAPI POST `create_routing_instruction` without auth dependency \u2014 roster/switchboard/api/router.py:2637"}, "properties": {"repobilityId": "331e26d62c2c2776", "scanner": "scanner-primary", "fingerprint": "cd42aaec3e52ec21", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 2637}}}]}, {"ruleId": "scanner-633663af66abdc4a", "level": "error", "message": {"text": "FastAPI PATCH `update_routing_instruction` without auth dependency \u2014 roster/switchboard/api/router.py:2681"}, "properties": {"repobilityId": "a1e1b2370fa60616", "scanner": "scanner-primary", "fingerprint": "633663af66abdc4a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 2681}}}]}, {"ruleId": "scanner-a445d83e25434a36", "level": "error", "message": {"text": "FastAPI DELETE `delete_routing_instruction` without auth dependency \u2014 roster/switchboard/api/router.py:2780"}, "properties": {"repobilityId": "a3671e27b2165dae", "scanner": "scanner-primary", "fingerprint": "a445d83e25434a36", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 2780}}}]}, {"ruleId": "scanner-dd95d9ee2e268822", "level": "error", "message": {"text": "FastAPI POST `create_ingestion_rule` without auth dependency \u2014 roster/switchboard/api/router.py:2964"}, "properties": {"repobilityId": "b17589e2afa01660", "scanner": "scanner-primary", "fingerprint": "dd95d9ee2e268822", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 2964}}}]}, {"ruleId": "scanner-219f2dc07486d4de", "level": "error", "message": {"text": "FastAPI PATCH `update_ingestion_rule` without auth dependency \u2014 roster/switchboard/api/router.py:3082"}, "properties": {"repobilityId": "4a696f37d1d4b996", "scanner": "scanner-primary", "fingerprint": "219f2dc07486d4de", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 3082}}}]}, {"ruleId": "scanner-d21b977da2afa51b", "level": "error", "message": {"text": "FastAPI DELETE `delete_ingestion_rule` without auth dependency \u2014 roster/switchboard/api/router.py:3241"}, "properties": {"repobilityId": "cde58bd01f6208bc", "scanner": "scanner-primary", "fingerprint": "d21b977da2afa51b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 3241}}}]}, {"ruleId": "scanner-4969fb05f5e80bdd", "level": "error", "message": {"text": "FastAPI POST `test_ingestion_rule` without auth dependency \u2014 roster/switchboard/api/router.py:3293"}, "properties": {"repobilityId": "86d27a620d303ee2", "scanner": "scanner-primary", "fingerprint": "4969fb05f5e80bdd", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 3293}}}]}, {"ruleId": "scanner-12a3413b87415c95", "level": "error", "message": {"text": "FastAPI POST `bulk_ingestion_rules` without auth dependency \u2014 roster/switchboard/api/router.py:3345"}, "properties": {"repobilityId": "8460f3e1b00b9079", "scanner": "scanner-primary", "fingerprint": "12a3413b87415c95", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "roster/switchboard/api/router.py"}, "region": {"startLine": 3345}}}]}, {"ruleId": "scanner-382b7001af75a904", "level": "error", "message": {"text": "FastAPI POST `reload` without auth dependency \u2014 src/butlers/connectors/google_drive.py:1969"}, "properties": {"repobilityId": "3e08e3570c8217c7", "scanner": "scanner-primary", "fingerprint": "382b7001af75a904", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/connectors/google_drive.py"}, "region": {"startLine": 1969}}}]}, {"ruleId": "scanner-46824d852d6b2a0f", "level": "error", "message": {"text": "FastAPI POST `reload_accounts` without auth dependency \u2014 src/butlers/connectors/gmail.py:3448"}, "properties": {"repobilityId": "81c6956d5b7cb7cf", "scanner": "scanner-primary", "fingerprint": "46824d852d6b2a0f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/connectors/gmail.py"}, "region": {"startLine": 3448}}}]}, {"ruleId": "scanner-61f5831a28c45c88", "level": "error", "message": {"text": "FastAPI POST `reload_accounts` without auth dependency \u2014 src/butlers/connectors/google_calendar.py:1999"}, "properties": {"repobilityId": "6cf5a75f2c764b8a", "scanner": "scanner-primary", "fingerprint": "61f5831a28c45c88", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/connectors/google_calendar.py"}, "region": {"startLine": 1999}}}]}, {"ruleId": "scanner-8e04598597f987f3", "level": "error", "message": {"text": "FastAPI PATCH `mark_notification_read` without auth dependency \u2014 src/butlers/api/routers/notifications.py:376"}, "properties": {"repobilityId": "b944adb4c534eb01", "scanner": "scanner-primary", "fingerprint": "8e04598597f987f3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/notifications.py"}, "region": {"startLine": 376}}}]}, {"ruleId": "scanner-7305a947cc90064a", "level": "error", "message": {"text": "FastAPI POST `ack_failed_notifications` without auth dependency \u2014 src/butlers/api/routers/notifications.py:455"}, "properties": {"repobilityId": "861defb4b63bd834", "scanner": "scanner-primary", "fingerprint": "7305a947cc90064a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/notifications.py"}, "region": {"startLine": 455}}}]}, {"ruleId": "scanner-b0e92072e5e2154e", "level": "error", "message": {"text": "FastAPI POST `pause_connector` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:337"}, "properties": {"repobilityId": "929a4b806d7841dd", "scanner": "scanner-primary", "fingerprint": "b0e92072e5e2154e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/ingestion_connectors.py"}, "region": {"startLine": 337}}}]}, {"ruleId": "scanner-e627af56ebdfd396", "level": "error", "message": {"text": "FastAPI POST `run_now_connector` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:423"}, "properties": {"repobilityId": "6051db67869a0e64", "scanner": "scanner-primary", "fingerprint": "e627af56ebdfd396", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/ingestion_connectors.py"}, "region": {"startLine": 423}}}]}, {"ruleId": "scanner-c5db30e472ca3763", "level": "error", "message": {"text": "FastAPI POST `disconnect_connector` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:566"}, "properties": {"repobilityId": "d5599020368ea724", "scanner": "scanner-primary", "fingerprint": "c5db30e472ca3763", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/ingestion_connectors.py"}, "region": {"startLine": 566}}}]}, {"ruleId": "scanner-1c0a9ad1ce0a57a3", "level": "error", "message": {"text": "FastAPI POST `rotate_connector_token` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:699"}, "properties": {"repobilityId": "5e85f8c011aeb17b", "scanner": "scanner-primary", "fingerprint": "1c0a9ad1ce0a57a3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/ingestion_connectors.py"}, "region": {"startLine": 699}}}]}, {"ruleId": "scanner-d35c54022ebe85d3", "level": "error", "message": {"text": "FastAPI POST `reauth_connector` without auth dependency \u2014 src/butlers/api/routers/ingestion_connectors.py:836"}, "properties": {"repobilityId": "c7f7c0af23eefa1c", "scanner": "scanner-primary", "fingerprint": "d35c54022ebe85d3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/ingestion_connectors.py"}, "region": {"startLine": 836}}}]}, {"ruleId": "scanner-b4cc5b66fffd2ef1", "level": "error", "message": {"text": "FastAPI POST `bulk_retry_ingestion_events` without auth dependency \u2014 src/butlers/api/routers/ingestion_events.py:385"}, "properties": {"repobilityId": "399494dfe6895c6b", "scanner": "scanner-primary", "fingerprint": "b4cc5b66fffd2ef1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/ingestion_events.py"}, "region": {"startLine": 385}}}]}, {"ruleId": "scanner-f0a03f77f372f081", "level": "error", "message": {"text": "FastAPI POST `replay_ingestion_event` without auth dependency \u2014 src/butlers/api/routers/ingestion_events.py:599"}, "properties": {"repobilityId": "7a3b424d9ed939b7", "scanner": "scanner-primary", "fingerprint": "f0a03f77f372f081", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/ingestion_events.py"}, "region": {"startLine": 599}}}]}, {"ruleId": "scanner-aa2d778524185370", "level": "error", "message": {"text": "FastAPI POST `add_priority_contact` without auth dependency \u2014 src/butlers/api/routers/priority_contacts.py:238"}, "properties": {"repobilityId": "69ed834616ae7b8b", "scanner": "scanner-primary", "fingerprint": "aa2d778524185370", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/priority_contacts.py"}, "region": {"startLine": 238}}}]}, {"ruleId": "scanner-83fbd7a9ac376bb9", "level": "error", "message": {"text": "FastAPI DELETE `remove_priority_contact` without auth dependency \u2014 src/butlers/api/routers/priority_contacts.py:343"}, "properties": {"repobilityId": "a31dc9a91215c663", "scanner": "scanner-primary", "fingerprint": "83fbd7a9ac376bb9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/priority_contacts.py"}, "region": {"startLine": 343}}}]}, {"ruleId": "scanner-caf7225ee501f789", "level": "error", "message": {"text": "FastAPI PUT `update_butler_prompt` without auth dependency \u2014 src/butlers/api/routers/butler_management.py:198"}, "properties": {"repobilityId": "3df5883520a9f42b", "scanner": "scanner-primary", "fingerprint": "caf7225ee501f789", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/butler_management.py"}, "region": {"startLine": 198}}}]}, {"ruleId": "scanner-fd8523f8f0b547e9", "level": "error", "message": {"text": "FastAPI PUT `update_butler_tool` without auth dependency \u2014 src/butlers/api/routers/butler_management.py:354"}, "properties": {"repobilityId": "83d8216c7b8b6770", "scanner": "scanner-primary", "fingerprint": "fd8523f8f0b547e9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/butler_management.py"}, "region": {"startLine": 354}}}]}, {"ruleId": "scanner-e00c9aba21b56498", "level": "error", "message": {"text": "FastAPI POST `kill_butler` without auth dependency \u2014 src/butlers/api/routers/butler_management.py:477"}, "properties": {"repobilityId": "74742fd8cda035dd", "scanner": "scanner-primary", "fingerprint": "e00c9aba21b56498", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/butler_management.py"}, "region": {"startLine": 477}}}]}, {"ruleId": "scanner-b957886e41ecf33d", "level": "error", "message": {"text": "FastAPI PUT `set_module_enabled` without auth dependency \u2014 src/butlers/api/routers/modules.py:174"}, "properties": {"repobilityId": "048b3332a5c9a60e", "scanner": "scanner-primary", "fingerprint": "b957886e41ecf33d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/modules.py"}, "region": {"startLine": 174}}}]}, {"ruleId": "scanner-792872810859a88e", "level": "error", "message": {"text": "FastAPI PUT `set_primary_calendar` without auth dependency \u2014 src/butlers/api/routers/calendar_workspace.py:794"}, "properties": {"repobilityId": "93e05c6a1a73fb9e", "scanner": "scanner-primary", "fingerprint": "792872810859a88e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/calendar_workspace.py"}, "region": {"startLine": 794}}}]}, {"ruleId": "scanner-a6dd99d76f0f7524", "level": "error", "message": {"text": "FastAPI POST `sync_workspace` without auth dependency \u2014 src/butlers/api/routers/calendar_workspace.py:821"}, "properties": {"repobilityId": "d3afd6c0e714caa5", "scanner": "scanner-primary", "fingerprint": "a6dd99d76f0f7524", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/calendar_workspace.py"}, "region": {"startLine": 821}}}]}, {"ruleId": "scanner-f8c8bc3c5e5f57dd", "level": "error", "message": {"text": "FastAPI POST `mutate_user_event` without auth dependency \u2014 src/butlers/api/routers/calendar_workspace.py:1018"}, "properties": {"repobilityId": "f059788090f16913", "scanner": "scanner-primary", "fingerprint": "f8c8bc3c5e5f57dd", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/calendar_workspace.py"}, "region": {"startLine": 1018}}}]}, {"ruleId": "scanner-80866b53d4b3e6ed", "level": "error", "message": {"text": "FastAPI POST `mutate_butler_event` without auth dependency \u2014 src/butlers/api/routers/calendar_workspace.py:1079"}, "properties": {"repobilityId": "00b8fce6bb5e5a6e", "scanner": "scanner-primary", "fingerprint": "80866b53d4b3e6ed", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/calendar_workspace.py"}, "region": {"startLine": 1079}}}]}, {"ruleId": "scanner-f10649d48bccd5b1", "level": "error", "message": {"text": "FastAPI POST `retry_healing_attempt` without auth dependency \u2014 src/butlers/api/routers/healing.py:451"}, "properties": {"repobilityId": "434339dee57e6ef5", "scanner": "scanner-primary", "fingerprint": "f10649d48bccd5b1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/healing.py"}, "region": {"startLine": 451}}}]}, {"ruleId": "scanner-dccbf60e7ca8bc9f", "level": "error", "message": {"text": "FastAPI POST `reset_circuit_breaker` without auth dependency \u2014 src/butlers/api/routers/healing.py:657"}, "properties": {"repobilityId": "8d99c55221aeafb6", "scanner": "scanner-primary", "fingerprint": "dccbf60e7ca8bc9f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/healing.py"}, "region": {"startLine": 657}}}]}, {"ruleId": "scanner-8455c6df6f68f950", "level": "error", "message": {"text": "FastAPI POST `create_spend_rule` without auth dependency \u2014 src/butlers/api/routers/spend.py:1196"}, "properties": {"repobilityId": "4f754814b4497a75", "scanner": "scanner-primary", "fingerprint": "8455c6df6f68f950", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/spend.py"}, "region": {"startLine": 1196}}}]}, {"ruleId": "scanner-872f4f7174176477", "level": "error", "message": {"text": "FastAPI PUT `update_spend_rule` without auth dependency \u2014 src/butlers/api/routers/spend.py:1277"}, "properties": {"repobilityId": "cef845aa0f3d4a1b", "scanner": "scanner-primary", "fingerprint": "872f4f7174176477", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/spend.py"}, "region": {"startLine": 1277}}}]}, {"ruleId": "scanner-77db26c3de824efc", "level": "error", "message": {"text": "FastAPI DELETE `delete_spend_rule` without auth dependency \u2014 src/butlers/api/routers/spend.py:1387"}, "properties": {"repobilityId": "142f83a7858cf90b", "scanner": "scanner-primary", "fingerprint": "77db26c3de824efc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/spend.py"}, "region": {"startLine": 1387}}}]}, {"ruleId": "scanner-4e2730dded4f9f35", "level": "error", "message": {"text": "FastAPI PUT `update_spend_ceiling` without auth dependency \u2014 src/butlers/api/routers/spend.py:1451"}, "properties": {"repobilityId": "9006298499027480", "scanner": "scanner-primary", "fingerprint": "4e2730dded4f9f35", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/spend.py"}, "region": {"startLine": 1451}}}]}, {"ruleId": "scanner-deb022af562c5f58", "level": "error", "message": {"text": "FastAPI PATCH `upsert_channel_default` without auth dependency \u2014 src/butlers/api/routers/channel_defaults.py:172"}, "properties": {"repobilityId": "e7d2c961ca75323c", "scanner": "scanner-primary", "fingerprint": "deb022af562c5f58", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/channel_defaults.py"}, "region": {"startLine": 172}}}]}, {"ruleId": "scanner-6434cffaecb0c5e9", "level": "error", "message": {"text": "FastAPI DELETE `delete_channel_default_not_allowed` without auth dependency \u2014 src/butlers/api/routers/channel_defaults.py:247"}, "properties": {"repobilityId": "9c2bad0635cc5d80", "scanner": "scanner-primary", "fingerprint": "6434cffaecb0c5e9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/channel_defaults.py"}, "region": {"startLine": 247}}}]}, {"ruleId": "scanner-e71f64a1ec190468", "level": "error", "message": {"text": "FastAPI PATCH `patch_runtime_config` without auth dependency \u2014 src/butlers/api/routers/runtime_config.py:146"}, "properties": {"repobilityId": "0bfb0238f565b124", "scanner": "scanner-primary", "fingerprint": "e71f64a1ec190468", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/runtime_config.py"}, "region": {"startLine": 146}}}]}, {"ruleId": "scanner-576aa4e1bb494692", "level": "error", "message": {"text": "FastAPI POST `send_code` without auth dependency \u2014 src/butlers/api/routers/telegram_auth.py:175"}, "properties": {"repobilityId": "a84d9c313543fcee", "scanner": "scanner-primary", "fingerprint": "576aa4e1bb494692", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/telegram_auth.py"}, "region": {"startLine": 175}}}]}, {"ruleId": "scanner-9a570f14065a7bed", "level": "error", "message": {"text": "FastAPI POST `verify_code` without auth dependency \u2014 src/butlers/api/routers/telegram_auth.py:231"}, "properties": {"repobilityId": "a0e6be0cda28157f", "scanner": "scanner-primary", "fingerprint": "9a570f14065a7bed", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/telegram_auth.py"}, "region": {"startLine": 231}}}]}, {"ruleId": "scanner-e37bd3c13510021a", "level": "error", "message": {"text": "FastAPI POST `create_conversation` without auth dependency \u2014 src/butlers/api/routers/conversations.py:489"}, "properties": {"repobilityId": "2461d3eab99077c1", "scanner": "scanner-primary", "fingerprint": "e37bd3c13510021a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/conversations.py"}, "region": {"startLine": 489}}}]}, {"ruleId": "scanner-c22219f81aff0e5c", "level": "error", "message": {"text": "FastAPI POST `send_message` without auth dependency \u2014 src/butlers/api/routers/conversations.py:605"}, "properties": {"repobilityId": "9e12b03512b99523", "scanner": "scanner-primary", "fingerprint": "c22219f81aff0e5c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/conversations.py"}, "region": {"startLine": 605}}}]}, {"ruleId": "scanner-9eea2bad1359861b", "level": "error", "message": {"text": "FastAPI PATCH `update_conversation` without auth dependency \u2014 src/butlers/api/routers/conversations.py:688"}, "properties": {"repobilityId": "6cae4ecfab30d8c9", "scanner": "scanner-primary", "fingerprint": "9eea2bad1359861b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/conversations.py"}, "region": {"startLine": 688}}}]}, {"ruleId": "scanner-a019f418def89c42", "level": "error", "message": {"text": "FastAPI POST `connect_steam_account` without auth dependency \u2014 src/butlers/api/routers/steam.py:279"}, "properties": {"repobilityId": "70007b05556bbd7b", "scanner": "scanner-primary", "fingerprint": "a019f418def89c42", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/steam.py"}, "region": {"startLine": 279}}}]}, {"ruleId": "scanner-055dd53e16b3dcfb", "level": "error", "message": {"text": "FastAPI DELETE `disconnect_steam_account` without auth dependency \u2014 src/butlers/api/routers/steam.py:419"}, "properties": {"repobilityId": "617b1e28346f79fe", "scanner": "scanner-primary", "fingerprint": "055dd53e16b3dcfb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/steam.py"}, "region": {"startLine": 419}}}]}, {"ruleId": "scanner-355c042bd7279d2d", "level": "error", "message": {"text": "FastAPI PUT `set_primary_steam_account` without auth dependency \u2014 src/butlers/api/routers/steam.py:493"}, "properties": {"repobilityId": "7686bcd0b59195e6", "scanner": "scanner-primary", "fingerprint": "355c042bd7279d2d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/steam.py"}, "region": {"startLine": 493}}}]}, {"ruleId": "scanner-9686ec330c5e1934", "level": "error", "message": {"text": "FastAPI POST `test_blob_storage` without auth dependency \u2014 src/butlers/api/routers/blob_storage.py:133"}, "properties": {"repobilityId": "113d92ba2c9db8b5", "scanner": "scanner-primary", "fingerprint": "9686ec330c5e1934", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/blob_storage.py"}, "region": {"startLine": 133}}}]}, {"ruleId": "scanner-cc24dc4838508605", "level": "error", "message": {"text": "FastAPI POST `confirm_fact` without auth dependency \u2014 src/butlers/api/routers/memory.py:571"}, "properties": {"repobilityId": "23f1fecc5e9e1a2c", "scanner": "scanner-primary", "fingerprint": "cc24dc4838508605", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/memory.py"}, "region": {"startLine": 571}}}]}, {"ruleId": "scanner-d2cc1b16558683db", "level": "error", "message": {"text": "FastAPI POST `retract_fact` without auth dependency \u2014 src/butlers/api/routers/memory.py:630"}, "properties": {"repobilityId": "b768d48b40c4ec62", "scanner": "scanner-primary", "fingerprint": "d2cc1b16558683db", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/memory.py"}, "region": {"startLine": 630}}}]}, {"ruleId": "scanner-72465ecc23c02e54", "level": "error", "message": {"text": "FastAPI PATCH `update_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1245"}, "properties": {"repobilityId": "c63eef699813f26b", "scanner": "scanner-primary", "fingerprint": "72465ecc23c02e54", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/memory.py"}, "region": {"startLine": 1245}}}]}, {"ruleId": "scanner-25ae5919e3a5413d", "level": "error", "message": {"text": "FastAPI PUT `set_linked_contact` without auth dependency \u2014 src/butlers/api/routers/memory.py:1346"}, "properties": {"repobilityId": "99eb6ed3f5ebe540", "scanner": "scanner-primary", "fingerprint": "25ae5919e3a5413d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/memory.py"}, "region": {"startLine": 1346}}}]}, {"ruleId": "scanner-73e3683cce1662c3", "level": "error", "message": {"text": "FastAPI DELETE `delete_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1424"}, "properties": {"repobilityId": "a455b88652360b5f", "scanner": "scanner-primary", "fingerprint": "73e3683cce1662c3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/memory.py"}, "region": {"startLine": 1424}}}]}, {"ruleId": "scanner-e3f81fb644d0d8a4", "level": "error", "message": {"text": "FastAPI POST `archive_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1517"}, "properties": {"repobilityId": "5ee0209f9012229d", "scanner": "scanner-primary", "fingerprint": "e3f81fb644d0d8a4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/memory.py"}, "region": {"startLine": 1517}}}]}, {"ruleId": "scanner-a74401f3dd12a38d", "level": "error", "message": {"text": "FastAPI POST `unarchive_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1565"}, "properties": {"repobilityId": "d355605dee24d298", "scanner": "scanner-primary", "fingerprint": "a74401f3dd12a38d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/memory.py"}, "region": {"startLine": 1565}}}]}, {"ruleId": "scanner-c81e6ec610246fc3", "level": "error", "message": {"text": "FastAPI DELETE `unlink_contact` without auth dependency \u2014 src/butlers/api/routers/memory.py:1597"}, "properties": {"repobilityId": "b9da3ae0c20e873a", "scanner": "scanner-primary", "fingerprint": "c81e6ec610246fc3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/memory.py"}, "region": {"startLine": 1597}}}]}, {"ruleId": "scanner-4ee00d9cb6e67802", "level": "error", "message": {"text": "FastAPI POST `promote_entity` without auth dependency \u2014 src/butlers/api/routers/memory.py:1619"}, "properties": {"repobilityId": "20bf27a5430f0818", "scanner": "scanner-primary", "fingerprint": "4ee00d9cb6e67802", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/memory.py"}, "region": {"startLine": 1619}}}]}, {"ruleId": "scanner-8df69b4bdf0d3754", "level": "error", "message": {"text": "FastAPI PUT `update_retention_policies` without auth dependency \u2014 src/butlers/api/routers/memory.py:1911"}, "properties": {"repobilityId": "5ad807a6ab07dad2", "scanner": "scanner-primary", "fingerprint": "8df69b4bdf0d3754", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/memory.py"}, "region": {"startLine": 1911}}}]}, {"ruleId": "scanner-d946c03e10478b10", "level": "error", "message": {"text": "FastAPI POST `run_reembed` without auth dependency \u2014 src/butlers/api/routers/memory.py:2244"}, "properties": {"repobilityId": "3fa9511d650d9d10", "scanner": "scanner-primary", "fingerprint": "d946c03e10478b10", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/memory.py"}, "region": {"startLine": 2244}}}]}, {"ruleId": "scanner-30993b316d7a3ca7", "level": "error", "message": {"text": "FastAPI POST `create_saved_view` without auth dependency \u2014 src/butlers/api/routers/timeline_saved_views.py:161"}, "properties": {"repobilityId": "516a213da991904c", "scanner": "scanner-primary", "fingerprint": "30993b316d7a3ca7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/timeline_saved_views.py"}, "region": {"startLine": 161}}}]}, {"ruleId": "scanner-b6b48c57e382b4f5", "level": "error", "message": {"text": "FastAPI PATCH `update_saved_view` without auth dependency \u2014 src/butlers/api/routers/timeline_saved_views.py:186"}, "properties": {"repobilityId": "f9723547a1e2fcbd", "scanner": "scanner-primary", "fingerprint": "b6b48c57e382b4f5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/timeline_saved_views.py"}, "region": {"startLine": 186}}}]}, {"ruleId": "scanner-e7d766933d199333", "level": "error", "message": {"text": "FastAPI DELETE `delete_saved_view` without auth dependency \u2014 src/butlers/api/routers/timeline_saved_views.py:249"}, "properties": {"repobilityId": "8bb789b3337c1a95", "scanner": "scanner-primary", "fingerprint": "e7d766933d199333", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/timeline_saved_views.py"}, "region": {"startLine": 249}}}]}, {"ruleId": "scanner-9dff2cf9b066fd6c", "level": "error", "message": {"text": "FastAPI POST `start_whatsapp_pairing` without auth dependency \u2014 src/butlers/api/routers/whatsapp.py:225"}, "properties": {"repobilityId": "a43070cc05a9bcb7", "scanner": "scanner-primary", "fingerprint": "9dff2cf9b066fd6c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/whatsapp.py"}, "region": {"startLine": 225}}}]}, {"ruleId": "scanner-63287fb8d19bc0ba", "level": "error", "message": {"text": "FastAPI POST `disconnect_whatsapp` without auth dependency \u2014 src/butlers/api/routers/whatsapp.py:309"}, "properties": {"repobilityId": "4c74e68c22cbb4c5", "scanner": "scanner-primary", "fingerprint": "63287fb8d19bc0ba", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/whatsapp.py"}, "region": {"startLine": 309}}}]}, {"ruleId": "scanner-25baa64d9a9d4e53", "level": "error", "message": {"text": "FastAPI POST `create_webhook` without auth dependency \u2014 src/butlers/api/routers/webhooks.py:256"}, "properties": {"repobilityId": "0183ddf0c687dd42", "scanner": "scanner-primary", "fingerprint": "25baa64d9a9d4e53", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/webhooks.py"}, "region": {"startLine": 256}}}]}, {"ruleId": "scanner-51a8788b389a92d9", "level": "error", "message": {"text": "FastAPI PUT `update_webhook` without auth dependency \u2014 src/butlers/api/routers/webhooks.py:331"}, "properties": {"repobilityId": "b71db5c42b99cf85", "scanner": "scanner-primary", "fingerprint": "51a8788b389a92d9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/webhooks.py"}, "region": {"startLine": 331}}}]}, {"ruleId": "scanner-68ab122580234744", "level": "error", "message": {"text": "FastAPI DELETE `delete_webhook` without auth dependency \u2014 src/butlers/api/routers/webhooks.py:404"}, "properties": {"repobilityId": "b45e7452a8b95b46", "scanner": "scanner-primary", "fingerprint": "68ab122580234744", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/webhooks.py"}, "region": {"startLine": 404}}}]}, {"ruleId": "scanner-e8d60303b2be8dc4", "level": "error", "message": {"text": "FastAPI POST `test_webhook` without auth dependency \u2014 src/butlers/api/routers/webhooks.py:434"}, "properties": {"repobilityId": "2a3bdfc52f08f6be", "scanner": "scanner-primary", "fingerprint": "e8d60303b2be8dc4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/webhooks.py"}, "region": {"startLine": 434}}}]}, {"ruleId": "scanner-bf2a2900a5ebe25c", "level": "error", "message": {"text": "FastAPI POST `call_butler_mcp_tool` without auth dependency \u2014 src/butlers/api/routers/butlers.py:596"}, "properties": {"repobilityId": "c9ac02876caad3da", "scanner": "scanner-primary", "fingerprint": "bf2a2900a5ebe25c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/butlers.py"}, "region": {"startLine": 596}}}]}, {"ruleId": "scanner-04d71a6b540c5fee", "level": "error", "message": {"text": "FastAPI POST `trigger_butler` without auth dependency \u2014 src/butlers/api/routers/butlers.py:862"}, "properties": {"repobilityId": "01b7735a4ed12c04", "scanner": "scanner-primary", "fingerprint": "04d71a6b540c5fee", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/butlers.py"}, "region": {"startLine": 862}}}]}, {"ruleId": "scanner-1e3227e5ee705828", "level": "error", "message": {"text": "FastAPI POST `force_butler_tick` without auth dependency \u2014 src/butlers/api/routers/butlers.py:951"}, "properties": {"repobilityId": "aa70eb047837183b", "scanner": "scanner-primary", "fingerprint": "1e3227e5ee705828", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/butlers.py"}, "region": {"startLine": 951}}}]}, {"ruleId": "scanner-59d27bf815c6bdfe", "level": "error", "message": {"text": "FastAPI POST `configure_ha` without auth dependency \u2014 src/butlers/api/routers/home_assistant.py:248"}, "properties": {"repobilityId": "000ab6c6cdd645ba", "scanner": "scanner-primary", "fingerprint": "59d27bf815c6bdfe", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/home_assistant.py"}, "region": {"startLine": 248}}}]}, {"ruleId": "scanner-c59d5b54e2e922b6", "level": "error", "message": {"text": "FastAPI DELETE `delete_ha_config` without auth dependency \u2014 src/butlers/api/routers/home_assistant.py:298"}, "properties": {"repobilityId": "d6c21040ccaeddf9", "scanner": "scanner-primary", "fingerprint": "c59d5b54e2e922b6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/home_assistant.py"}, "region": {"startLine": 298}}}]}, {"ruleId": "scanner-4a67d12971f1a513", "level": "error", "message": {"text": "FastAPI DELETE `disconnect_google_health` without auth dependency \u2014 src/butlers/api/routers/google_health.py:858"}, "properties": {"repobilityId": "df8ad79a6dfc77f7", "scanner": "scanner-primary", "fingerprint": "4a67d12971f1a513", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/google_health.py"}, "region": {"startLine": 858}}}]}, {"ruleId": "scanner-27668fa6a668eb8c", "level": "error", "message": {"text": "FastAPI POST `create_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:178"}, "properties": {"repobilityId": "5a6b9c2bed36d1f3", "scanner": "scanner-primary", "fingerprint": "27668fa6a668eb8c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/schedules.py"}, "region": {"startLine": 178}}}]}, {"ruleId": "scanner-0c008d90a56c73d2", "level": "error", "message": {"text": "FastAPI PUT `update_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:233"}, "properties": {"repobilityId": "e9c586bda6777f10", "scanner": "scanner-primary", "fingerprint": "0c008d90a56c73d2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/schedules.py"}, "region": {"startLine": 233}}}]}, {"ruleId": "scanner-5fc9ddb7be43a810", "level": "error", "message": {"text": "FastAPI DELETE `delete_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:273"}, "properties": {"repobilityId": "af6a63585b7532b3", "scanner": "scanner-primary", "fingerprint": "5fc9ddb7be43a810", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/schedules.py"}, "region": {"startLine": 273}}}]}, {"ruleId": "scanner-8d134685b6a6d33a", "level": "error", "message": {"text": "FastAPI POST `trigger_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:301"}, "properties": {"repobilityId": "a5e51614d5411238", "scanner": "scanner-primary", "fingerprint": "8d134685b6a6d33a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/schedules.py"}, "region": {"startLine": 301}}}]}, {"ruleId": "scanner-e5bc327589662356", "level": "error", "message": {"text": "FastAPI PATCH `toggle_schedule` without auth dependency \u2014 src/butlers/api/routers/schedules.py:324"}, "properties": {"repobilityId": "77a8e2f4ccec0fda", "scanner": "scanner-primary", "fingerprint": "e5bc327589662356", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/schedules.py"}, "region": {"startLine": 324}}}]}, {"ruleId": "scanner-b7816a60d6342744", "level": "error", "message": {"text": "FastAPI POST `update_spotify_config` without auth dependency \u2014 src/butlers/api/routers/spotify.py:414"}, "properties": {"repobilityId": "9882b7dcf0c2093f", "scanner": "scanner-primary", "fingerprint": "b7816a60d6342744", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/spotify.py"}, "region": {"startLine": 414}}}]}, {"ruleId": "scanner-9a26b9b13d82f5aa", "level": "error", "message": {"text": "FastAPI POST `start_spotify_oauth` without auth dependency \u2014 src/butlers/api/routers/spotify.py:450"}, "properties": {"repobilityId": "347fbe6ed03b8a8b", "scanner": "scanner-primary", "fingerprint": "9a26b9b13d82f5aa", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/spotify.py"}, "region": {"startLine": 450}}}]}, {"ruleId": "scanner-918e118a23346007", "level": "error", "message": {"text": "FastAPI POST `disconnect_spotify` without auth dependency \u2014 src/butlers/api/routers/spotify.py:746"}, "properties": {"repobilityId": "a178b86eda391877", "scanner": "scanner-primary", "fingerprint": "918e118a23346007", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/spotify.py"}, "region": {"startLine": 746}}}]}, {"ruleId": "scanner-1143a27d17371bb9", "level": "error", "message": {"text": "FastAPI PUT `upsert_secret` without auth dependency \u2014 src/butlers/api/routers/secrets.py:184"}, "properties": {"repobilityId": "f19b114d041c982e", "scanner": "scanner-primary", "fingerprint": "1143a27d17371bb9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/secrets.py"}, "region": {"startLine": 184}}}]}, {"ruleId": "scanner-347d9d5d74d642d9", "level": "error", "message": {"text": "FastAPI DELETE `delete_secret` without auth dependency \u2014 src/butlers/api/routers/secrets.py:253"}, "properties": {"repobilityId": "a940e8be6ad9d6cf", "scanner": "scanner-primary", "fingerprint": "347d9d5d74d642d9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/secrets.py"}, "region": {"startLine": 253}}}]}, {"ruleId": "scanner-911c50f28f1d1c11", "level": "error", "message": {"text": "FastAPI POST `dismiss_issue` without auth dependency \u2014 src/butlers/api/routers/issues.py:219"}, "properties": {"repobilityId": "895ef8c90ab7ae58", "scanner": "scanner-primary", "fingerprint": "911c50f28f1d1c11", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/issues.py"}, "region": {"startLine": 219}}}]}, {"ruleId": "scanner-3602acdb35bbb5bb", "level": "error", "message": {"text": "FastAPI DELETE `undismiss_issue` without auth dependency \u2014 src/butlers/api/routers/issues.py:252"}, "properties": {"repobilityId": "cf4c47d48dee21c5", "scanner": "scanner-primary", "fingerprint": "3602acdb35bbb5bb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/issues.py"}, "region": {"startLine": 252}}}]}, {"ruleId": "scanner-13e3d077ebb16101", "level": "error", "message": {"text": "FastAPI POST `export_data` without auth dependency \u2014 src/butlers/api/routers/data_ops.py:181"}, "properties": {"repobilityId": "ef139722a82c6bdd", "scanner": "scanner-primary", "fingerprint": "13e3d077ebb16101", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/data_ops.py"}, "region": {"startLine": 181}}}]}, {"ruleId": "scanner-3a6c82cd0e8fbabd", "level": "error", "message": {"text": "FastAPI DELETE `wipe_data` without auth dependency \u2014 src/butlers/api/routers/data_ops.py:300"}, "properties": {"repobilityId": "b0d7f8f40b16d915", "scanner": "scanner-primary", "fingerprint": "3a6c82cd0e8fbabd", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/data_ops.py"}, "region": {"startLine": 300}}}]}, {"ruleId": "scanner-bc7b05da62d2f92a", "level": "error", "message": {"text": "FastAPI PUT `set_state` without auth dependency \u2014 src/butlers/api/routers/state.py:119"}, "properties": {"repobilityId": "05860646f4689cae", "scanner": "scanner-primary", "fingerprint": "bc7b05da62d2f92a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/state.py"}, "region": {"startLine": 119}}}]}, {"ruleId": "scanner-194c96d625a489d5", "level": "error", "message": {"text": "FastAPI DELETE `delete_state` without auth dependency \u2014 src/butlers/api/routers/state.py:152"}, "properties": {"repobilityId": "77b8d20c7717792e", "scanner": "scanner-primary", "fingerprint": "194c96d625a489d5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/state.py"}, "region": {"startLine": 152}}}]}, {"ruleId": "scanner-e2a40f1b9076fc00", "level": "error", "message": {"text": "FastAPI POST `dismiss_known_issue` without auth dependency \u2014 src/butlers/api/routers/qa.py:2280"}, "properties": {"repobilityId": "38d19d3cebc5e79a", "scanner": "scanner-primary", "fingerprint": "e2a40f1b9076fc00", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/qa.py"}, "region": {"startLine": 2280}}}]}, {"ruleId": "scanner-5d7a5a6ea09f69e6", "level": "error", "message": {"text": "FastAPI DELETE `undismiss_known_issue` without auth dependency \u2014 src/butlers/api/routers/qa.py:2330"}, "properties": {"repobilityId": "01ce302d0738d0b4", "scanner": "scanner-primary", "fingerprint": "5d7a5a6ea09f69e6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/qa.py"}, "region": {"startLine": 2330}}}]}, {"ruleId": "scanner-d7e2cb823d00ee53", "level": "error", "message": {"text": "FastAPI POST `force_patrol` without auth dependency \u2014 src/butlers/api/routers/qa.py:2563"}, "properties": {"repobilityId": "c70677cc260d2c44", "scanner": "scanner-primary", "fingerprint": "d7e2cb823d00ee53", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/qa.py"}, "region": {"startLine": 2563}}}]}, {"ruleId": "scanner-64696adf2f730559", "level": "error", "message": {"text": "FastAPI POST `create_synthetic_finding` without auth dependency \u2014 src/butlers/api/routers/qa.py:2631"}, "properties": {"repobilityId": "c250971d2e049845", "scanner": "scanner-primary", "fingerprint": "64696adf2f730559", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/qa.py"}, "region": {"startLine": 2631}}}]}, {"ruleId": "scanner-132fe28467b6cc5e", "level": "error", "message": {"text": "FastAPI DELETE `delete_dismissal` without auth dependency \u2014 src/butlers/api/routers/qa.py:2785"}, "properties": {"repobilityId": "0444de6432bf6bad", "scanner": "scanner-primary", "fingerprint": "132fe28467b6cc5e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/qa.py"}, "region": {"startLine": 2785}}}]}, {"ruleId": "scanner-9b1c02658aa044fc", "level": "error", "message": {"text": "FastAPI POST `create_allowed_repo` without auth dependency \u2014 src/butlers/api/routers/qa.py:2867"}, "properties": {"repobilityId": "084089c549744f71", "scanner": "scanner-primary", "fingerprint": "9b1c02658aa044fc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/qa.py"}, "region": {"startLine": 2867}}}]}, {"ruleId": "scanner-e168a4d7a3fd2aeb", "level": "error", "message": {"text": "FastAPI PATCH `patch_allowed_repo` without auth dependency \u2014 src/butlers/api/routers/qa.py:2929"}, "properties": {"repobilityId": "cd6523f89b9f2d70", "scanner": "scanner-primary", "fingerprint": "e168a4d7a3fd2aeb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/qa.py"}, "region": {"startLine": 2929}}}]}, {"ruleId": "scanner-26e31f825d090fc2", "level": "error", "message": {"text": "FastAPI DELETE `delete_allowed_repo` without auth dependency \u2014 src/butlers/api/routers/qa.py:2969"}, "properties": {"repobilityId": "109de42ab8e98028", "scanner": "scanner-primary", "fingerprint": "26e31f825d090fc2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/qa.py"}, "region": {"startLine": 2969}}}]}, {"ruleId": "scanner-d49d60fa7b8ec2b3", "level": "error", "message": {"text": "FastAPI POST `reset_circuit_breaker` without auth dependency \u2014 src/butlers/api/routers/qa.py:3050"}, "properties": {"repobilityId": "fcd1d715056c856d", "scanner": "scanner-primary", "fingerprint": "d49d60fa7b8ec2b3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/qa.py"}, "region": {"startLine": 3050}}}]}, {"ruleId": "scanner-89ebc66a99fa1b5b", "level": "error", "message": {"text": "FastAPI PUT `update_repo_config` without auth dependency \u2014 src/butlers/api/routers/qa.py:3158"}, "properties": {"repobilityId": "0b81076d01153f3b", "scanner": "scanner-primary", "fingerprint": "89ebc66a99fa1b5b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/qa.py"}, "region": {"startLine": 3158}}}]}, {"ruleId": "scanner-c1d24422df11df71", "level": "error", "message": {"text": "FastAPI POST `sync_repo` without auth dependency \u2014 src/butlers/api/routers/qa.py:3193"}, "properties": {"repobilityId": "282eb19a61b7f1ea", "scanner": "scanner-primary", "fingerprint": "c1d24422df11df71", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/qa.py"}, "region": {"startLine": 3193}}}]}, {"ruleId": "scanner-edb9d91b362c7883", "level": "error", "message": {"text": "FastAPI PUT `update_general_settings` without auth dependency \u2014 src/butlers/api/routers/general_settings.py:102"}, "properties": {"repobilityId": "6a813572e081adbb", "scanner": "scanner-primary", "fingerprint": "edb9d91b362c7883", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/general_settings.py"}, "region": {"startLine": 102}}}]}, {"ruleId": "scanner-63ddbec3248218bf", "level": "error", "message": {"text": "FastAPI POST `create_provider` without auth dependency \u2014 src/butlers/api/routers/provider_settings.py:158"}, "properties": {"repobilityId": "85eaf8e85188542f", "scanner": "scanner-primary", "fingerprint": "63ddbec3248218bf", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/provider_settings.py"}, "region": {"startLine": 158}}}]}, {"ruleId": "scanner-4f6d423be68118e1", "level": "error", "message": {"text": "FastAPI PUT `update_provider` without auth dependency \u2014 src/butlers/api/routers/provider_settings.py:199"}, "properties": {"repobilityId": "bcc57b851a13522e", "scanner": "scanner-primary", "fingerprint": "4f6d423be68118e1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/provider_settings.py"}, "region": {"startLine": 199}}}]}, {"ruleId": "scanner-a735866ef780d8f5", "level": "error", "message": {"text": "FastAPI DELETE `delete_provider` without auth dependency \u2014 src/butlers/api/routers/provider_settings.py:254"}, "properties": {"repobilityId": "4cd3c3dd33299642", "scanner": "scanner-primary", "fingerprint": "a735866ef780d8f5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/provider_settings.py"}, "region": {"startLine": 254}}}]}, {"ruleId": "scanner-d9f16346779c6797", "level": "error", "message": {"text": "FastAPI POST `test_connectivity` without auth dependency \u2014 src/butlers/api/routers/provider_settings.py:279"}, "properties": {"repobilityId": "ee3086ddb7356922", "scanner": "scanner-primary", "fingerprint": "d9f16346779c6797", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/provider_settings.py"}, "region": {"startLine": 279}}}]}, {"ruleId": "scanner-2f195438b62f4da2", "level": "error", "message": {"text": "FastAPI PUT `set_permission` without auth dependency \u2014 src/butlers/api/routers/permissions.py:137"}, "properties": {"repobilityId": "079b959c1d3a0fc7", "scanner": "scanner-primary", "fingerprint": "2f195438b62f4da2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/permissions.py"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-814b862891e4dbb8", "level": "error", "message": {"text": "FastAPI PUT `upsert_google_credentials` without auth dependency \u2014 src/butlers/api/routers/oauth.py:1711"}, "properties": {"repobilityId": "930266140082ffb1", "scanner": "scanner-primary", "fingerprint": "814b862891e4dbb8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/oauth.py"}, "region": {"startLine": 1711}}}]}, {"ruleId": "scanner-dc2d5fd3eb36fc7b", "level": "error", "message": {"text": "FastAPI DELETE `delete_google_credentials_endpoint` without auth dependency \u2014 src/butlers/api/routers/oauth.py:1766"}, "properties": {"repobilityId": "a7c7ee7c1e1a219a", "scanner": "scanner-primary", "fingerprint": "dc2d5fd3eb36fc7b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/oauth.py"}, "region": {"startLine": 1766}}}]}, {"ruleId": "scanner-19730997286f7585", "level": "error", "message": {"text": "FastAPI PUT `set_primary_google_account` without auth dependency \u2014 src/butlers/api/routers/oauth.py:1894"}, "properties": {"repobilityId": "ebbebc77b0c50bf9", "scanner": "scanner-primary", "fingerprint": "19730997286f7585", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/oauth.py"}, "region": {"startLine": 1894}}}]}, {"ruleId": "scanner-0791282fa0cc4e06", "level": "error", "message": {"text": "FastAPI DELETE `disconnect_google_account` without auth dependency \u2014 src/butlers/api/routers/oauth.py:1917"}, "properties": {"repobilityId": "4ceac240abf27189", "scanner": "scanner-primary", "fingerprint": "0791282fa0cc4e06", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/oauth.py"}, "region": {"startLine": 1917}}}]}, {"ruleId": "scanner-ac04f46982e7fffe", "level": "error", "message": {"text": "FastAPI POST `start_auth` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:157"}, "properties": {"repobilityId": "77ce3d8efeaa962e", "scanner": "scanner-primary", "fingerprint": "ac04f46982e7fffe", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/cli_auth.py"}, "region": {"startLine": 157}}}]}, {"ruleId": "scanner-f1f369ec739ee21c", "level": "error", "message": {"text": "FastAPI DELETE `cancel_session` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:225"}, "properties": {"repobilityId": "5235d3a6f0d6d8e0", "scanner": "scanner-primary", "fingerprint": "f1f369ec739ee21c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/cli_auth.py"}, "region": {"startLine": 225}}}]}, {"ruleId": "scanner-a29d4514d8785556", "level": "error", "message": {"text": "FastAPI PUT `save_api_key` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:244"}, "properties": {"repobilityId": "1ba7a2877a29a8e3", "scanner": "scanner-primary", "fingerprint": "a29d4514d8785556", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/cli_auth.py"}, "region": {"startLine": 244}}}]}, {"ruleId": "scanner-0cdc26f055b510c7", "level": "error", "message": {"text": "FastAPI DELETE `delete_api_key` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:303"}, "properties": {"repobilityId": "19714e8b72c32f27", "scanner": "scanner-primary", "fingerprint": "0cdc26f055b510c7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/cli_auth.py"}, "region": {"startLine": 303}}}]}, {"ruleId": "scanner-8e9555db80cda6c8", "level": "error", "message": {"text": "FastAPI POST `test_api_key` without auth dependency \u2014 src/butlers/api/routers/cli_auth.py:343"}, "properties": {"repobilityId": "93c4a01189cd40e3", "scanner": "scanner-primary", "fingerprint": "8e9555db80cda6c8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/cli_auth.py"}, "region": {"startLine": 343}}}]}, {"ruleId": "scanner-1ced85bfbdee92b0", "level": "error", "message": {"text": "FastAPI POST `rotate_user_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:2612"}, "properties": {"repobilityId": "db67c67aad43097c", "scanner": "scanner-primary", "fingerprint": "1ced85bfbdee92b0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/secrets_v2.py"}, "region": {"startLine": 2612}}}]}, {"ruleId": "scanner-c13b93f2c5264d95", "level": "error", "message": {"text": "FastAPI POST `disconnect_user_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:2727"}, "properties": {"repobilityId": "ce671012b8911dc6", "scanner": "scanner-primary", "fingerprint": "c13b93f2c5264d95", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/secrets_v2.py"}, "region": {"startLine": 2727}}}]}, {"ruleId": "scanner-d09e991fafca3815", "level": "error", "message": {"text": "FastAPI POST `probe_user_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:2836"}, "properties": {"repobilityId": "cb3e647c57af6ac6", "scanner": "scanner-primary", "fingerprint": "d09e991fafca3815", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/secrets_v2.py"}, "region": {"startLine": 2836}}}]}, {"ruleId": "scanner-45e8aeddbbdfa7cc", "level": "error", "message": {"text": "FastAPI POST `reauthorize_user_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3017"}, "properties": {"repobilityId": "bbe4eb06914de24a", "scanner": "scanner-primary", "fingerprint": "45e8aeddbbdfa7cc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/secrets_v2.py"}, "region": {"startLine": 3017}}}]}, {"ruleId": "scanner-908807db220d04c5", "level": "error", "message": {"text": "FastAPI POST `set_system_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3248"}, "properties": {"repobilityId": "2cd7c99a47a12e87", "scanner": "scanner-primary", "fingerprint": "908807db220d04c5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/secrets_v2.py"}, "region": {"startLine": 3248}}}]}, {"ruleId": "scanner-36610b709cf58b03", "level": "error", "message": {"text": "FastAPI POST `probe_system_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3501"}, "properties": {"repobilityId": "5c65668a6d441951", "scanner": "scanner-primary", "fingerprint": "36610b709cf58b03", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/secrets_v2.py"}, "region": {"startLine": 3501}}}]}, {"ruleId": "scanner-5c44753b9ef35907", "level": "error", "message": {"text": "FastAPI DELETE `delete_system_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3697"}, "properties": {"repobilityId": "3fbfaf550820cad6", "scanner": "scanner-primary", "fingerprint": "5c44753b9ef35907", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/secrets_v2.py"}, "region": {"startLine": 3697}}}]}, {"ruleId": "scanner-eae02dac9093ed69", "level": "error", "message": {"text": "FastAPI POST `rotate_cli_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:3970"}, "properties": {"repobilityId": "d45b94802e55cd70", "scanner": "scanner-primary", "fingerprint": "eae02dac9093ed69", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/secrets_v2.py"}, "region": {"startLine": 3970}}}]}, {"ruleId": "scanner-a8a78ff4b88b02e1", "level": "error", "message": {"text": "FastAPI POST `revoke_cli_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:4079"}, "properties": {"repobilityId": "965e2a25be246620", "scanner": "scanner-primary", "fingerprint": "a8a78ff4b88b02e1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/secrets_v2.py"}, "region": {"startLine": 4079}}}]}, {"ruleId": "scanner-3c7dfb6944001418", "level": "error", "message": {"text": "FastAPI POST `reauthorize_cli_credential` without auth dependency \u2014 src/butlers/api/routers/secrets_v2.py:4184"}, "properties": {"repobilityId": "051f7ef0e5e6d6fa", "scanner": "scanner-primary", "fingerprint": "3c7dfb6944001418", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/secrets_v2.py"}, "region": {"startLine": 4184}}}]}, {"ruleId": "scanner-c467c52844acf29d", "level": "error", "message": {"text": "FastAPI POST `generate_owntracks_token` without auth dependency \u2014 src/butlers/api/routers/owntracks.py:324"}, "properties": {"repobilityId": "81c4c8805c92f6a2", "scanner": "scanner-primary", "fingerprint": "c467c52844acf29d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/owntracks.py"}, "region": {"startLine": 324}}}]}, {"ruleId": "scanner-792700e6d8fa4fce", "level": "error", "message": {"text": "FastAPI POST `approve_action` without auth dependency \u2014 src/butlers/api/routers/approvals.py:625"}, "properties": {"repobilityId": "3ffbeecac93ce6c5", "scanner": "scanner-primary", "fingerprint": "792700e6d8fa4fce", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 625}}}]}, {"ruleId": "scanner-fd99cbb72894fca7", "level": "error", "message": {"text": "FastAPI POST `retry_action` without auth dependency \u2014 src/butlers/api/routers/approvals.py:788"}, "properties": {"repobilityId": "663a90692256f593", "scanner": "scanner-primary", "fingerprint": "fd99cbb72894fca7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 788}}}]}, {"ruleId": "scanner-ae6d08a56ef0d4a4", "level": "error", "message": {"text": "FastAPI POST `reject_action` without auth dependency \u2014 src/butlers/api/routers/approvals.py:845"}, "properties": {"repobilityId": "a918093192143835", "scanner": "scanner-primary", "fingerprint": "ae6d08a56ef0d4a4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 845}}}]}, {"ruleId": "scanner-fc0aeedeab25944d", "level": "error", "message": {"text": "FastAPI POST `expire_stale_actions` without auth dependency \u2014 src/butlers/api/routers/approvals.py:889"}, "properties": {"repobilityId": "9a0171cfa395a4ab", "scanner": "scanner-primary", "fingerprint": "fc0aeedeab25944d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 889}}}]}, {"ruleId": "scanner-4364c6ac29d07b30", "level": "error", "message": {"text": "FastAPI POST `create_rule` without auth dependency \u2014 src/butlers/api/routers/approvals.py:931"}, "properties": {"repobilityId": "41cdd77dd4423127", "scanner": "scanner-primary", "fingerprint": "4364c6ac29d07b30", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 931}}}]}, {"ruleId": "scanner-d2eff5135f05213b", "level": "error", "message": {"text": "FastAPI POST `create_rule_from_action` without auth dependency \u2014 src/butlers/api/routers/approvals.py:958"}, "properties": {"repobilityId": "5b1145f486616d85", "scanner": "scanner-primary", "fingerprint": "d2eff5135f05213b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 958}}}]}, {"ruleId": "scanner-4ed127beee684fc0", "level": "error", "message": {"text": "FastAPI POST `revoke_rule` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1111"}, "properties": {"repobilityId": "622135d36dae7ba6", "scanner": "scanner-primary", "fingerprint": "4ed127beee684fc0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 1111}}}]}, {"ruleId": "scanner-571bc9975016fd1b", "level": "error", "message": {"text": "FastAPI PUT `update_approvals_policy` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1498"}, "properties": {"repobilityId": "7cb54c313f30c7f5", "scanner": "scanner-primary", "fingerprint": "571bc9975016fd1b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 1498}}}]}, {"ruleId": "scanner-897d1b54413bdaf1", "level": "error", "message": {"text": "FastAPI POST `confirm_suggestion` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1667"}, "properties": {"repobilityId": "6e2332e88b831745", "scanner": "scanner-primary", "fingerprint": "897d1b54413bdaf1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 1667}}}]}, {"ruleId": "scanner-56926d9bede5fe66", "level": "error", "message": {"text": "FastAPI POST `dismiss_suggestion` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1805"}, "properties": {"repobilityId": "2fda8f73d4b6908a", "scanner": "scanner-primary", "fingerprint": "56926d9bede5fe66", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 1805}}}]}, {"ruleId": "scanner-5c8bc8128a921a6e", "level": "error", "message": {"text": "FastAPI POST `approve_approval` without auth dependency \u2014 src/butlers/api/routers/approvals.py:1916"}, "properties": {"repobilityId": "1769be328656bb11", "scanner": "scanner-primary", "fingerprint": "5c8bc8128a921a6e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 1916}}}]}, {"ruleId": "scanner-68ff73b402afb03a", "level": "error", "message": {"text": "FastAPI POST `deny_approval` without auth dependency \u2014 src/butlers/api/routers/approvals.py:2011"}, "properties": {"repobilityId": "25c7a6f66cec7ebf", "scanner": "scanner-primary", "fingerprint": "68ff73b402afb03a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 2011}}}]}, {"ruleId": "scanner-8746542fa33a103b", "level": "error", "message": {"text": "FastAPI POST `defer_approval` without auth dependency \u2014 src/butlers/api/routers/approvals.py:2062"}, "properties": {"repobilityId": "12aab8080c19db5e", "scanner": "scanner-primary", "fingerprint": "8746542fa33a103b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 2062}}}]}, {"ruleId": "scanner-da17183ff72d1fb5", "level": "error", "message": {"text": "FastAPI POST `retry_approval` without auth dependency \u2014 src/butlers/api/routers/approvals.py:2129"}, "properties": {"repobilityId": "df74feb05523a8d1", "scanner": "scanner-primary", "fingerprint": "da17183ff72d1fb5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/butlers/api/routers/approvals.py"}, "region": {"startLine": 2129}}}]}, {"ruleId": "scanner-81563560dafce249", "level": "error", "message": {"text": "Dangling fetch: GET /api/... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:22)"}, "properties": {"repobilityId": "9ed99dc076c65480", "scanner": "scanner-primary", "fingerprint": "81563560dafce249", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-81563560dafce249", "level": "error", "message": {"text": "Dangling fetch: GET /api/... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:22)"}, "properties": {"repobilityId": "9ed99dc076c65480", "scanner": "scanner-primary", "fingerprint": "81563560dafce249", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a826c381de65a07d", "level": "error", "message": {"text": "Dangling fetch: GET https://... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:23)"}, "properties": {"repobilityId": "61c0406c8f3fa33a", "scanner": "scanner-primary", "fingerprint": "a826c381de65a07d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-52cb1b9a63ac2754", "level": "error", "message": {"text": "Dangling fetch: GET http://... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:23)"}, "properties": {"repobilityId": "86d65c8d7b3e2758", "scanner": "scanner-primary", "fingerprint": "52cb1b9a63ac2754", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0ea31fc7a99da72b", "level": "error", "message": {"text": "Dangling fetch: GET /api/... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:119)"}, "properties": {"repobilityId": "929c51e15bc0579e", "scanner": "scanner-primary", "fingerprint": "0ea31fc7a99da72b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0ea31fc7a99da72b", "level": "error", "message": {"text": "Dangling fetch: GET /api/... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:119)"}, "properties": {"repobilityId": "929c51e15bc0579e", "scanner": "scanner-primary", "fingerprint": "0ea31fc7a99da72b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4c05b91f15043944", "level": "error", "message": {"text": "Dangling fetch: GET https://... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:122)"}, "properties": {"repobilityId": "027263767db10e0a", "scanner": "scanner-primary", "fingerprint": "4c05b91f15043944", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-957f8d66a9b695ed", "level": "error", "message": {"text": "Dangling fetch: GET http://... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:122)"}, "properties": {"repobilityId": "115cea746e4a57d3", "scanner": "scanner-primary", "fingerprint": "957f8d66a9b695ed", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d1eef6572378db8a", "level": "error", "message": {"text": "Dangling fetch: GET /api/... (frontend/src/lib/__tests__/entity-glosses.enforcement.test.ts:341)"}, "properties": {"repobilityId": "2bc9293e6261c05a", "scanner": "scanner-primary", "fingerprint": "d1eef6572378db8a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4092d5c7ec5b2b9a", "level": "error", "message": {"text": "Dangling fetch: GET /api/permissions (frontend/src/pages/SettingsPermissionsPage.tsx:126)"}, "properties": {"repobilityId": "b8c427138677acd1", "scanner": "scanner-primary", "fingerprint": "4092d5c7ec5b2b9a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-241e7f6ca6bbb64e", "level": "error", "message": {"text": "Dangling fetch: PUT /api/permissions/${encodeURIComponent(butler)}/${encodeURIComponent(perm)} (frontend/src/pages/SettingsPermissionsPage.tsx:138)"}, "properties": {"repobilityId": "cafa9123799ab987", "scanner": "scanner-primary", "fingerprint": "241e7f6ca6bbb64e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e3fe3596fcd6f8cf", "level": "error", "message": {"text": "Dangling fetch: GET /api/webhooks (frontend/src/pages/SettingsPermissionsPage.tsx:150)"}, "properties": {"repobilityId": "6e6a94a622ddfabb", "scanner": "scanner-primary", "fingerprint": "e3fe3596fcd6f8cf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b8bd6ed7cb66a512", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/webhooks/${id} (frontend/src/pages/SettingsPermissionsPage.tsx:157)"}, "properties": {"repobilityId": "bdc450779a878be8", "scanner": "scanner-primary", "fingerprint": "b8bd6ed7cb66a512", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-935f21e3b796409c", "level": "error", "message": {"text": "Dangling fetch: POST /api/webhooks/${id}/test (frontend/src/pages/SettingsPermissionsPage.tsx:162)"}, "properties": {"repobilityId": "cfe8c21a196b3e46", "scanner": "scanner-primary", "fingerprint": "935f21e3b796409c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bd5c9fb10eff092a", "level": "error", "message": {"text": "Dangling fetch: POST /api/data/export (frontend/src/pages/SettingsPermissionsPage.tsx:169)"}, "properties": {"repobilityId": "e5f0097fdb5922a6", "scanner": "scanner-primary", "fingerprint": "bd5c9fb10eff092a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-32f5628b3e6b3541", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/data/wipe (frontend/src/pages/SettingsPermissionsPage.tsx:180)"}, "properties": {"repobilityId": "3db9545e16e8586e", "scanner": "scanner-primary", "fingerprint": "32f5628b3e6b3541", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-71ed381988851d1f", "level": "error", "message": {"text": "Dangling fetch: POST /api/webhooks (frontend/src/pages/SettingsPermissionsPage.tsx:197)"}, "properties": {"repobilityId": "78a2def3f3e67aee", "scanner": "scanner-primary", "fingerprint": "71ed381988851d1f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7293d6f954449d96", "level": "note", "message": {"text": "Unused endpoint: GET /measurements"}, "properties": {"repobilityId": "6e6e1f31fc86b804", "scanner": "scanner-primary", "fingerprint": "7293d6f954449d96", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-afd2cb42f155e5d9", "level": "note", "message": {"text": "Unused endpoint: POST /measurements"}, "properties": {"repobilityId": "b04c0cc9e62b76cd", "scanner": "scanner-primary", "fingerprint": "afd2cb42f155e5d9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8153f29876aa4768", "level": "note", "message": {"text": "Unused endpoint: PUT /measurements/{measurement_id}"}, "properties": {"repobilityId": "4dcb09c1acf42a95", "scanner": "scanner-primary", "fingerprint": "8153f29876aa4768", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4c6bdd414fdc35e5", "level": "note", "message": {"text": "Unused endpoint: DELETE /measurements/{measurement_id}"}, "properties": {"repobilityId": "71c3793b5dc4c5ce", "scanner": "scanner-primary", "fingerprint": "4c6bdd414fdc35e5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ad0ed97cd4cfe1f0", "level": "note", "message": {"text": "Unused endpoint: GET /medications"}, "properties": {"repobilityId": "325ae006155ccf38", "scanner": "scanner-primary", "fingerprint": "ad0ed97cd4cfe1f0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5c0b2f221c072476", "level": "note", "message": {"text": "Unused endpoint: GET /medications/{medication_id}/doses"}, "properties": {"repobilityId": "9642651ee10c0eab", "scanner": "scanner-primary", "fingerprint": "5c0b2f221c072476", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e925ab8dd6c4bfa6", "level": "note", "message": {"text": "Unused endpoint: POST /medications"}, "properties": {"repobilityId": "e75e92275080ff12", "scanner": "scanner-primary", "fingerprint": "e925ab8dd6c4bfa6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c7383c0019c23f83", "level": "note", "message": {"text": "Unused endpoint: PUT /medications/{medication_id}"}, "properties": {"repobilityId": "0cb9abb8ba2a4f14", "scanner": "scanner-primary", "fingerprint": "c7383c0019c23f83", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2b53c1ffd55e6dc4", "level": "note", "message": {"text": "Unused endpoint: DELETE /medications/{medication_id}"}, "properties": {"repobilityId": "7a41b24055591282", "scanner": "scanner-primary", "fingerprint": "2b53c1ffd55e6dc4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-209b427081c3c4e8", "level": "note", "message": {"text": "Unused endpoint: GET /conditions"}, "properties": {"repobilityId": "8e1606063a0ca247", "scanner": "scanner-primary", "fingerprint": "209b427081c3c4e8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1fc69eddc931ee63", "level": "note", "message": {"text": "Unused endpoint: POST /conditions"}, "properties": {"repobilityId": "54e5f6dae9ca7ecd", "scanner": "scanner-primary", "fingerprint": "1fc69eddc931ee63", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-168afa6c1ccf7301", "level": "note", "message": {"text": "Unused endpoint: PUT /conditions/{condition_id}"}, "properties": {"repobilityId": "b9f0a318b3325b83", "scanner": "scanner-primary", "fingerprint": "168afa6c1ccf7301", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-258cdb9c986b800a", "level": "note", "message": {"text": "Unused endpoint: DELETE /conditions/{condition_id}"}, "properties": {"repobilityId": "d71698a3abd54dc9", "scanner": "scanner-primary", "fingerprint": "258cdb9c986b800a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-453513b13dbeaa11", "level": "note", "message": {"text": "Unused endpoint: GET /symptoms"}, "properties": {"repobilityId": "708de5700aa05903", "scanner": "scanner-primary", "fingerprint": "453513b13dbeaa11", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a69672e6b707b5f1", "level": "note", "message": {"text": "Unused endpoint: POST /symptoms"}, "properties": {"repobilityId": "a3a796653b510043", "scanner": "scanner-primary", "fingerprint": "a69672e6b707b5f1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3b0826a7123e4f0d", "level": "note", "message": {"text": "Unused endpoint: PUT /symptoms/{symptom_id}"}, "properties": {"repobilityId": "7c89f6c211f5dcc9", "scanner": "scanner-primary", "fingerprint": "3b0826a7123e4f0d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6c2de8db63e58770", "level": "note", "message": {"text": "Unused endpoint: DELETE /symptoms/{symptom_id}"}, "properties": {"repobilityId": "e750b1e45e8d3ae3", "scanner": "scanner-primary", "fingerprint": "6c2de8db63e58770", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-373e9c446d2cdbea", "level": "note", "message": {"text": "Unused endpoint: GET /meals"}, "properties": {"repobilityId": "b4e0b06d2ebc6fbd", "scanner": "scanner-primary", "fingerprint": "373e9c446d2cdbea", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-61358cbf0e93ccab", "level": "note", "message": {"text": "Unused endpoint: POST /meals"}, "properties": {"repobilityId": "0eb4b61608f0b9a9", "scanner": "scanner-primary", "fingerprint": "61358cbf0e93ccab", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fe50664dc65a7af8", "level": "note", "message": {"text": "Unused endpoint: PUT /meals/{meal_id}"}, "properties": {"repobilityId": "ec2ab25bcecd6892", "scanner": "scanner-primary", "fingerprint": "fe50664dc65a7af8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f1f97d6451fff29b", "level": "note", "message": {"text": "Unused endpoint: DELETE /meals/{meal_id}"}, "properties": {"repobilityId": "902422add15ff10d", "scanner": "scanner-primary", "fingerprint": "f1f97d6451fff29b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b4e5abd7fdafaaa0", "level": "note", "message": {"text": "Unused endpoint: GET /research"}, "properties": {"repobilityId": "9a78d725ed7bf10b", "scanner": "scanner-primary", "fingerprint": "b4e5abd7fdafaaa0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b83351671d71e04e", "level": "note", "message": {"text": "Unused endpoint: POST /research"}, "properties": {"repobilityId": "490bed8e1d039a15", "scanner": "scanner-primary", "fingerprint": "b83351671d71e04e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4e90e6a93fec7e2e", "level": "note", "message": {"text": "Unused endpoint: PUT /research/{research_id}"}, "properties": {"repobilityId": "39b9fc26bdf6bb1a", "scanner": "scanner-primary", "fingerprint": "4e90e6a93fec7e2e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d838405b8ccbce07", "level": "note", "message": {"text": "Unused endpoint: DELETE /research/{research_id}"}, "properties": {"repobilityId": "eaa0cb11e161f739", "scanner": "scanner-primary", "fingerprint": "d838405b8ccbce07", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-609ef3fa5315886d", "level": "note", "message": {"text": "Unused endpoint: GET /measurements/latest"}, "properties": {"repobilityId": "2a141f11b489cdee", "scanner": "scanner-primary", "fingerprint": "609ef3fa5315886d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b23313c5f0cee599", "level": "note", "message": {"text": "Unused endpoint: GET /measurements/sleep/latest"}, "properties": {"repobilityId": "919b9f154fca9e35", "scanner": "scanner-primary", "fingerprint": "b23313c5f0cee599", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bbcfb9282bff9c29", "level": "note", "message": {"text": "Unused endpoint: GET /measurements/sources"}, "properties": {"repobilityId": "55057cf6d7eeb002", "scanner": "scanner-primary", "fingerprint": "bbcfb9282bff9c29", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7d4c433eeaea9e61", "level": "note", "message": {"text": "Unused endpoint: GET /measurements/trend"}, "properties": {"repobilityId": "b86a8d1b3a0c432e", "scanner": "scanner-primary", "fingerprint": "7d4c433eeaea9e61", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d81dcd56dce17ff4", "level": "note", "message": {"text": "Unused endpoint: GET /delivery-stats"}, "properties": {"repobilityId": "7e6f5bc22dc78e4d", "scanner": "scanner-primary", "fingerprint": "d81dcd56dce17ff4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-56f919b9cfe95370", "level": "note", "message": {"text": "Unused endpoint: GET /circuit-status"}, "properties": {"repobilityId": "88ee5b0c3f6be05e", "scanner": "scanner-primary", "fingerprint": "56f919b9cfe95370", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5b6dd317aa700414", "level": "note", "message": {"text": "Unused endpoint: GET /queue-depth"}, "properties": {"repobilityId": "7af65e2130e6500a", "scanner": "scanner-primary", "fingerprint": "5b6dd317aa700414", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8f7d9edf8ab8d9dc", "level": "note", "message": {"text": "Unused endpoint: GET /dead-letters"}, "properties": {"repobilityId": "7e664d434f70a9b7", "scanner": "scanner-primary", "fingerprint": "8f7d9edf8ab8d9dc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-52f939032aab887f", "level": "note", "message": {"text": "Unused endpoint: GET /transactions"}, "properties": {"repobilityId": "6526d103efebbd53", "scanner": "scanner-primary", "fingerprint": "52f939032aab887f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-202f9375f1700c9d", "level": "note", "message": {"text": "Unused endpoint: GET /subscriptions"}, "properties": {"repobilityId": "11a3e1948863e88f", "scanner": "scanner-primary", "fingerprint": "202f9375f1700c9d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a1003254942217d9", "level": "note", "message": {"text": "Unused endpoint: GET /bills"}, "properties": {"repobilityId": "97636215431d274e", "scanner": "scanner-primary", "fingerprint": "a1003254942217d9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-21c7ff7b8ef22c44", "level": "note", "message": {"text": "Unused endpoint: GET /accounts"}, "properties": {"repobilityId": "1a1e95befc583c72", "scanner": "scanner-primary", "fingerprint": "21c7ff7b8ef22c44", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1f250c0d9032b36a", "level": "note", "message": {"text": "Unused endpoint: GET /spending-summary"}, "properties": {"repobilityId": "4e8b2fd95ccd2442", "scanner": "scanner-primary", "fingerprint": "1f250c0d9032b36a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-17c466815a93e0d3", "level": "note", "message": {"text": "Unused endpoint: GET /upcoming-bills"}, "properties": {"repobilityId": "9627f5f6d6babc09", "scanner": "scanner-primary", "fingerprint": "17c466815a93e0d3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d5e8aec5e4340a0a", "level": "note", "message": {"text": "Unused endpoint: POST /transactions/bulk"}, "properties": {"repobilityId": "db8f067154fb8994", "scanner": "scanner-primary", "fingerprint": "d5e8aec5e4340a0a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-eb507a42de5ae82f", "level": "note", "message": {"text": "Unused endpoint: GET /merchants/distinct"}, "properties": {"repobilityId": "746d10b42b64fdfa", "scanner": "scanner-primary", "fingerprint": "eb507a42de5ae82f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1f9c9206631201ba", "level": "note", "message": {"text": "Unused endpoint: PATCH /transactions/bulk-metadata"}, "properties": {"repobilityId": "1bb2cea49b008346", "scanner": "scanner-primary", "fingerprint": "1f9c9206631201ba", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6887dfc86302fd54", "level": "note", "message": {"text": "Unused endpoint: GET /mind-maps"}, "properties": {"repobilityId": "83b8f1dc5eff8f5a", "scanner": "scanner-primary", "fingerprint": "6887dfc86302fd54", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6aa1c0387aa0fa50", "level": "note", "message": {"text": "Unused endpoint: GET /mind-maps/{mind_map_id}"}, "properties": {"repobilityId": "b91a755b4955b613", "scanner": "scanner-primary", "fingerprint": "6aa1c0387aa0fa50", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a7767b7e83bcc7c3", "level": "note", "message": {"text": "Unused endpoint: GET /mind-maps/{mind_map_id}/frontier"}, "properties": {"repobilityId": "af28ee75db7ac416", "scanner": "scanner-primary", "fingerprint": "a7767b7e83bcc7c3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c08dedff81041ffc", "level": "note", "message": {"text": "Unused endpoint: GET /mind-maps/{mind_map_id}/analytics"}, "properties": {"repobilityId": "ce592e4d8aa4b5b2", "scanner": "scanner-primary", "fingerprint": "c08dedff81041ffc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8c6e2542d71d7343", "level": "note", "message": {"text": "Unused endpoint: GET /quiz-responses"}, "properties": {"repobilityId": "40e869f6227e853c", "scanner": "scanner-primary", "fingerprint": "8c6e2542d71d7343", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8dfdaa61a04e0f15", "level": "note", "message": {"text": "Unused endpoint: GET /flows"}, "properties": {"repobilityId": "7c9e95ea11679e10", "scanner": "scanner-primary", "fingerprint": "8dfdaa61a04e0f15", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1e8882adebaa6b0e", "level": "note", "message": {"text": "Unused endpoint: GET /analytics/cross-topic"}, "properties": {"repobilityId": "8b78e19642c5eb6d", "scanner": "scanner-primary", "fingerprint": "1e8882adebaa6b0e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-33eb2d1d7fd4d361", "level": "note", "message": {"text": "Unused endpoint: GET /mind-maps/{mind_map_id}/pending-reviews"}, "properties": {"repobilityId": "af13fdae19259105", "scanner": "scanner-primary", "fingerprint": "33eb2d1d7fd4d361", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}