{"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: taffleraffle/sales-dashboard", "shortDescription": {"text": "Foundry mined unresolved feedback: taffleraffle/sales-dashboard"}, "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#89\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#89\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#89\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 89\nGraph consistency label: assumption_check\nNodes: 16\nEdges: 27\nNode types: {'pr_file': 4, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard", "shortDescription": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "fullDescription": {"text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#9\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#9\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 9\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'rep"}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: taffleraffle/sales-dashboard", "shortDescription": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#87\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#87\nRepo: taffleraffle/sales-dashboard\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 1\nLinked CI labels: {'ci_pending_or_incomplete': 1}\nChanged file count: 2\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'ui_or_frontend': 1, 'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7f64dea71754da4b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_gener"}, "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: taffleraffle/sales-dashboard", "shortDescription": {"text": "Foundry mined test ci gap after feedback: taffleraffle/sales-dashboard"}, "fullDescription": {"text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#69\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#69\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#69\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 69\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1,"}, "properties": {"scanner": "foundry_dataset", "category": "testing", "severity": "high", "confidence": 0.78, "cwe": "", "owasp": ""}}, {"id": "foundry_schema_ui_api_gap", "name": "Foundry mined schema ui api mismatch: taffleraffle/sales-dashboard", "shortDescription": {"text": "Foundry mined schema ui api mismatch: taffleraffle/sales-dashboard"}, "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#89\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#89\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#89\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 89\nGraph consistency label: assumption_check\nNodes: 16\nEdges: 27\nNode types: {'pr_file': 4, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blu"}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: taffleraffle/sales-dashboard", "shortDescription": {"text": "Foundry mined bad chains: taffleraffle/sales-dashboard"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#89\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: taffleraffle/sales-dashboard#89\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 4}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-36dfbea9c945e9ad\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n"}, "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: taffleraffle/sales-dashboard", "shortDescription": {"text": "Foundry mined security auth guardrail gaps: taffleraffle/sales-dashboard"}, "fullDescription": {"text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#3\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#3\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 3\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1,"}, "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: taffleraffle/sales-dashboard", "shortDescription": {"text": "Foundry mined mock as real or placeholder: taffleraffle/sales-dashboard"}, "fullDescription": {"text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#79\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#79\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#79\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 79\nGraph consistency label: weak_supervision_needs_review\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 3, 'commit': 2,"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"id": "scanner-ec18b1ce51e527d1", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed-test-data.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-test-data.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f5fcd212af4821b2", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-auth-users.js:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-auth-users.js:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6321cc75480650fb", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/sync-meta-ads-full/index.ts:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/sync-meta-ads-full/index.ts:63"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-76d05d9875745e87", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/creative-generate-script/index.ts:1155", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/creative-generate-script/index.ts:1155"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-39f9d4e0bc66fcc4", "name": "Stray `console.log` in TS/JS \u2014 services/clip-worker/server.js:331", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 services/clip-worker/server.js:331"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b5e966f685a6f281", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/SyncStatusIndicator.jsx:133", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/SyncStatusIndicator.jsx:133"}, "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-e9c731ec93042846", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/FlowPicker.jsx:69", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/FlowPicker.jsx:69"}, "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-e7e52ad3054d3e8e", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/SalesChatWidget.jsx:302", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/SalesChatWidget.jsx:302"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e79b6466d6960289", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/marketing/DataHealthBanner.jsx:189", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/marketing/DataHealthBanner.jsx: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-e3f59eea6d3268ca", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SetterBot.jsx:406", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SetterBot.jsx:406"}, "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-906d7753b995f5eb", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/PipelinePerformance.jsx:401", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/PipelinePerformance.jsx:401"}, "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-8a4afaab5bb8a6cb", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/EODReview.jsx:2778", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/EODReview.jsx:2778"}, "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-d72c0fa895614296", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/CallData.jsx:84", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/CallData.jsx:84"}, "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-9b1ea0b7de64b2e3", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/pages/CallData.jsx:413", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/pages/CallData.jsx:413"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-74305aa4697157ed", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/EmailFlows.jsx:322", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/EmailFlows.jsx:322"}, "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-2824efbff9c62aad", "name": "Stray `console.log` in TS/JS \u2014 src/pages/EmailFlows.jsx:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/pages/EmailFlows.jsx:72"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f76fb2e2fcaabd6a", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SalesOverview.jsx:264", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SalesOverview.jsx:264"}, "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-30fd3ecad1993caa", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SetterOverview.jsx:562", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SetterOverview.jsx:562"}, "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-2cb0f86020943c6a", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/EODHistory.jsx:333", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/EODHistory.jsx:333"}, "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-a52861ff3dbe82ed", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/CloserDetail.jsx:594", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/CloserDetail.jsx:594"}, "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-09d26a7afed33cab", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SettingsPage.jsx:887", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SettingsPage.jsx:887"}, "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-5df50eed15b61432", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/CloserOverview.jsx:298", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/CloserOverview.jsx:298"}, "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-88f4557e1bf776c9", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SetterDetail.jsx:639", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SetterDetail.jsx:639"}, "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-6fba683b3c5f04d1", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/MarketingPerformance.jsx:187", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/MarketingPerformance.jsx:187"}, "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-fab322ee2eda0e50", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/EmailFlowDetail.jsx:290", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/EmailFlowDetail.jsx:290"}, "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-8bd254a8a0e6025a", "name": "TODO/FIXME marker in shipping code \u2014 src/pages/ads/AdsGallery.jsx:133", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/pages/ads/AdsGallery.jsx:133"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3bf4d3103971baa5", "name": "Stray `console.log` in TS/JS \u2014 src/pages/ads/AdsGallery.jsx:182", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/pages/ads/AdsGallery.jsx:182"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2def94376aad98e1", "name": "React Flow edge with `label=` but no project-wide edge-label CSS override \u2014 src/pages/ads/AdsClips.jsx:471", "shortDescription": {"text": "React Flow edge with `label=` but no project-wide edge-label CSS override \u2014 src/pages/ads/AdsClips.jsx:471"}, "fullDescription": {"text": "React Flow edge labels render with a white rectangle behind the text by default, which scatters bright boxes across a dark canvas. Either drop the label, or override `.react-flow__edge-textbg` and `.react-flow__edge-text` in your stylesheet.\n\nWhy: P-H in CHECKLIST.md \u2014 vendor edge labels bleed white through a dark canvas.\nRule id: fq.edge-label.no-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3b90eb09076ad87", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/ads/AdsList.jsx:377", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/ads/AdsList.jsx:377"}, "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-35b7c00c1cfcbc2e", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/ads/VariantDetail.jsx:35", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/ads/VariantDetail.jsx:35"}, "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-e4655f426f64954a", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/ads/AdsLegacy.jsx:85", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/ads/AdsLegacy.jsx: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-856220fbfb305f82", "name": "TODO/FIXME marker in shipping code \u2014 src/pages/contracts/ContractsPending.jsx:50", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/pages/contracts/ContractsPending.jsx:50"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-24ac40fb387dc762", "name": "Stray `console.log` in TS/JS \u2014 src/hooks/useToast.jsx:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/hooks/useToast.jsx:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0492fafd281f861d", "name": "Stray `console.log` in TS/JS \u2014 src/services/autoSync.js:101", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/autoSync.js:101"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5b1ce35f190ac6dc", "name": "Stray `console.log` in TS/JS \u2014 src/services/ffmpegCore.js:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/ffmpegCore.js:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b27342397c14b321", "name": "Stray `console.log` in TS/JS \u2014 src/services/metaAdsSync.js:216", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/metaAdsSync.js:216"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e660446601e9573", "name": "Dockerfile runs as root: services/clip-worker/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: services/clip-worker/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-4de30b91092d76d5", "name": "Docker base image is tag-pinned but not digest-pinned: node:20-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c7634a18c41e81f3", "name": "Insecure pattern 'node_child_process' in scripts/backfill-thumbnails.mjs:24", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-thumbnails.mjs:24"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-16b9dfa4197f1aba", "name": "Insecure pattern 'cors_wildcard' in scripts/deploy-edge-test.mjs:6", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in scripts/deploy-edge-test.mjs:6"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d58ecffaa4af6c59", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/hyros-sync/index.ts:27", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/hyros-sync/index.ts:27"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-72c4bbd037218b5d", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/sync-typeform/index.ts:31", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/sync-typeform/index.ts:31"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9568eb0aab55fd63", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/sync-ghl-contacts/index.ts:16", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/sync-ghl-contacts/index.ts:16"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c6c3bcc21c77e845", "name": "Insecure pattern 'private_key_in_repo' in supabase/functions/ingest-external-submission/index.ts:327", "shortDescription": {"text": "Insecure pattern 'private_key_in_repo' in supabase/functions/ingest-external-submission/index.ts:327"}, "fullDescription": {"text": "Found a known-risky pattern (private_key_in_repo). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-c28057b8a24affa4", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/ingest-external-submission/index.ts:34", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/ingest-external-submission/index.ts:34"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3fb4c67fc48f9449", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/sync-meta-ad-status/index.ts:13", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/sync-meta-ad-status/index.ts:13"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cf0ca5fba57ac472", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/sync-meta-ads-full/index.ts:22", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/sync-meta-ads-full/index.ts:22"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-38645d3d483896de", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/create-portal-link/index.ts:23", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/create-portal-link/index.ts:23"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6318cfdb6bd48915", "name": "Insecure pattern 'node_child_process' in services/clip-worker/server.js:26", "shortDescription": {"text": "Insecure pattern 'node_child_process' in services/clip-worker/server.js:26"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e50bc2f48c5bdcb", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/SalesChatWidget.jsx:302", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/SalesChatWidget.jsx:302"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-26adc33c58aff143", "name": "Insecure pattern 'dangerous_innerhtml' in src/pages/CallData.jsx:413", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/pages/CallData.jsx:413"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-52d66492e661f8a4", "name": "Very large file: supabase/functions/creative-generate-script/index.ts (2017 lines)", "shortDescription": {"text": "Very large file: supabase/functions/creative-generate-script/index.ts (2017 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-47db686441585468", "name": "Very large file: src/pages/EODReview.jsx (3518 lines)", "shortDescription": {"text": "Very large file: src/pages/EODReview.jsx (3518 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-29dfbd88a02770f7", "name": "Very large file: src/pages/SalesOverview.jsx (1532 lines)", "shortDescription": {"text": "Very large file: src/pages/SalesOverview.jsx (1532 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-abe53ecb59ec2c2f", "name": "Very large file: src/pages/AttributionCoverage.jsx (1513 lines)", "shortDescription": {"text": "Very large file: src/pages/AttributionCoverage.jsx (1513 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-2d6d7c041c567af2", "name": "Very large file: src/pages/MarketingPerformance.jsx (5229 lines)", "shortDescription": {"text": "Very large file: src/pages/MarketingPerformance.jsx (5229 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-50770a680a73a9cf", "name": "Very large file: src/pages/ads/AdsCreativeLibrary.jsx (10861 lines)", "shortDescription": {"text": "Very large file: src/pages/ads/AdsCreativeLibrary.jsx (10861 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-67ec272c5bffdcdc", "name": "Very large file: src/pages/ads/AdsGenerator.jsx (3911 lines)", "shortDescription": {"text": "Very large file: src/pages/ads/AdsGenerator.jsx (3911 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-cc67d80a8933f65a", "name": "Very large file: src/pages/ads/AdsPerformance.jsx (3177 lines)", "shortDescription": {"text": "Very large file: src/pages/ads/AdsPerformance.jsx (3177 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-aec0f7b09c296955", "name": "Very large file: src/pages/ads/AdsVariants.jsx (1572 lines)", "shortDescription": {"text": "Very large file: src/pages/ads/AdsVariants.jsx (1572 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-69958e428f061eb3", "name": "Very large file: src/pages/ads/library/editors.jsx (1651 lines)", "shortDescription": {"text": "Very large file: src/pages/ads/library/editors.jsx (1651 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-9e85c8ed730bbc36", "name": "Very large file: src/pages/ads/library/upload.jsx (1647 lines)", "shortDescription": {"text": "Very large file: src/pages/ads/library/upload.jsx (1647 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-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "8 test file(s) for 303 source file(s) (ratio 0.03). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fe1381b710b5a04c", "name": "Node manifest has dependencies but no lockfile: services/clip-worker/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: services/clip-worker/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "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 930 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 214 placeholder/mock markers across 62 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-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci, tests, lockfile. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, ci, tests, lockfile. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-08ed1824b856174b", "name": "Commented-code block (9 lines) in scripts/mark-merged-hooks-bodies-as-run.mjs:8", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/mark-merged-hooks-bodies-as-run.mjs: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-b8b5d350e1edaaa8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/force-sync.mjs:43", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/force-sync.mjs:43"}, "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-8f1de6abca3e466c", "name": "Commented-code block (5 lines) in scripts/run-ad-library-pipeline.mjs:22", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/run-ad-library-pipeline.mjs: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-878fb95e080811d2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/inspect-event-fields.mjs:23", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/inspect-event-fields.mjs:23"}, "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-dd72aba5bc684e74", "name": "Commented-code block (5 lines) in scripts/backfill-ad-thumbnails.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/backfill-ad-thumbnails.mjs: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-94ab4708361543d5", "name": "Commented-code block (5 lines) in scripts/backfill-thumbnails.mjs:5", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/backfill-thumbnails.mjs: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-87f70d8f262d4d7e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-thumbnails.mjs:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-thumbnails.mjs:40"}, "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-c25ab2ee0e607c60", "name": "Commented-code block (5 lines) in scripts/deploy-ingest-external-submission.mjs:29", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/deploy-ingest-external-submission.mjs: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-c9fb45b85bae27d6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-ingest-external-submission.mjs:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-ingest-external-submission.mjs:40"}, "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-35468b3c4d13adaf", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-revenue-tier-split.mjs:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-revenue-tier-split.mjs:37"}, "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-ecc307d6c742e4a1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lookup-leads.mjs:36", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lookup-leads.mjs:36"}, "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-ad699ea0df63a77e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/discover-all-cals.mjs:22", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/discover-all-cals.mjs:22"}, "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-b60187297d5d3713", "name": "Commented-code block (9 lines) in scripts/verify-052-final.mjs:1", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/verify-052-final.mjs: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-3f4bd397b980d8da", "name": "Commented-code block (5 lines) in scripts/replace-from-local-files.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/replace-from-local-files.mjs: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-2260dab3cfe6d9bb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-edge-functions.mjs:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-edge-functions.mjs:28"}, "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-804ed0eb4b96facf", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/monthly-cash.mjs:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/monthly-cash.mjs:21"}, "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-b2c1396c0f2a49fe", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/calendly-status.mjs:44", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/calendly-status.mjs:44"}, "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-9498784742c3c7ab", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/batch-set-ad-url-tags.mjs:67", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/batch-set-ad-url-tags.mjs:67"}, "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-2c3308679106bd2e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/weekly-cash.mjs:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/weekly-cash.mjs:21"}, "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-6df6a1bcf732017b", "name": "Commented-code block (5 lines) in scripts/backfill-display-names.mjs:9", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/backfill-display-names.mjs: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-a8c2c146d7d6a190", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-display-names.mjs:97", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-display-names.mjs:97"}, "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-18882c90bc875679", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-kellan-2.mjs:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-kellan-2.mjs:37"}, "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-36c20b37f7bfc461", "name": "Commented-code block (6 lines) in scripts/sync-meta-ads-now.mjs:59", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/sync-meta-ads-now.mjs: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-3878bc683425fd35", "name": "Commented-code block (5 lines) in scripts/audit-preview-file-sizes.mjs:8", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/audit-preview-file-sizes.mjs: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-d1ee19c2e9d9fe67", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/last-30-cash.mjs:25", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/last-30-cash.mjs:25"}, "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-70815eeb83fea1df", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-hyros.mjs:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-hyros.mjs: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-a3d3887560285092", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-edge-multipart.mjs:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-edge-multipart.mjs:21"}, "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-4fc0f2c102bd3516", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-dq-calendar.mjs:87", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-dq-calendar.mjs:87"}, "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-fe7ed86906599f32", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/calendly-volume.mjs:26", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/calendly-volume.mjs:26"}, "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-9585293a76dcfbfe", "name": "Commented-code block (5 lines) in scripts/rebuild-qualified-bookings.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/rebuild-qualified-bookings.mjs: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-6e73d3428ca4546d", "name": "Commented-code block (9 lines) in scripts/match-hook-body-derivation.mjs:7", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/match-hook-body-derivation.mjs: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-af6eb4f763b5c46f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-missing-leads.mjs:66", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-missing-leads.mjs:66"}, "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-38e039ee21532133", "name": "Commented-code block (7 lines) in scripts/verify-052-closes.mjs:1", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/verify-052-closes.mjs: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-553eeb5773c8bd3d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/transcribe-ad-videos.mjs:154", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/transcribe-ad-videos.mjs:154"}, "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-d82bc6cd9ffdd70a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/sync-meta.mjs:55", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/sync-meta.mjs:55"}, "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-1ebcb0901c2bf15b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-edge-test.mjs:14", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-edge-test.mjs:14"}, "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-ad3ba392b4160428", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-kellan.mjs:17", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-kellan.mjs:17"}, "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-2256e928afc08a11", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/trace-9-dqs.mjs:30", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/trace-9-dqs.mjs:30"}, "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-9f4fb89b8a91b454", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-fanbasis-webhook.mjs:35", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-fanbasis-webhook.mjs:35"}, "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-36734352c920a443", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/diagnose-leads.mjs:27", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/diagnose-leads.mjs:27"}, "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-ff5f2860c872e9d8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-ghl-appointments.mjs:67", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-ghl-appointments.mjs:67"}, "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-e37b96239984a68a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/dump-ghl-calendars.mjs:26", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/dump-ghl-calendars.mjs:26"}, "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-ad6f17f055c1244e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/weekly-cash-v2.mjs:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/weekly-cash-v2.mjs:21"}, "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-37b4444bb55aa188", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/transcribe-library-clip/index.ts:96", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/transcribe-library-clip/index.ts:96"}, "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-2490b5c4a16dd6c2", "name": "Commented-code block (5 lines) in supabase/functions/hyros-sync/index.ts:13", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/hyros-sync/index.ts: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-5e807c9456a539ba", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/transcribe-uploaded-ad/index.ts:73", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/transcribe-uploaded-ad/index.ts:73"}, "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-ff3edd5371f1c8ea", "name": "Commented-code block (5 lines) in supabase/functions/triage-detect-bad-take/index.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/triage-detect-bad-take/index.ts: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-e9d5372b65f31f9d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/triage-detect-bad-take/index.ts:93", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/triage-detect-bad-take/index.ts:93"}, "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-c1663f7474ffd3b0", "name": "Commented-code block (8 lines) in supabase/functions/contract-judge-amendment/index.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in supabase/functions/contract-judge-amendment/index.ts: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-1b90e5bb534e89c4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/contract-judge-amendment/index.ts:241", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/contract-judge-amendment/index.ts:241"}, "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-c9fc02fdfaece8ce", "name": "Commented-code block (8 lines) in supabase/functions/sync-typeform/index.ts:18", "shortDescription": {"text": "Commented-code block (8 lines) in supabase/functions/sync-typeform/index.ts:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7afbb4760b04d359", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/sync-typeform/index.ts:111", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/sync-typeform/index.ts:111"}, "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-be0a4c434788b839", "name": "Commented-code block (9 lines) in supabase/functions/notify-editor-email/index.ts:6", "shortDescription": {"text": "Commented-code block (9 lines) in supabase/functions/notify-editor-email/index.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-b25fc06e4dd24a92", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/notify-editor-email/index.ts:139", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/notify-editor-email/index.ts:139"}, "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-db77730f346b7733", "name": "Commented-code block (10 lines) in supabase/functions/contract-downsell-coach/index.ts:5", "shortDescription": {"text": "Commented-code block (10 lines) in supabase/functions/contract-downsell-coach/index.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-69234c544c17f6cd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/contract-downsell-coach/index.ts:183", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/contract-downsell-coach/index.ts:183"}, "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-77c146eb194698e0", "name": "Commented-code block (7 lines) in supabase/functions/send-editor-magic-link/index.ts:6", "shortDescription": {"text": "Commented-code block (7 lines) in supabase/functions/send-editor-magic-link/index.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-f139945fb6db0439", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/send-editor-magic-link/index.ts:203", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/send-editor-magic-link/index.ts:203"}, "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-6621be0e05841918", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/sales-chat/index.ts:27", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/sales-chat/index.ts:27"}, "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-492232e6089a57cb", "name": "Commented-code block (6 lines) in supabase/functions/regenerate-amended-agreement/index.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/regenerate-amended-agreement/index.ts: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-a326f707cb431177", "name": "Commented-code block (5 lines) in supabase/functions/regenerate-amended-agreement/templates/contracts.ts:32", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/regenerate-amended-agreement/templates/contracts.ts:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8c9f9eafb371fc42", "name": "Commented-code block (6 lines) in supabase/functions/regenerate-amended-agreement/templates/trial-structured.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/regenerate-amended-agreement/templates/trial-structured.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-d9604132831b50c1", "name": "Commented-code block (9 lines) in supabase/functions/regenerate-amended-agreement/templates/retainer-structured.ts:4", "shortDescription": {"text": "Commented-code block (9 lines) in supabase/functions/regenerate-amended-agreement/templates/retainer-structured.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-c72b0643558357a4", "name": "Commented-code block (5 lines) in supabase/functions/invite-editor/index.ts:16", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/invite-editor/index.ts:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0d04142a82ae4a18", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/invite-editor/index.ts:137", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/invite-editor/index.ts:137"}, "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-87a29e13ae9e288e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/sync-fathom/index.ts:22", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/sync-fathom/index.ts:22"}, "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-01e9bd484bf27193", "name": "Commented-code block (5 lines) in supabase/functions/sync-ghl-contacts/index.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/sync-ghl-contacts/index.ts: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-9194116050188be2", "name": "Commented-code block (8 lines) in supabase/functions/creative-library-describe/index.ts:3", "shortDescription": {"text": "Commented-code block (8 lines) in supabase/functions/creative-library-describe/index.ts: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-f5745bcb73f75e7d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/creative-library-describe/index.ts:207", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/creative-library-describe/index.ts:207"}, "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-dad5ffbd80cece30", "name": "Commented-code block (5 lines) in supabase/functions/fanbasis-webhook/index.ts:19", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/fanbasis-webhook/index.ts: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-4e4eb97a68de335e", "name": "Commented-code block (8 lines) in supabase/functions/ingest-external-submission/index.ts:16", "shortDescription": {"text": "Commented-code block (8 lines) in supabase/functions/ingest-external-submission/index.ts:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1a606e330aa7fc77", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/ingest-external-submission/index.ts:250", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/ingest-external-submission/index.ts:250"}, "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-73c1e94c09cba4e8", "name": "Legacy-named symbol `ad_copy` in supabase/functions/creative-tag-ad/index.ts:158", "shortDescription": {"text": "Legacy-named symbol `ad_copy` in supabase/functions/creative-tag-ad/index.ts:158"}, "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-fa58387f995dbc9a", "name": "Commented-code block (5 lines) in supabase/functions/creative-tag-ad/index.ts:11", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/creative-tag-ad/index.ts: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-fd206dcd7258f196", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/creative-tag-ad/index.ts:293", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/creative-tag-ad/index.ts:293"}, "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-feafae1af4797cde", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/sync-stripe-payments/index.ts:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/sync-stripe-payments/index.ts:32"}, "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-516898de91c885c1", "name": "Commented-code block (7 lines) in supabase/functions/identify-actor/index.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in supabase/functions/identify-actor/index.ts: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-0b635a33fd2b6d7c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/identify-actor/index.ts:173", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/identify-actor/index.ts:173"}, "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-af7079cbf8dc1840", "name": "Commented-code block (5 lines) in supabase/functions/transcribe-ads/index.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/transcribe-ads/index.ts: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-307645dca5a35592", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/transcribe-ads/index.ts:115", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/transcribe-ads/index.ts:115"}, "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-69f0929e6ab88860", "name": "Commented-code block (7 lines) in supabase/functions/creative-parse-doc/index.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in supabase/functions/creative-parse-doc/index.ts: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-11994a6835772906", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/creative-parse-doc/index.ts:172", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/creative-parse-doc/index.ts:172"}, "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-cd228dc024a70465", "name": "Commented-code block (5 lines) in supabase/functions/sync-meta-ads-full/index.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/sync-meta-ads-full/index.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-6856e693c2e937f9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/analyze-objections/index.ts:75", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/analyze-objections/index.ts:75"}, "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-1ece284dffa74fc1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/ad-analyst/index.ts:191", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/ad-analyst/index.ts:191"}, "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-d1383e7dc99b4b3f", "name": "Commented-code block (12 lines) in supabase/functions/creative-generate-script/index.ts:10", "shortDescription": {"text": "Commented-code block (12 lines) in supabase/functions/creative-generate-script/index.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-10b8b539606f1181", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/creative-generate-script/index.ts:1122", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/creative-generate-script/index.ts:1122"}, "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-1cd48cd325863062", "name": "Commented-code block (24 lines) in supabase/functions/hyros-webhook/index.ts:5", "shortDescription": {"text": "Commented-code block (24 lines) in supabase/functions/hyros-webhook/index.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-4632d8d0ad0b3b18", "name": "Commented-code block (6 lines) in supabase/functions/create-portal-link/index.ts:14", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/create-portal-link/index.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-b65218316d844663", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/create-portal-link/index.ts:72", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/create-portal-link/index.ts:72"}, "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-7cf6ae4d4b97912b", "name": "Legacy-named symbol `raw_unused` in supabase/functions/notify-admin-digest/index.ts:42", "shortDescription": {"text": "Legacy-named symbol `raw_unused` in supabase/functions/notify-admin-digest/index.ts:42"}, "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-e056996c6d95f0dd", "name": "Commented-code block (6 lines) in supabase/functions/notify-admin-digest/index.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/notify-admin-digest/index.ts: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-fc427bfeef87c31c", "name": "Commented-code block (5 lines) in services/clip-worker/server.js:263", "shortDescription": {"text": "Commented-code block (5 lines) in services/clip-worker/server.js:263"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5725ef4c9f26581", "name": "`fetch()` without try/.catch or AbortSignal \u2014 services/clip-worker/server.js:81", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/clip-worker/server.js:81"}, "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-470dba5046e8bf05", "name": "Legacy-named symbol `AdsLegacy` in src/App.jsx:84", "shortDescription": {"text": "Legacy-named symbol `AdsLegacy` in src/App.jsx: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-1f722e7735f92eff", "name": "Commented-code block (7 lines) in src/App.jsx:176", "shortDescription": {"text": "Commented-code block (7 lines) in src/App.jsx:176"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5e6be7b86a69e3b", "name": "Commented-code block (5 lines) in src/utils/constants.js:8", "shortDescription": {"text": "Commented-code block (5 lines) in src/utils/constants.js: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-e03e48ae01bb579e", "name": "Commented-code block (6 lines) in src/components/EditorialDate.jsx:220", "shortDescription": {"text": "Commented-code block (6 lines) in src/components/EditorialDate.jsx:220"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6ec3c8ed9360840f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/SalesChatWidget.jsx:151", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/SalesChatWidget.jsx:151"}, "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-8dac97922c07337d", "name": "Commented-code block (7 lines) in src/components/UploadDock.jsx:21", "shortDescription": {"text": "Commented-code block (7 lines) in src/components/UploadDock.jsx:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f1dba05456e33a3a", "name": "Commented-code block (6 lines) in src/components/Layout.jsx:14", "shortDescription": {"text": "Commented-code block (6 lines) in src/components/Layout.jsx: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-2ee97a8db13a9b50", "name": "Commented-code block (5 lines) in src/components/ads/OptVideoPlayer.jsx:38", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/ads/OptVideoPlayer.jsx: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-e3393a72b047a3e4", "name": "Commented-code block (6 lines) in src/components/ads/CreativeFolders.jsx:426", "shortDescription": {"text": "Commented-code block (6 lines) in src/components/ads/CreativeFolders.jsx:426"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-91856d665854849b", "name": "Commented-code block (6 lines) in src/components/ads/AdCard.jsx:26", "shortDescription": {"text": "Commented-code block (6 lines) in src/components/ads/AdCard.jsx: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-26fb3241a5f7de5f", "name": "Legacy-named symbol `OFFICE_OSO_v1` in src/components/ads/VariantPill.jsx:3", "shortDescription": {"text": "Legacy-named symbol `OFFICE_OSO_v1` in src/components/ads/VariantPill.jsx: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-926dfa0bce019629", "name": "Commented-code block (5 lines) in src/components/ads/ClipEditorModal.jsx:52", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/ads/ClipEditorModal.jsx: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-e4c46cf9187e2ade", "name": "Commented-code block (5 lines) in src/components/ads/AdsTestingPanel.jsx:71", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/ads/AdsTestingPanel.jsx:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0a263fc6a8921973", "name": "Commented-code block (9 lines) in src/components/editorial/Modal.jsx:11", "shortDescription": {"text": "Commented-code block (9 lines) in src/components/editorial/Modal.jsx: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-f2fb2ee1396fb9c7", "name": "Commented-code block (6 lines) in src/contexts/AuthContext.jsx:85", "shortDescription": {"text": "Commented-code block (6 lines) in src/contexts/AuthContext.jsx: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-bbc8f71e789add27", "name": "Commented-code block (11 lines) in src/lib/supabase.js:6", "shortDescription": {"text": "Commented-code block (11 lines) in src/lib/supabase.js: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-a387dbf13c369cb0", "name": "Commented-code block (5 lines) in src/lib/pagedFetch.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/pagedFetch.js: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-5de6ef3e26939106", "name": "Commented-code block (12 lines) in src/lib/editorSession.js:3", "shortDescription": {"text": "Commented-code block (12 lines) in src/lib/editorSession.js: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-39582c7fb27fa461", "name": "Commented-code block (9 lines) in src/lib/videoPoster.js:7", "shortDescription": {"text": "Commented-code block (9 lines) in src/lib/videoPoster.js: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-3ecc079f0381040c", "name": "Commented-code block (6 lines) in src/pages/EODReview.jsx:1685", "shortDescription": {"text": "Commented-code block (6 lines) in src/pages/EODReview.jsx:1685"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9d2e5bf168109c1f", "name": "Commented-code block (5 lines) in src/pages/SalesOverview.jsx:326", "shortDescription": {"text": "Commented-code block (5 lines) in src/pages/SalesOverview.jsx:326"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b551a2e77291e941", "name": "Commented-code block (5 lines) in src/pages/AttributionCoverage.jsx:10", "shortDescription": {"text": "Commented-code block (5 lines) in src/pages/AttributionCoverage.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-a35c8530b826c9e0", "name": "Commented-code block (5 lines) in src/pages/CloserOverview.jsx:107", "shortDescription": {"text": "Commented-code block (5 lines) in src/pages/CloserOverview.jsx:107"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-33f733792a5c1d5f", "name": "Commented-code block (7 lines) in src/pages/SetterDetail.jsx:214", "shortDescription": {"text": "Commented-code block (7 lines) in src/pages/SetterDetail.jsx: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-b4887eb1cb3f6d58", "name": "Commented-code block (6 lines) in src/pages/EODDashboard.jsx:45", "shortDescription": {"text": "Commented-code block (6 lines) in src/pages/EODDashboard.jsx:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c0a59c3371557ae5", "name": "Commented-code block (6 lines) in src/pages/MarketingPerformance.jsx:27", "shortDescription": {"text": "Commented-code block (6 lines) in src/pages/MarketingPerformance.jsx:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6a62763655b280ee", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/pages/MarketingPerformance.jsx:3264", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/pages/MarketingPerformance.jsx:3264"}, "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-d27a0b9aa3bc16bd", "name": "Commented-code block (7 lines) in src/pages/ads/AdsClips.jsx:32", "shortDescription": {"text": "Commented-code block (7 lines) in src/pages/ads/AdsClips.jsx:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65fadab8a0d0020f", "name": "Commented-code block (5 lines) in src/pages/ads/EditorView.jsx:111", "shortDescription": {"text": "Commented-code block (5 lines) in src/pages/ads/EditorView.jsx:111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-061c555639de2ff4", "name": "Legacy-named symbol `raw_unused` in src/pages/ads/AdsCreativeLibrary.jsx:1819", "shortDescription": {"text": "Legacy-named symbol `raw_unused` in src/pages/ads/AdsCreativeLibrary.jsx:1819"}, "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-e68bf8193e982eee", "name": "Commented-code block (5 lines) in src/pages/ads/AdsCreativeLibrary.jsx:113", "shortDescription": {"text": "Commented-code block (5 lines) in src/pages/ads/AdsCreativeLibrary.jsx:113"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ed6eaf6f2581a1fc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/pages/ads/AdsCreativeLibrary.jsx:6093", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/pages/ads/AdsCreativeLibrary.jsx:6093"}, "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-53f0b3c45c5c7ec7", "name": "Commented-code block (10 lines) in src/pages/ads/AdsGenerator.jsx:42", "shortDescription": {"text": "Commented-code block (10 lines) in src/pages/ads/AdsGenerator.jsx: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-87150301f6c85f28", "name": "Commented-code block (5 lines) in src/pages/ads/AdDetail.jsx:56", "shortDescription": {"text": "Commented-code block (5 lines) in src/pages/ads/AdDetail.jsx: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-1dcec703906a2164", "name": "Commented-code block (5 lines) in src/pages/ads/AdsPerformance.jsx:93", "shortDescription": {"text": "Commented-code block (5 lines) in src/pages/ads/AdsPerformance.jsx:93"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8bcd5d157c6f8d4a", "name": "Commented-code block (5 lines) in src/pages/ads/EditorLogin.jsx:56", "shortDescription": {"text": "Commented-code block (5 lines) in src/pages/ads/EditorLogin.jsx: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-f9ae8a1a847e5034", "name": "Legacy-named symbol `AdsLegacy` in src/pages/ads/AdsLegacy.jsx:6", "shortDescription": {"text": "Legacy-named symbol `AdsLegacy` in src/pages/ads/AdsLegacy.jsx: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-42eebeab172ff3e8", "name": "Commented-code block (6 lines) in src/pages/ads/AdsCreativeTestingLayout.jsx:22", "shortDescription": {"text": "Commented-code block (6 lines) in src/pages/ads/AdsCreativeTestingLayout.jsx: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-5b63afa75987dd8b", "name": "Commented-code block (5 lines) in src/pages/ads/library/editors.jsx:1060", "shortDescription": {"text": "Commented-code block (5 lines) in src/pages/ads/library/editors.jsx:1060"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f2ce56812df8bf58", "name": "Commented-code block (5 lines) in src/pages/ads/library/upload.jsx:36", "shortDescription": {"text": "Commented-code block (5 lines) in src/pages/ads/library/upload.jsx: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-ccb779a19c716db8", "name": "Commented-code block (5 lines) in src/pages/ads/library/shared.jsx:52", "shortDescription": {"text": "Commented-code block (5 lines) in src/pages/ads/library/shared.jsx: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-3c9cfdaecff787dd", "name": "Commented-code block (5 lines) in src/pages/downsells/DownsellsSessionPage.jsx:145", "shortDescription": {"text": "Commented-code block (5 lines) in src/pages/downsells/DownsellsSessionPage.jsx: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-f180260033011dbb", "name": "Commented-code block (7 lines) in src/pages/downsells/CoachThread.jsx:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/pages/downsells/CoachThread.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-1ea3e96d77fda8ad", "name": "Commented-code block (6 lines) in src/pages/contracts/ContractDetail.jsx:433", "shortDescription": {"text": "Commented-code block (6 lines) in src/pages/contracts/ContractDetail.jsx:433"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eb2a4292eeb1f055", "name": "Commented-code block (9 lines) in src/pages/contracts/ContractPreview.jsx:5", "shortDescription": {"text": "Commented-code block (9 lines) in src/pages/contracts/ContractPreview.jsx: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-7af596790e20907c", "name": "Commented-code block (5 lines) in src/hooks/useMarketingTracker.js:18", "shortDescription": {"text": "Commented-code block (5 lines) in src/hooks/useMarketingTracker.js:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5c84b53ad9dec060", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useCommissions.js:18", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useCommissions.js:18"}, "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-bc2338ebfaee97b7", "name": "Commented-code block (6 lines) in src/hooks/useCloserCallProspectMetrics.js:35", "shortDescription": {"text": "Commented-code block (6 lines) in src/hooks/useCloserCallProspectMetrics.js: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-de9833d8e3681a4d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useCloserCallProspectMetrics.js:97", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useCloserCallProspectMetrics.js:97"}, "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-005df3c44d12d567", "name": "Legacy-named symbol `isLiveLegacy` in src/hooks/useCloserData.js:171", "shortDescription": {"text": "Legacy-named symbol `isLiveLegacy` in src/hooks/useCloserData.js: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-26bbc35d9e478148", "name": "Commented-code block (8 lines) in src/hooks/useCloserData.js:139", "shortDescription": {"text": "Commented-code block (8 lines) in src/hooks/useCloserData.js:139"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3b73021d9f4d223e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useCloserData.js:113", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useCloserData.js:113"}, "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-19156711a7f9ca1e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useEngagementData.js:12", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useEngagementData.js:12"}, "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-269d8aa4179d3940", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useEngagementCadences.js:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useEngagementCadences.js:21"}, "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-f58731968b3056a9", "name": "Commented-code block (6 lines) in src/services/autoSync.js:130", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/autoSync.js:130"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-83bfbea061df808b", "name": "Commented-code block (5 lines) in src/services/audioExtract.js:53", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/audioExtract.js:53"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f461f961396cd68f", "name": "Commented-code block (5 lines) in src/services/scriptGenerator.js:220", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/scriptGenerator.js:220"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-274403d8aadd7042", "name": "Commented-code block (8 lines) in src/services/metaAdsSync.js:218", "shortDescription": {"text": "Commented-code block (8 lines) in src/services/metaAdsSync.js:218"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-656735025ff1e322", "name": "Commented-code block (6 lines) in src/services/ghlClient.js:3", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/ghlClient.js: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-0da303da68ef69a5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/ghlClient.js:4", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/ghlClient.js:4"}, "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-56662196bb2e61f6", "name": "Commented-code block (7 lines) in src/services/ghlCalendar.js:137", "shortDescription": {"text": "Commented-code block (7 lines) in src/services/ghlCalendar.js:137"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bf950a5863dd9ee7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/fathomApi.js:8", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/fathomApi.js:8"}, "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-70fcae2d13c708b6", "name": "17 env vars used in code but missing from .env.example", "shortDescription": {"text": "17 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ALLOW_ORIGIN`, `DEV`, `DRY_RUN`, `HOME`, `MAX_SOURCE_BYTES`, `PORT`, `RENDER_KEY`, `RESEND_API_KEY` + 9 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff6784943b36f8b2", "name": "Frontend route `/editor-view/:token` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/editor-view/:token` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2a5ad046412659fe", "name": "Frontend route `/sales/closers/:id` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/closers/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-efbaf277f8751a65", "name": "Frontend route `/sales/setters/:id` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/setters/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-397a2e1d5d544453", "name": "Frontend route `/sales/setters/:id/kpi-history` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/setters/:id/kpi-history` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ba793001971aac4b", "name": "Frontend route `performance` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `performance` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6505a58955211a47", "name": "Frontend route `messaging` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `messaging` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b027320a55c04b0d", "name": "Frontend route `creative` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `creative` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9a7369680f62e358", "name": "Frontend route `clips` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `clips` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9ae2ba6a40024269", "name": "Frontend route `variants` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `variants` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-afd5bdaf5a66fedb", "name": "Frontend route `ads` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `ads` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-879ff6d1efcad65b", "name": "Frontend route `insights` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `insights` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f68b5c2674f11431", "name": "Frontend route `creatives` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `creatives` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-31b72ffd95832512", "name": "Frontend route `library` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `library` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-616150f2bbc9849b", "name": "Frontend route `attributes` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `attributes` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ab1c7a78dcb88278", "name": "Frontend route `explorations` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `explorations` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3b0e6d655fae8018", "name": "Frontend route `tests` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `tests` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4dc26d6c36f16eeb", "name": "Frontend route `generate` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `generate` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9ac4eddb94f41882", "name": "Frontend route `list` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `list` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-acdb9f657cbbe99b", "name": "Frontend route `hooks` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `hooks` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-84f6a4d195799132", "name": "Frontend route `bodies` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `bodies` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3844f32f46da70a4", "name": "Frontend route `scenes` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `scenes` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-15a0bc0cb4510815", "name": "Frontend route `creators` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `creators` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b23d8c5222ddba5c", "name": "Frontend route `variants/:variantId` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `variants/:variantId` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1399323f7742a498", "name": "Frontend route `components/:id` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `components/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5e51cdd1ee3fc8da", "name": "Frontend route `orphans` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `orphans` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d6799febd1531937", "name": "Frontend route `legacy` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `legacy` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9ab32a1850bd8846", "name": "Frontend route `ad/:id` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `ad/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-da8232b9d5bab14e", "name": "Frontend route `/sales/eod/submit` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/eod/submit` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-451711d7abc2f384", "name": "Frontend route `/sales/eod-history` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/eod-history` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-396462656a34b363", "name": "Frontend route `/sales/call-data` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/call-data` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a4c40b5339e67c31", "name": "Frontend route `/sales/contracts/new` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/contracts/new` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7b5e7c626671024c", "name": "Frontend route `/sales/contracts/policy` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/contracts/policy` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9eabe5bce2784edd", "name": "Frontend route `/sales/contracts/pending` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/contracts/pending` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-77294e604c5bfd66", "name": "Frontend route `/sales/contracts/:id` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/contracts/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-16de04ac7df26cb8", "name": "Frontend route `/sales/downsells/:id` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/downsells/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c0f08dba90ee4d48", "name": "Frontend route `/sales/commissions/:id` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/commissions/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ef573cc68a21aaa4", "name": "Frontend route `/sales/setter-bot` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/setter-bot` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b88916b5e5913d3c", "name": "Frontend route `/sales/email-flows/:flowId` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/sales/email-flows/:flowId` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a2cb65ab745a8458", "name": "Dangling fetch: POST https://api.resend.com/emails (scripts/send-editor-welcome.mjs:72)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (scripts/send-editor-welcome.mjs:72)"}, "fullDescription": {"text": "`scripts/send-editor-welcome.mjs:72` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\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-4f4885a27d835e4d", "name": "Dangling fetch: GET https://api.render.com/v1/services/${RENDER_SRV}/env-vars (scripts/deploy-edge-functions.mjs:28)", "shortDescription": {"text": "Dangling fetch: GET https://api.render.com/v1/services/${RENDER_SRV}/env-vars (scripts/deploy-edge-functions.mjs:28)"}, "fullDescription": {"text": "`scripts/deploy-edge-functions.mjs:28` calls `GET https://api.render.com/v1/services/${RENDER_SRV}/env-vars` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.render.com/v1/services/<p>/env-vars`\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-a03bc542ef73b426", "name": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/secrets (scripts/deploy-edge-functions.mjs:50)", "shortDescription": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/secrets (scripts/deploy-edge-functions.mjs:50)"}, "fullDescription": {"text": "`scripts/deploy-edge-functions.mjs:50` calls `POST https://api.supabase.com/v1/projects/${PROJECT_REF}/secrets` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.supabase.com/v1/projects/<p>/secrets`\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-31becd5a243466bb", "name": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions (scripts/deploy-edge-functions.mjs:81", "shortDescription": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions (scripts/deploy-edge-functions.mjs:81)"}, "fullDescription": {"text": "`scripts/deploy-edge-functions.mjs:81` calls `POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.supabase.com/v1/projects/<p>/functions`\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-a583d3d9c5ce58c5", "name": "Dangling fetch: PATCH https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/${fn.slug} (scripts/deploy-edge-func", "shortDescription": {"text": "Dangling fetch: PATCH https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/${fn.slug} (scripts/deploy-edge-functions.mjs:95)"}, "fullDescription": {"text": "`scripts/deploy-edge-functions.mjs:95` calls `PATCH https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/${fn.slug}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.supabase.com/v1/projects/<p>/functions/<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-a100d6771334a59e", "name": "Dangling fetch: GET https://api.render.com/v1/services/${RENDER_SRV}/env-vars (scripts/deploy-hyros.mjs:20)", "shortDescription": {"text": "Dangling fetch: GET https://api.render.com/v1/services/${RENDER_SRV}/env-vars (scripts/deploy-hyros.mjs:20)"}, "fullDescription": {"text": "`scripts/deploy-hyros.mjs:20` calls `GET https://api.render.com/v1/services/${RENDER_SRV}/env-vars` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.render.com/v1/services/<p>/env-vars`\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-f69027fc5331d349", "name": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/secrets (scripts/deploy-hyros.mjs:32)", "shortDescription": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/secrets (scripts/deploy-hyros.mjs:32)"}, "fullDescription": {"text": "`scripts/deploy-hyros.mjs:32` calls `POST https://api.supabase.com/v1/projects/${PROJECT_REF}/secrets` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.supabase.com/v1/projects/<p>/secrets`\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-4b4b5afcbe322b1b", "name": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/deploy?slug=${fn.slug} (scripts/deplo", "shortDescription": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/deploy?slug=${fn.slug} (scripts/deploy-hyros.mjs:62)"}, "fullDescription": {"text": "`scripts/deploy-hyros.mjs:62` calls `POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/deploy?slug=${fn.slug}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.supabase.com/v1/projects/<p>/functions/deploy`\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-91c6450017bcba58", "name": "Dangling fetch: POST https://${PROJECT_REF}.supabase.co/functions/v1/hyros-sync (scripts/deploy-hyros.mjs:73)", "shortDescription": {"text": "Dangling fetch: POST https://${PROJECT_REF}.supabase.co/functions/v1/hyros-sync (scripts/deploy-hyros.mjs:73)"}, "fullDescription": {"text": "`scripts/deploy-hyros.mjs:73` calls `POST https://${PROJECT_REF}.supabase.co/functions/v1/hyros-sync` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/<p>.supabase.co/functions/v1/hyros-sync`\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-c0cd77821f1d3c17", "name": "Dangling fetch: GET https://api.render.com/v1/services/${RENDER_SRV}/env-vars (scripts/deploy-edge-multipart.mjs:21)", "shortDescription": {"text": "Dangling fetch: GET https://api.render.com/v1/services/${RENDER_SRV}/env-vars (scripts/deploy-edge-multipart.mjs:21)"}, "fullDescription": {"text": "`scripts/deploy-edge-multipart.mjs:21` calls `GET https://api.render.com/v1/services/${RENDER_SRV}/env-vars` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.render.com/v1/services/<p>/env-vars`\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-51310986b4783089", "name": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/secrets (scripts/deploy-edge-multipart.mjs:34)", "shortDescription": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/secrets (scripts/deploy-edge-multipart.mjs:34)"}, "fullDescription": {"text": "`scripts/deploy-edge-multipart.mjs:34` calls `POST https://api.supabase.com/v1/projects/${PROJECT_REF}/secrets` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.supabase.com/v1/projects/<p>/secrets`\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-7695087a006aedf1", "name": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/deploy?slug=${fn.slug} (scripts/deplo", "shortDescription": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/deploy?slug=${fn.slug} (scripts/deploy-edge-multipart.mjs:62)"}, "fullDescription": {"text": "`scripts/deploy-edge-multipart.mjs:62` calls `POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/deploy?slug=${fn.slug}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.supabase.com/v1/projects/<p>/functions/deploy`\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-94fc1c4fddf15780", "name": "Dangling fetch: POST https://${PROJECT_REF}.supabase.co/functions/v1/ad-analyst (scripts/deploy-edge-multipart.mjs:78)", "shortDescription": {"text": "Dangling fetch: POST https://${PROJECT_REF}.supabase.co/functions/v1/ad-analyst (scripts/deploy-edge-multipart.mjs:78)"}, "fullDescription": {"text": "`scripts/deploy-edge-multipart.mjs:78` calls `POST https://${PROJECT_REF}.supabase.co/functions/v1/ad-analyst` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/<p>.supabase.co/functions/v1/ad-analyst`\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-076e22f24473fa52", "name": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (scripts/transcribe-ad-videos.mjs:154)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (scripts/transcribe-ad-videos.mjs:154)"}, "fullDescription": {"text": "`scripts/transcribe-ad-videos.mjs:154` calls `POST https://api.openai.com/v1/audio/transcriptions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.openai.com/v1/audio/transcriptions`\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-21ca87171df835b8", "name": "Dangling fetch: GET https://graph.facebook.com/v21.0/act_${ACCOUNT_ID}/insights?${params} (scripts/sync-meta.mjs:55)", "shortDescription": {"text": "Dangling fetch: GET https://graph.facebook.com/v21.0/act_${ACCOUNT_ID}/insights?${params} (scripts/sync-meta.mjs:55)"}, "fullDescription": {"text": "`scripts/sync-meta.mjs:55` calls `GET https://graph.facebook.com/v21.0/act_${ACCOUNT_ID}/insights?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/graph.facebook.com/v21.0/act_/<p>/insights`\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-c13bb622fe4f7ff6", "name": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions (scripts/deploy-edge-test.mjs:14)", "shortDescription": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions (scripts/deploy-edge-test.mjs:14)"}, "fullDescription": {"text": "`scripts/deploy-edge-test.mjs:14` calls `POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.supabase.com/v1/projects/<p>/functions`\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-833291c2a798f5de", "name": "Dangling fetch: PATCH https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/hello-edge-test (scripts/deploy-edge", "shortDescription": {"text": "Dangling fetch: PATCH https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/hello-edge-test (scripts/deploy-edge-test.mjs:23)"}, "fullDescription": {"text": "`scripts/deploy-edge-test.mjs:23` calls `PATCH https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/hello-edge-test` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.supabase.com/v1/projects/<p>/functions/hello-edge-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-4f1a0dbd79978a95", "name": "Dangling fetch: POST https://${PROJECT_REF}.supabase.co/functions/v1/hello-edge-test (scripts/deploy-edge-test.mjs:35)", "shortDescription": {"text": "Dangling fetch: POST https://${PROJECT_REF}.supabase.co/functions/v1/hello-edge-test (scripts/deploy-edge-test.mjs:35)"}, "fullDescription": {"text": "`scripts/deploy-edge-test.mjs:35` calls `POST https://${PROJECT_REF}.supabase.co/functions/v1/hello-edge-test` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/<p>.supabase.co/functions/v1/hello-edge-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-9739bc954a0e2b10", "name": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/deploy?slug=fanbasis-webhook (scripts", "shortDescription": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/deploy?slug=fanbasis-webhook (scripts/deploy-fanbasis-webhook.mjs:35)"}, "fullDescription": {"text": "`scripts/deploy-fanbasis-webhook.mjs:35` calls `POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/deploy?slug=fanbasis-webhook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.supabase.com/v1/projects/<p>/functions/deploy`\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-d1cc8b1542f4b5b4", "name": "Dangling fetch: GET /version.json?t=${Date.now()} (src/App.jsx:202)", "shortDescription": {"text": "Dangling fetch: GET /version.json?t=${Date.now()} (src/App.jsx:202)"}, "fullDescription": {"text": "`src/App.jsx:202` calls `GET /version.json?t=${Date.now()}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/version.json`\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-a2e8559e51e23c0a", "name": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments?days=7&limit=100&resync=t", "shortDescription": {"text": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments?days=7&limit=100&resync=true (src/pages/CommissionPage.jsx:226)"}, "fullDescription": {"text": "`src/pages/CommissionPage.jsx:226` calls `GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments?days=7&limit=100&resync=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments`\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-84be00df997bab37", "name": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments?days=90&limit=100&resync=", "shortDescription": {"text": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments?days=90&limit=100&resync=true (src/pages/CommissionPage.jsx:326)"}, "fullDescription": {"text": "`src/pages/CommissionPage.jsx:326` calls `GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments?days=90&limit=100&resync=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments`\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-22fca9b712e55566", "name": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-fanbasis-payments?days=90&limit=100 (src/", "shortDescription": {"text": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-fanbasis-payments?days=90&limit=100 (src/pages/CommissionPage.jsx:345)"}, "fullDescription": {"text": "`src/pages/CommissionPage.jsx:345` calls `GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-fanbasis-payments?days=90&limit=100` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-fanbasis-payments`\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-fbfe67be04b1456a", "name": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments?days=14&limit=100&resync=", "shortDescription": {"text": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments?days=14&limit=100&resync=false (src/services/autoSync.js:96)"}, "fullDescription": {"text": "`src/services/autoSync.js:96` calls `GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments?days=14&limit=100&resync=false` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments`\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-1020428ef177944a", "name": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-fanbasis-payments?days=14&limit=100 (src/", "shortDescription": {"text": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-fanbasis-payments?days=14&limit=100 (src/services/autoSync.js:113)"}, "fullDescription": {"text": "`src/services/autoSync.js:113` calls `GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-fanbasis-payments?days=14&limit=100` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-fanbasis-payments`\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-48c1afdcc566374b", "name": "Dangling fetch: POST https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-typeform (src/services/autoSync.js:240)", "shortDescription": {"text": "Dangling fetch: POST https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-typeform (src/services/autoSync.js:240)"}, "fullDescription": {"text": "`src/services/autoSync.js:240` calls `POST https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-typeform` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-typeform`\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-b27547721ec341f5", "name": "Dangling fetch: POST https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-ghl-contacts (src/services/autoSync.js:2", "shortDescription": {"text": "Dangling fetch: POST https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-ghl-contacts (src/services/autoSync.js:270)"}, "fullDescription": {"text": "`src/services/autoSync.js:270` calls `POST https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-ghl-contacts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-ghl-contacts`\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-4c399b16feef0c18", "name": "Dangling fetch: POST https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/hyros-sync (src/services/autoSync.js:304)", "shortDescription": {"text": "Dangling fetch: POST https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/hyros-sync (src/services/autoSync.js:304)"}, "fullDescription": {"text": "`src/services/autoSync.js:304` calls `POST https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/hyros-sync` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/hyros-sync`\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-011abbc213b28618", "name": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (supabase/functions/transcribe-library-clip/index.ts", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (supabase/functions/transcribe-library-clip/index.ts:96)"}, "fullDescription": {"text": "`supabase/functions/transcribe-library-clip/index.ts:96` calls `POST https://api.openai.com/v1/audio/transcriptions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.openai.com/v1/audio/transcriptions`\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-19bbfc0bb890309c", "name": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (supabase/functions/transcribe-uploaded-ad/index.ts:", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (supabase/functions/transcribe-uploaded-ad/index.ts:73)"}, "fullDescription": {"text": "`supabase/functions/transcribe-uploaded-ad/index.ts:73` calls `POST https://api.openai.com/v1/audio/transcriptions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.openai.com/v1/audio/transcriptions`\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-b288997ec7cba06e", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/triage-detect-bad-take/index.ts:93)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/triage-detect-bad-take/index.ts:93)"}, "fullDescription": {"text": "`supabase/functions/triage-detect-bad-take/index.ts:93` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-ffc01b6ab0f45a92", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/contract-judge-amendment/index.ts:241)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/contract-judge-amendment/index.ts:241)"}, "fullDescription": {"text": "`supabase/functions/contract-judge-amendment/index.ts:241` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-fc9a3a610065d111", "name": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/notify-editor-email/index.ts:139)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/notify-editor-email/index.ts:139)"}, "fullDescription": {"text": "`supabase/functions/notify-editor-email/index.ts:139` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\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-df2ad49f874dea9f", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/contract-downsell-coach/index.ts:183)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/contract-downsell-coach/index.ts:183)"}, "fullDescription": {"text": "`supabase/functions/contract-downsell-coach/index.ts:183` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-ba2520baaa2f78ac", "name": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/send-editor-magic-link/index.ts:203)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/send-editor-magic-link/index.ts:203)"}, "fullDescription": {"text": "`supabase/functions/send-editor-magic-link/index.ts:203` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\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-6291e814b588fcab", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/sales-chat/index.ts:27)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/sales-chat/index.ts:27)"}, "fullDescription": {"text": "`supabase/functions/sales-chat/index.ts:27` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-eaf70748f5f58e58", "name": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/invite-editor/index.ts:137)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/invite-editor/index.ts:137)"}, "fullDescription": {"text": "`supabase/functions/invite-editor/index.ts:137` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\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-dd9da040de2a294f", "name": "Dangling fetch: GET https://api.fathom.ai/external/v1/meetings?include_summary=true&limit=100 (supabase/functions/sync-f", "shortDescription": {"text": "Dangling fetch: GET https://api.fathom.ai/external/v1/meetings?include_summary=true&limit=100 (supabase/functions/sync-fathom/index.ts:22)"}, "fullDescription": {"text": "`supabase/functions/sync-fathom/index.ts:22` calls `GET https://api.fathom.ai/external/v1/meetings?include_summary=true&limit=100` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.fathom.ai/external/v1/meetings`\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-07e39b669eeab741", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-library-describe/index.ts:207)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-library-describe/index.ts:207)"}, "fullDescription": {"text": "`supabase/functions/creative-library-describe/index.ts:207` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-c486305e8e4cf807", "name": "Dangling fetch: GET https://www.googleapis.com/drive/v3/files/${fileId}?fields=name,mimeType (supabase/functions/ingest-", "shortDescription": {"text": "Dangling fetch: GET https://www.googleapis.com/drive/v3/files/${fileId}?fields=name,mimeType (supabase/functions/ingest-external-submission/index.ts:250)"}, "fullDescription": {"text": "`supabase/functions/ingest-external-submission/index.ts:250` calls `GET https://www.googleapis.com/drive/v3/files/${fileId}?fields=name,mimeType` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/www.googleapis.com/drive/v3/files/<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-a754814f00761ee5", "name": "Dangling fetch: GET https://www.googleapis.com/drive/v3/files/${fileId}?alt=media (supabase/functions/ingest-external-su", "shortDescription": {"text": "Dangling fetch: GET https://www.googleapis.com/drive/v3/files/${fileId}?alt=media (supabase/functions/ingest-external-submission/index.ts:264)"}, "fullDescription": {"text": "`supabase/functions/ingest-external-submission/index.ts:264` calls `GET https://www.googleapis.com/drive/v3/files/${fileId}?alt=media` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/www.googleapis.com/drive/v3/files/<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-31fcc7330b090091", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (supabase/functions/ingest-external-submission/index.ts:307)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (supabase/functions/ingest-external-submission/index.ts:307)"}, "fullDescription": {"text": "`supabase/functions/ingest-external-submission/index.ts:307` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\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-b927599ff253474e", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-tag-ad/index.ts:293)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-tag-ad/index.ts:293)"}, "fullDescription": {"text": "`supabase/functions/creative-tag-ad/index.ts:293` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-fb9c86d98374e291", "name": "Dangling fetch: GET https://api.stripe.com/v1/charges?limit=${limit}&created[gte]=${createdAfter}&expand[]=data.customer", "shortDescription": {"text": "Dangling fetch: GET https://api.stripe.com/v1/charges?limit=${limit}&created[gte]=${createdAfter}&expand[]=data.customer (supabase/functions/sync-stripe-payments/index.ts:32)"}, "fullDescription": {"text": "`supabase/functions/sync-stripe-payments/index.ts:32` calls `GET https://api.stripe.com/v1/charges?limit=${limit}&created[gte]=${createdAfter}&expand[]=data.customer` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.stripe.com/v1/charges`\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-8517fa9c51b81b92", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/identify-actor/index.ts:173)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/identify-actor/index.ts:173)"}, "fullDescription": {"text": "`supabase/functions/identify-actor/index.ts:173` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-ce27714787ad50e4", "name": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (supabase/functions/transcribe-ads/index.ts:115)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (supabase/functions/transcribe-ads/index.ts:115)"}, "fullDescription": {"text": "`supabase/functions/transcribe-ads/index.ts:115` calls `POST https://api.openai.com/v1/audio/transcriptions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.openai.com/v1/audio/transcriptions`\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-99f3d2233b3f4fb7", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-parse-doc/index.ts:172)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-parse-doc/index.ts:172)"}, "fullDescription": {"text": "`supabase/functions/creative-parse-doc/index.ts:172` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-6f1f0d7268aab6f0", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/analyze-objections/index.ts:75)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/analyze-objections/index.ts:75)"}, "fullDescription": {"text": "`supabase/functions/analyze-objections/index.ts:75` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-1ff183cb047ebdc5", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/ad-analyst/index.ts:191)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/ad-analyst/index.ts:191)"}, "fullDescription": {"text": "`supabase/functions/ad-analyst/index.ts:191` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-6d54b518ab95465c", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/ad-analyst/index.ts:225)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/ad-analyst/index.ts:225)"}, "fullDescription": {"text": "`supabase/functions/ad-analyst/index.ts:225` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-07095dc9722d01bb", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/ad-analyst/index.ts:296)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/ad-analyst/index.ts:296)"}, "fullDescription": {"text": "`supabase/functions/ad-analyst/index.ts:296` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-de2ba8395453ee64", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/ad-analyst/index.ts:338)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/ad-analyst/index.ts:338)"}, "fullDescription": {"text": "`supabase/functions/ad-analyst/index.ts:338` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-fe417ec376225978", "name": "Dangling fetch: POST https://google.serper.dev/search (supabase/functions/creative-generate-script/index.ts:757)", "shortDescription": {"text": "Dangling fetch: POST https://google.serper.dev/search (supabase/functions/creative-generate-script/index.ts:757)"}, "fullDescription": {"text": "`supabase/functions/creative-generate-script/index.ts:757` calls `POST https://google.serper.dev/search` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/google.serper.dev/search`\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-ac1c5c6411e1b52e", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-generate-script/index.ts:1122)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-generate-script/index.ts:1122)"}, "fullDescription": {"text": "`supabase/functions/creative-generate-script/index.ts:1122` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-a36fd5f7b0151c25", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-generate-script/index.ts:1391)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-generate-script/index.ts:1391)"}, "fullDescription": {"text": "`supabase/functions/creative-generate-script/index.ts:1391` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-e22aa3148868d315", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-generate-script/index.ts:1818)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-generate-script/index.ts:1818)"}, "fullDescription": {"text": "`supabase/functions/creative-generate-script/index.ts:1818` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-92981b81953a45c9", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-generate-script/index.ts:1946)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-generate-script/index.ts:1946)"}, "fullDescription": {"text": "`supabase/functions/creative-generate-script/index.ts:1946` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-cb021b7084df013e", "name": "Dangling fetch: GET https://api.stripe.com/v1/customers?email=${encodeURIComponent(email)}&limit=1 (supabase/functions/c", "shortDescription": {"text": "Dangling fetch: GET https://api.stripe.com/v1/customers?email=${encodeURIComponent(email)}&limit=1 (supabase/functions/create-portal-link/index.ts:72)"}, "fullDescription": {"text": "`supabase/functions/create-portal-link/index.ts:72` calls `GET https://api.stripe.com/v1/customers?email=${encodeURIComponent(email)}&limit=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.stripe.com/v1/customers`\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-60e9f3863efc20ba", "name": "Dangling fetch: POST https://api.stripe.com/v1/billing_portal/sessions (supabase/functions/create-portal-link/index.ts:9", "shortDescription": {"text": "Dangling fetch: POST https://api.stripe.com/v1/billing_portal/sessions (supabase/functions/create-portal-link/index.ts:92)"}, "fullDescription": {"text": "`supabase/functions/create-portal-link/index.ts:92` calls `POST https://api.stripe.com/v1/billing_portal/sessions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.stripe.com/v1/billing_portal/sessions`\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-82d4e7269eb6da99", "name": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/notify-admin-digest/index.ts:148)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/notify-admin-digest/index.ts:148)"}, "fullDescription": {"text": "`supabase/functions/notify-admin-digest/index.ts:148` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\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-a6362733cbaa7fa5", "name": "Dangling fetch: GET https://services.leadconnectorhq.com/contacts/?locationId=${ghlLocationId}&query=${encodeURIComponen", "shortDescription": {"text": "Dangling fetch: GET https://services.leadconnectorhq.com/contacts/?locationId=${ghlLocationId}&query=${encodeURIComponent(query!)}&limit=1 (supabase/functions/_shared/matchPayment.ts:94)"}, "fullDescription": {"text": "`supabase/functions/_shared/matchPayment.ts:94` calls `GET https://services.leadconnectorhq.com/contacts/?locationId=${ghlLocationId}&query=${encodeURIComponent(query!)}&limit=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/services.leadconnectorhq.com/contacts`\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-aa11ba9351e569ed", "name": "Unused endpoint: POST /detect", "shortDescription": {"text": "Unused endpoint: POST /detect"}, "fullDescription": {"text": "`services/clip-worker/server.js` declares `POST /detect` 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-42f1206579309c68", "name": "Unused endpoint: POST /cut", "shortDescription": {"text": "Unused endpoint: POST /cut"}, "fullDescription": {"text": "`services/clip-worker/server.js` declares `POST /cut` 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-beb60d9efe177a49", "name": "Unused endpoint: POST /merge", "shortDescription": {"text": "Unused endpoint: POST /merge"}, "fullDescription": {"text": "`services/clip-worker/server.js` declares `POST /merge` 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-7178bd690027cca9", "name": "Unused endpoint: POST /selftest", "shortDescription": {"text": "Unused endpoint: POST /selftest"}, "fullDescription": {"text": "`services/clip-worker/server.js` declares `POST /selftest` 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/20725"}, "properties": {"repository": "taffleraffle/sales-dashboard", "repoUrl": "https://github.com/taffleraffle/sales-dashboard", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 430210, "scanner": "foundry_dataset", "fingerprint": "53b4352994acc0e25d52b44486077dd76f5b737543cb677b892365d762edb595", "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": {"ui_or_frontend": 4, "partial blueprint fit": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_alignment": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 27, "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_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 16, "node_types": {"repo": 1, "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": "taffleraffle/sales-dashboard#89", "issue_number": "89", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-898916ac4a2b48be", "graph_gold_label": "assumption_check", "changed_file_labels": {"ui_or_frontend": 16}}, "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#89\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#89\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#89\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 89\nGraph consistency label: assumption_check\nNodes: 16\nEdges: 27\nNode types: {'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: {'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: {'ui_or_frontend': 4, 'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-76604e9815c48a50", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 430209, "scanner": "foundry_dataset", "fingerprint": "1b3fc0f1c79cdff8e2b47d28add38caa11a63b66d8e2a40bd741cd8cee5eb25b", "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": {"schema_or_data": 2, "ui_or_frontend": 2, "partial blueprint fit": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_alignment": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 27, "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_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 16, "node_types": {"repo": 1, "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": "taffleraffle/sales-dashboard#88", "issue_number": "88", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-ab4d163ea0659ed9", "graph_gold_label": "assumption_check", "changed_file_labels": {"schema_or_data": 8, "ui_or_frontend": 8}}, "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#88\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#88\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#88\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 88\nGraph consistency label: assumption_check\nNodes: 16\nEdges: 27\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 3, 'ui_or_frontend': 2, 'schema_or_data': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-3d6b5b883ed286c5", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 430208, "scanner": "foundry_dataset", "fingerprint": "b7dd642a06e4775ae917162fdeb47b6f34ac51107fd823ab9ecb2231b991e634", "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": {"agent_instruction_gap": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#5", "issue_number": "5", "quality_tiers": {"unresolved": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-94b8d3d30a0d39e6", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#5\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#5\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#5\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 5\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-638cc987a240e7e0", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404260, "scanner": "foundry_dataset", "fingerprint": "bd75501429bc2b5abec72878e7ef799bbd7799941d2f3737985ef2eb923f2965", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "ui_workflow_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 2, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#9", "issue_number": "9", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-35426b6bdc64b6fd", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#9\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#9\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 9\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: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-cccaffe9b09454d5", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404259, "scanner": "foundry_dataset", "fingerprint": "43f04772486529e4444d16091d3c22e3935baa1084c8f82e9b0cc712c2d03d2f", "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, "partial blueprint fit": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_alignment": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 27, "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_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 16, "node_types": {"repo": 1, "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": "taffleraffle/sales-dashboard#89", "issue_number": "89", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-07fe69fd5a9f488e", "graph_gold_label": "assumption_check", "changed_file_labels": {"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: assumption_check\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#89\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#89\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#89\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 89\nGraph consistency label: assumption_check\nNodes: 16\nEdges: 27\nNode types: {'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: {'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: {'ui_or_frontend': 4, 'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-ebc09e605d9645d2", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404258, "scanner": "foundry_dataset", "fingerprint": "1fa6f6c40ae90fc1f1da3796dd4f31ad4e7b0ef9b7b0da5b44eae170dea3a40c", "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": {"schema_or_data": 2, "ui_or_frontend": 2, "partial blueprint fit": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_alignment": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 27, "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_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 16, "node_types": {"repo": 1, "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": "taffleraffle/sales-dashboard#88", "issue_number": "88", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f6dd28490f3f6b8a", "graph_gold_label": "assumption_check", "changed_file_labels": {"schema_or_data": 8, "ui_or_frontend": 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: assumption_check\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#88\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#88\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#88\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 88\nGraph consistency label: assumption_check\nNodes: 16\nEdges: 27\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 3, 'ui_or_frontend': 2, 'schema_or_data': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-c4ec60e4b2a0b7ad", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404257, "scanner": "foundry_dataset", "fingerprint": "48ec10f015b691da1be119fd4edd35dba35c458d1de77283244bd7a80d28e4dc", "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": 1, "commit_general": 1, "ui_or_frontend": 2, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 16, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "pr_file": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#81", "issue_number": "81", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-26b498c8f7f2610d", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 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: weak_supervision_needs_review\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#81\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#81\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#81\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 81\nGraph consistency label: weak_supervision_needs_review\nNodes: 16\nEdges: 23\nNode types: {'link_quality': 4, 'pr_file': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_touches_file': 2, 'comment_chain_links_commit': 2, 'comment_chain_touches_file': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_unverified': 3, 'ui_or_frontend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'commit_general': 1, 'ui_workflow': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-2ae38b8e04b70e24", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404256, "scanner": "foundry_dataset", "fingerprint": "ee296dfc4f320c13b4fd0bc38706bc6e424b22a68eff46bdf1cbd0763d85dae4", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "ui_or_frontend": 1, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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, "thread_touches_file": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 15, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "pr_file": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#80", "issue_number": "80", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1609aa47ce090170", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"ui_or_frontend": 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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#80\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#80\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#80\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 80\nGraph consistency label: supported_by_high_confidence_link\nNodes: 15\nEdges: 20\nNode types: {'link_quality': 4, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_touches_file': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'ui_or_frontend': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-8527d95e386ad25d", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404255, "scanner": "foundry_dataset", "fingerprint": "005edd12312ffb22aa33c9ff36f1ad0abf0e3ad1b6ff3e175529d6ff10d9b50f", "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": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#8", "issue_number": "8", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-288789cfd4802886", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#8\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#8\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 8\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-5e87ddf88af6311f", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404254, "scanner": "foundry_dataset", "fingerprint": "274d285a2feb3e3079d97adb37cfa3ecc6b70873233d65c80d07187b2ec90560", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 4, "commit_general": 1, "ui_or_frontend": 4, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#78", "issue_number": "78", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0af6353cc2dd6380", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"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: weak_supervision_needs_review\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#78\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#78\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#78\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 78\nGraph consistency label: weak_supervision_needs_review\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: {'ui_or_frontend': 4, 'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'commit_general': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-fa33d98b2b7ae22b", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404253, "scanner": "foundry_dataset", "fingerprint": "bb62b764337899fdba36433a599f8b1ea1d1fe97cebe5e58654d55ba7e063a6b", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "commit_general": 1, "ui_or_frontend": 1, "ui_workflow_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#76", "issue_number": "76", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b73b06486be7a2e4", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"ui_or_frontend": 4}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#76\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#76\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#76\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 76\nGraph consistency label: supported_by_verification_signal\nNodes: 18\nEdges: 23\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_touches_file': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'ui_or_frontend': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'commit_general': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-b27248a135725e39", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404252, "scanner": "foundry_dataset", "fingerprint": "fc800d18c14ef7a0e273fad1d383941357a9526a279c2fd01463cebc0a9974b1", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "ui_or_frontend": 7, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": 7, "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": 7, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "comment_chain_touches_file": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 21, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "pr_file": 7, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#75", "issue_number": "75", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-5b8b9a5dc7443a67", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#75\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#75\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#75\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 75\nGraph consistency label: supported_by_high_confidence_link\nNodes: 21\nEdges: 38\nNode types: {'pr_file': 7, 'link_quality': 4, 'commit': 2, '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': 7, 'comment_chain_touches_file': 7, 'issue_chain_touches_file': 7, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 7, 'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-6e46fe07e3ede3ac", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404251, "scanner": "foundry_dataset", "fingerprint": "10fa550bf192e7671f14febe739ac022ecdd511fd7db3c01c46b7d46819f5819", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "ui_workflow": 1, "ui_or_frontend": 5, "ui_workflow_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 35, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 5, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 5, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 5, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#74", "issue_number": "74", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-c00edde16642b570", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"ui_or_frontend": 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_verification_signal\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#74\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#74\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#74\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 74\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 35\nNode types: {'pr_file': 5, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 5, 'comment_chain_links_commit': 5, 'comment_chain_touches_file': 5, 'issue_chain_touches_file': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 5, 'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'ui_workflow': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-0b48e8cefe8eae82", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404250, "scanner": "foundry_dataset", "fingerprint": "0a50188d7749c23f1a64ed06dca312ce5a7281d8256f8f7dd61522140c3415be", "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": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#7", "issue_number": "7", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e732bf885a063083", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#7\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#7\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 7\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-437cced75c94f803", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404249, "scanner": "foundry_dataset", "fingerprint": "42c4bb53fd86f65c28d54d2885c34a472dacd2bdfad54a2c76636b0a581aead7", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 2, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#69", "issue_number": "69", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-bc669dbc6466d599", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#69\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#69\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#69\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 69\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: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-1e1d5e51b161760e", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404248, "scanner": "foundry_dataset", "fingerprint": "f3473919b66b1c3267c0eca8ed3be2cea09574051f5a9d91a50beb0fd55895c3", "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": {"revert": 1, "bug_fix": 2, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 18, "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": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 15, "node_types": {"repo": 1, "commit": 3, "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": "taffleraffle/sales-dashboard#68", "issue_number": "68", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b3352a121b67e515", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#68\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#68\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#68\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 68\nGraph consistency label: weak_supervision_needs_review\nNodes: 15\nEdges: 18\nNode types: {'link_quality': 4, 'commit': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'revert': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-dcf94eabf81bb802", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404247, "scanner": "foundry_dataset", "fingerprint": "8691615c0f909fa8037c69d6981777e553b35913a6c6ccb9e08f9beb478250bc", "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": {"revert": 1, "bug_fix": 3, "ui_workflow": 1, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#65", "issue_number": "65", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-111c5b0c1f7102f2", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#65\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#65\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#65\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 65\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: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'ui_workflow': 1, 'revert': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-65800e937018d525", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404246, "scanner": "foundry_dataset", "fingerprint": "be7fab5c382e3c934af5dfe11b664dfd178e647b9c86b95621510981c3ce0a23", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 16, "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": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#62", "issue_number": "62", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-16effaf7771e01d9", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#62\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#62\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#62\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 62\nGraph consistency label: supported_by_high_confidence_link\nNodes: 13\nEdges: 16\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-3fe8c75a878525e9", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404245, "scanner": "foundry_dataset", "fingerprint": "979ffae52e43d314f96625f59152845032b6acbdac907cc6c7fc64258bce3061", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "ui_workflow": 2, "ui_workflow_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#61", "issue_number": "61", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-161163e37c7aa191", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#61\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#61\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#61\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 61\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: {'claimed_resolved_with_verification_signal': 3, 'ui_workflow': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-4a8502656a816792", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404244, "scanner": "foundry_dataset", "fingerprint": "d1c0a4cec6d3aa0b3e4d87ec9004640c59f3281a6aae0093fdfadeb0d4a115e0", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "ui_workflow_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 2, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#6", "issue_number": "6", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-02f50aa449f1e4cc", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#6\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#6\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 6\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: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-bab41d2dee3862fb", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404243, "scanner": "foundry_dataset", "fingerprint": "026fb099d639ce28469d214b8a39a652fdc741683dd22c5262724a50fc92eb1a", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "ui_workflow": 1, "ui_workflow_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#58", "issue_number": "58", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9e7d74f6f15887ce", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#58\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#58\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#58\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 58\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: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'ui_workflow': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-f0dde77f8494a443", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404242, "scanner": "foundry_dataset", "fingerprint": "3a54d8c89ada5f4902278c650b7d1b944f0f9ab4eb6de0f9df014ee97af7a904", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "api_integration_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 18, "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": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 15, "node_types": {"repo": 1, "commit": 3, "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": "taffleraffle/sales-dashboard#57", "issue_number": "57", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d064e3118dda6a43", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#57\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#57\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#57\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 57\nGraph consistency label: supported_by_high_confidence_link\nNodes: 15\nEdges: 18\nNode types: {'link_quality': 4, 'commit': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-abf5774b9ccb9a34", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404241, "scanner": "foundry_dataset", "fingerprint": "1e6a414db7bf8b02bdaacd850abd98c55fb42acece90016f901af0325bea36b1", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 4, "data_schema": 1, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#55", "issue_number": "55", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-81161a65343a84e3", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#55\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#55\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#55\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 55\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: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-421180935847b39f", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404240, "scanner": "foundry_dataset", "fingerprint": "46a0e653833eb32020711a7fb5892e2012bd331848eaf724f4bf20f1ac2169fa", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 4, "data_schema": 1, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#54", "issue_number": "54", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e742c32efcd16a50", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#54\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#54\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#54\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 54\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: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-e20c162ce8885392", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404239, "scanner": "foundry_dataset", "fingerprint": "09823d1424fe41717a13fc119a7d51f03ff58cc7db40ed4fd2eb62bf52429565", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 17, "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": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 2, "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": "taffleraffle/sales-dashboard#51", "issue_number": "51", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-6e2ef8fde7327bff", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#51\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#51\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#51\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 51\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 17\nNode types: {'link_quality': 4, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-7bcb5f4bdde5704f", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404238, "scanner": "foundry_dataset", "fingerprint": "c5ef30ccf19a55f3e9d7d3100e6d17b3da1bf0a0ca4b8511c8892bf17a3aa5b0", "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, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 16, "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": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#50", "issue_number": "50", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-7c9c7abbc10f93f0", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#50\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#50\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#50\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 50\nGraph consistency label: supported_by_high_confidence_link\nNodes: 13\nEdges: 16\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-d103dc3842b555ae", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404237, "scanner": "foundry_dataset", "fingerprint": "43c85c62db9baebf478634a33e8a68080d4aec02fba093fd7173dc8dca6ac277", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 4, "data_schema": 1, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#49", "issue_number": "49", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b746c6381dfdcfb3", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#49\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#49\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#49\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 49\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: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-71bba5aeb4f25f65", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404236, "scanner": "foundry_dataset", "fingerprint": "fd8659277d151f7046f86baf4e13277ddb0f2a78c067e2130f547720b1cbc2d0", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "commit_general": 1, "api_integration_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#48", "issue_number": "48", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-31e27cd6baffe9b4", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#48\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#48\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#48\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 48\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: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'commit_general': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-558708a69f18d7a2", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404235, "scanner": "foundry_dataset", "fingerprint": "6e2d2d73c337aaf4c575cacf052dc4872e995c8d3ad45f4e6ee7293f0bf85a51", "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": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#47", "issue_number": "47", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b42c4882e0087ebd", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#47\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#47\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#47\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 47\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-1579e941cd450150", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404234, "scanner": "foundry_dataset", "fingerprint": "d55142d8db23a6ef115aacfb5b7687ccf1c76bfa5aa68238d867602af97530d7", "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": 5, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#46", "issue_number": "46", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-a18c9f60052d4ad5", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#46\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#46\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#46\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 46\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-1aede33f41ee9049", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404233, "scanner": "foundry_dataset", "fingerprint": "ec42080fdea333cc0139e0b623b80bbcc89faf774ba7f2ea67b4f7f81580ea1d", "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, "data_schema": 1, "commit_general": 1, "partial blueprint fit": 1, "verification_or_tests": 2, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#45", "issue_number": "45", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-413af88a386ad0da", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#45\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#45\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#45\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 45\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: {'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'commit_general': 1, 'bug_fix': 1, 'data_schema': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-d4277a98f9aefecd", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404232, "scanner": "foundry_dataset", "fingerprint": "532b0acce60e3023b2559c873126a48f2b39c15effbf20a3a8cd64e59b9e933a", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 18, "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": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 15, "node_types": {"repo": 1, "commit": 3, "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": "taffleraffle/sales-dashboard#44", "issue_number": "44", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1cce039324055e45", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#44\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#44\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#44\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 44\nGraph consistency label: weak_supervision_needs_review\nNodes: 15\nEdges: 18\nNode types: {'link_quality': 4, 'commit': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-b355e0a72177794c", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404231, "scanner": "foundry_dataset", "fingerprint": "5a9d1ae66a535ef520b619d7f96e606ed10529823d5dd4cd44c4f566ea9f38d4", "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": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#43", "issue_number": "43", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-c9579913988088b9", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#43\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#43\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#43\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 43\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-d3ec5ee9397d3658", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404230, "scanner": "foundry_dataset", "fingerprint": "b5880e9e6a28df517178871834859779111b8058d9c8e643732106d489dcf78e", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 4, "partial blueprint fit": 1, "verification_or_tests": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#42", "issue_number": "42", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0e0dc1d9e406e5d8", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#42\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#42\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#42\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 42\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: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-cc46bb0146fa1b80", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404229, "scanner": "foundry_dataset", "fingerprint": "d0afd7651251cdd10fd02239d7aec4c8ee082aab74a6fa21225b257fb808a597", "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": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#41", "issue_number": "41", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d1d174048e4cd87f", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#41\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#41\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#41\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 41\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-e997caafac44bf6b", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404228, "scanner": "foundry_dataset", "fingerprint": "2b02c78077e4144762c6f121d05d9db95eedbdc695d00db998cc2faa90ab0205", "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": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#40", "issue_number": "40", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0889132f0465180f", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#40\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#40\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#40\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 40\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-539841f70c475fd6", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404227, "scanner": "foundry_dataset", "fingerprint": "de6355d66481a00601ad523e6b8fbd92f32ca0b393386dc893fa81910aa44812", "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": 5, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#4", "issue_number": "4", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-4f3f9a124adbbf0e", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#4\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#4\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 4\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-c10b0000eaf6ab8c", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404226, "scanner": "foundry_dataset", "fingerprint": "232c9a3a30f1e158546454f5f7d10de1077f849d4ade04a8a5c08910ac217b9a", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 4, "data_schema": 1, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#39", "issue_number": "39", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d08af55e53fc8419", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#39\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#39\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#39\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 39\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: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-542f25e218c009ec", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404225, "scanner": "foundry_dataset", "fingerprint": "9f03a74c69fada7afe882e26aaed7075dd31518318a5e6340b30933fad8c78f8", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "api_integration_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 2, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#38", "issue_number": "38", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f3632e19f4924643", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#38\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#38\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#38\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 38\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: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-9c4d1f7a2abf9925", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404224, "scanner": "foundry_dataset", "fingerprint": "3d0f898330a81ce11c3bbf5bb86f737eeb7513e052aac470d27941a3f12ec9db", "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": 5, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#37", "issue_number": "37", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f6325608121c1fd8", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#37\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#37\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 37\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-aea858df29f8834c", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404223, "scanner": "foundry_dataset", "fingerprint": "605807d9f488217e491550d2e3af873764b96fd542dddfa63e4e4ad69489a5f7", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "ui_workflow_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#35", "issue_number": "35", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f32858656e83c6e4", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#35\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#35\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 35\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-0142a625f1ac3234", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404222, "scanner": "foundry_dataset", "fingerprint": "f9c9253087192af74de9dc7e3f69609531c445041ec20e9b7fc0342fe55b5448", "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": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#34", "issue_number": "34", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f1ca1360e2f0962b", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#34\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#34\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#34\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 34\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-116597b6691e94df", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404221, "scanner": "foundry_dataset", "fingerprint": "af63e56e3de89ce95dddae4b178cfca66655eb996ec5b182d81df12c47cf5444", "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": 5, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#32", "issue_number": "32", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0846832dc8df8d3e", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#32\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#32\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#32\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 32\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-b25f2c02613416d6", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404220, "scanner": "foundry_dataset", "fingerprint": "a3c1d00d92deb9feb48f9d8468d119f0a23dbae9013da7e17904058705722332", "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": 5, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#31", "issue_number": "31", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-fe90d811f81e9027", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#31\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#31\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#31\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 31\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-ccbece84438ccd26", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404219, "scanner": "foundry_dataset", "fingerprint": "e888a43ff38b3f6715e9a41cca09372cf222fd8038f9668d252d3412ac9d695c", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 4, "partial blueprint fit": 1, "verification_or_tests": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#29", "issue_number": "29", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1d129dbffaf8e88b", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#29\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#29\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#29\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 29\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: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-0e322249721ccaa2", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404218, "scanner": "foundry_dataset", "fingerprint": "140e12143299819d5f2582e0ffec709259776163982c403e062afedd2ef4cce3", "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": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#26", "issue_number": "26", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9a37f282527b4532", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#26\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#26\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 26\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-be89f869e6a55980", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404217, "scanner": "foundry_dataset", "fingerprint": "95f1b1d831017f7b87021560e408e5cb986d3935a77e82b80fb683f201c8ff98", "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": 5, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#24", "issue_number": "24", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-898b6e72ba3a32e4", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#24\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#24\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 24\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-7e057881879ab13f", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404216, "scanner": "foundry_dataset", "fingerprint": "68efba4cf2b62c24f07d5b4e7dc8fedfe5afc72f7b9480d317e73691ebf2a8e4", "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": 5, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#23", "issue_number": "23", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-48d84427d51af98e", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#23\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#23\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 23\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-99622ea153847b9b", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404215, "scanner": "foundry_dataset", "fingerprint": "1d4f3006ae648e1973b1bd76d466a7671d3c693af8f98dc67e59686e957462c6", "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": 5, "api_integration_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#22", "issue_number": "22", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b2f121b40da3257c", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#22\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#22\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 22\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-1944680cbf09fbdc", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404214, "scanner": "foundry_dataset", "fingerprint": "be8173e7ee2f75835eab89e37e305c9534ea52ac970651b0d2603aead24106dd", "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": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#21", "issue_number": "21", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-7338fbd53c4391d4", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#21\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#21\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 21\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-4b74b94f266a9ba7", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404213, "scanner": "foundry_dataset", "fingerprint": "d3ec4c1bbeb81d0b5b5484a4c86ec29094a78669eee469d59c39a895588a3d00", "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": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#20", "issue_number": "20", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-551db37571cf1de8", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#20\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#20\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#20\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 20\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-b49e8b9b1bf43f21", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404212, "scanner": "foundry_dataset", "fingerprint": "656a0953a573d4980624449a7a56afe64da5ed150f7ff465c6b15876925fc3d6", "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": 5, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#2", "issue_number": "2", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-3afb1207f8628ba6", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#2\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#2\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#2\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 2\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-60a152872d1ea8a7", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404211, "scanner": "foundry_dataset", "fingerprint": "0d2a5541e99ef40c7fb9845edb65690028e8f8d7a34871515351db579c0bc04e", "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": 5, "ui_workflow_gap": 1, "partial blueprint fit": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#19", "issue_number": "19", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-73f5b5e1451f2b34", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#19\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#19\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 19\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-af2c32054e5a1236", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404210, "scanner": "foundry_dataset", "fingerprint": "c52f970b623e7f22527acaac9b0bc1511add774a1051e327957fc19fc4a859f4", "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": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "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": "taffleraffle/sales-dashboard#18", "issue_number": "18", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-dd3e5ab7a7b76148", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#18\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#18\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 18\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-8bd778a0e865f55a", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404209, "scanner": "foundry_dataset", "fingerprint": "82625892a2bbd5c43c6ae0d9051689ee3be435301cd6601883bfe4cfc358aafd", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 4, "api_integration_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#17", "issue_number": "17", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-25320902c855fb4b", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#17\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#17\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 17\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: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-0382d5c09d24eb29", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404208, "scanner": "foundry_dataset", "fingerprint": "ac5036b5294d4af7a33009089451105509ced7679e40fdf603dbc3ea741b7308", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 4, "api_integration_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#15", "issue_number": "15", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-38e7d63ec5820fbb", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#15\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#15\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#15\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 15\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: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-7594a1e5cfbda7bd", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404207, "scanner": "foundry_dataset", "fingerprint": "133d8d475e9de6b4579b7a722ce3483f7175880df38c142bdefb54431e169860", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "partial blueprint fit": 1, "verification_or_tests": 3, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#14", "issue_number": "14", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-ae1eaa28ae9758d3", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#14\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#14\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 14\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-d82238c10698231f", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 404206, "scanner": "foundry_dataset", "fingerprint": "70091170cb0d8e92f99dee8c75822751d6e7ab3a6155116e2f839aa116a47ae5", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "api_integration_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 2, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#13", "issue_number": "13", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-4fec48a1f24341c7", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#13\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#13\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 13\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: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-b808d1e63b6b16ed", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382794, "scanner": "foundry_dataset", "fingerprint": "06c82ac589dc83422485948579bcbe2a5aa7de3a2f99744069d77b834de45660", "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": "taffleraffle/sales-dashboard#87", "human_labels": ["api_or_backend", "human_feedback_general", "ui_or_frontend"], "issue_number": "87", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.742, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-316f2d22fbf1719c", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 1, "ui_or_frontend": 1}, "linked_commit_count": 2, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 1, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#87\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#87\nRepo: taffleraffle/sales-dashboard\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 1\nLinked CI labels: {'ci_pending_or_incomplete': 1}\nChanged file count: 2\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'ui_or_frontend': 1, 'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7f64dea71754da4b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/87\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/87\\nTitle: Clip Editor \u2192 server-side ffmpeg engine\\nBody:\\nWires the editor to the QA-verified clip-worker. Drop-in clipServer (same signatures). Handles HEVC, scene detection, no browser download. Build green.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-084544acb18c8542\",\n    \"filename\": \"src/components/ads/ClipEditorModal.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 3,\n    \"changes\": 9,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/8ac493b9f9a1a6a29ce050db21314b153830341a/src%2Fcomponents%2Fads%2FClipEditorModal.jsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-2198847123ca04b2\",\n    \"filename\": \"src/services/clipServer.js\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"added\",\n    \"additions\": 106,\n    \"deletions\": 0,\n    \"changes\": 106,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/8ac493b9f9a1a6a29ce050db21314b153830341a/src%2Fservices%2FclipServer.js\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-8eb34392229c6de2\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_u\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-c66e0059feb31070", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382793, "scanner": "foundry_dataset", "fingerprint": "151b47d1f9dd3f89050f6dbe80e2864d7475438ab5bd27767e5edc33c69ea674", "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": "taffleraffle/sales-dashboard#86", "human_labels": ["api_or_backend", "human_feedback_general"], "issue_number": "86", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.842, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-b56fead7a70c4bf7", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 1}, "linked_commit_count": 2, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#86\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#86\nRepo: taffleraffle/sales-dashboard\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-092485d52ea42ee9\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/86\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/86\\nTitle: clip-worker: cut re-encode fallback + robust merge\\nBody:\\nCopy-cut\u2192re-encode fallback, drop non-mp4 streams, always-reencode merge parts, real error lines.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-a67d676dea83905e\",\n    \"filename\": \"services/clip-worker/server.js\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 29,\n    \"deletions\": 7,\n    \"changes\": 36,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/95c12b670d8c4a3389d9ea5ace41cafcabe4c379/services%2Fclip-worker%2Fserver.js\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-5007e33ee687a9a4\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-354038499b3a9d33", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382792, "scanner": "foundry_dataset", "fingerprint": "3cff2011c1317245f11c3cd519d702e40eb15cab2423a32681cb1d9454847267", "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": "taffleraffle/sales-dashboard#85", "human_labels": ["api_or_backend", "human_feedback_general"], "issue_number": "85", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.849, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-4e2af0ffaf529dfd", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 1}, "linked_commit_count": 2, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#85\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#85\nRepo: taffleraffle/sales-dashboard\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-99b2d0c16ea1c7cd\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/85\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/85\\nTitle: clip-worker: stream + downscale (fix 502 on large clips)\\nBody:\\nStream source to disk (no heap buffer), downscale detection. Fixes OOM 502 on 100MB+ clips.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-d494499a64ef78d5\",\n    \"filename\": \"services/clip-worker/server.js\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 10,\n    \"deletions\": 4,\n    \"changes\": 14,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/3f4dada5cde4edc7b156c21966b75990f3b416cc/services%2Fclip-worker%2Fserver.js\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-7b6987e9065b2b42\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-536aae32553aa0e2", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382791, "scanner": "foundry_dataset", "fingerprint": "b20c6c4f9d7ef2591173b5266ec867af1ba526d395427d7e07c34fe3b5c2f1bd", "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": "taffleraffle/sales-dashboard#84", "human_labels": ["api_or_backend", "human_feedback_general"], "issue_number": "84", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.885, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-53019b66fb2730cc", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 1}, "linked_commit_count": 2, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#84\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#84\nRepo: taffleraffle/sales-dashboard\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-75a691d7486d740a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/84\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/84\\nTitle: clip-worker QA round 2 (scene threshold + keyframed test)\\nBody:\\nScene threshold 0.4\u21920.25, keyframed high-contrast self-test source.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-4103be19ad9d9eca\",\n    \"filename\": \"services/clip-worker/server.js\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 13,\n    \"deletions\": 4,\n    \"changes\": 17,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/01e7bbe7a66cb9935dfe23d5c165dbbf0aa44e93/services%2Fclip-worker%2Fserver.js\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-1ce8ea937cb078e1\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-e76485c28b2bca57", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382790, "scanner": "foundry_dataset", "fingerprint": "06894f59b0b018051ccc2e76396683fcb221fc639db818c0fc51231bc527db91", "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": "taffleraffle/sales-dashboard#83", "human_labels": ["agent_instruction_gap", "api_or_backend"], "issue_number": "83", "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": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-39acd7374f735bef", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 1}, "linked_commit_count": 1, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#83\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#83\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ae212d7832002d29\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/83\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/83\\nTitle: clip-worker QA fixes: -t cuts + continuous self-test source\\nBody:\\nTwo real bugs the live self-test caught: input-side -ss + -to over-ran cuts (\u2192 -t duration); concat-copy test source reset PTS and hid a scene cut (\u2192 one continuous encode + shared detectFile). \\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-f30d87f5aa33d0af\",\n    \"filename\": \"services/clip-worker/server.js\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 50,\n    \"deletions\": 48,\n    \"changes\": 98,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/27b1d82fcda18e4cb01a7fe3dc50d55393b8a062/services%2Fclip-worker%2Fserver.js\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b982ca6dc2c6e1a7\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-d6e6a7fa84bc8dff", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382789, "scanner": "foundry_dataset", "fingerprint": "7cface8eb7a16e1f664153a06e7d79c927f2fc80a072605edb1c9116b8c82c8c", "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": "taffleraffle/sales-dashboard#82", "human_labels": ["api_or_backend", "dependency_or_build", "deployment_env_gap", "docs_or_claims", "source_or_other"], "issue_number": "82", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.742, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-d7478d7f32183e08", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 5, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 1, "docs_or_claims": 1, "source_or_other": 2, "dependency_or_build": 1}, "linked_commit_count": 2, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#82\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: taffleraffle/sales-dashboard#82\nRepo: taffleraffle/sales-dashboard\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: 5\nLabels: {'deployment_env_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 2, 'docs_or_claims': 1, 'dependency_or_build': 1, 'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1d6f220a13308fc7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/82\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/82\\nTitle: Clip-worker: stateless ffmpeg microservice\\nBody:\\nServer-side Clip Editor engine: /detect (silence+scene), /cut, /merge, /selftest. No service-role key. Render Docker service.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-6b89cf2dcc5b2c5c\",\n    \"filename\": \"services/clip-worker/.gitignore\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 2,\n    \"deletions\": 0,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/e41883a0cb2fdd9b17a44f3c1780aa9bb418e5fc/services%2Fclip-worker%2F.gitignore\"\n  },\n  {\n    \"id\": \"github-pr-file-file-3c8f035ccfbf844f\",\n    \"filename\": \"services/clip-worker/Dockerfile\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 20,\n    \"deletions\": 0,\n    \"changes\": 20,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/e41883a0cb2fdd9b17a44f3c1780aa9bb418e5fc/services%2Fclip-worker%2FDockerfile\"\n  },\n  {\n    \"id\": \"github-pr-file-file-a5bdb4f38a9cba1d\",\n    \"filename\": \"services/clip-worker/README.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"added\",\n    \"additions\": 35,\n    \"deletions\": 0,\n    \"changes\": 35,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/e41883a0cb2fdd9b17a44f3c1780aa9bb418e5fc/services%2Fclip-worker%2FREADME.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-737c8b8e06037028\",\n    \"filename\": \"services/clip-worker/package.json\",\n    \"label\": \"dependency_or_build\",\n    \"status\": \"added\",\n    \"additions\": 14,\n    \"deletions\": 0,\n    \"changes\": 14,\n    \"blob_url\": \"https://github.com/tafflera\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-b5c4ba0e4077b242", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382788, "scanner": "foundry_dataset", "fingerprint": "8ea264f60613dd5cfbbb00456f44f46fc35b4651b148ba735059743919c2be8b", "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": "taffleraffle/sales-dashboard#81", "human_labels": ["ui_or_frontend", "ui_workflow_gap"], "issue_number": "81", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.742, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-2953c0b1a0ad9320", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#81\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#81\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a47652b415e730e7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/81\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/81\\nTitle: Bulk upload \u2192 folder (angle labelling)\\nBody:\\nUpload modal can now file a whole batch into a chosen or newly-created folder (the angle), so recorded script batches stay grouped and findable. Build green.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-3794bd053bfad622\",\n    \"filename\": \"src/pages/ads/AdsCreativeLibrary.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 3,\n    \"deletions\": 0,\n    \"changes\": 3,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/b8621e6adb8ab5209786580d548b283fccddc02d/src%2Fpages%2Fads%2FAdsCreativeLibrary.jsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-1532f576798afe42\",\n    \"filename\": \"src/pages/ads/library/upload.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 46,\n    \"deletions\": 2,\n    \"changes\": 48,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/b8621e6adb8ab5209786580d548b283fccddc02d/src%2Fpages%2Fads%2Flibrary%2Fupload.jsx\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-182c8c389137aa0d\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\":\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-911acd3b84c90613", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382787, "scanner": "foundry_dataset", "fingerprint": "c2f70835cc4c6d572f44ee9184e83b28260bbdf0120aa5c985ab9338d42420f6", "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": "taffleraffle/sales-dashboard#80", "human_labels": ["ui_or_frontend", "ui_workflow_gap"], "issue_number": "80", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.837, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-8e3310037a665fdc", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#80\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#80\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d0e5fd8ea946af7c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/80\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/80\\nTitle: Clip Editor: click-to-seek on the timeline\\nBody:\\nTimeline strip is now click-to-seek so 'Cut at playhead' works at any custom point. Build green.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-1b77b72d34d7e192\",\n    \"filename\": \"src/components/ads/ClipEditorModal.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 24,\n    \"deletions\": 7,\n    \"changes\": 31,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/31a8139012ba3f21e9f810fe11732f078538adf6/src%2Fcomponents%2Fads%2FClipEditorModal.jsx\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-96a9a061792b7c70\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-d6bb1825da05c75b", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382786, "scanner": "foundry_dataset", "fingerprint": "c62846d6a2432782638756529d6c1dd65f7bf7592baa1613651aaa5d3de6791f", "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": "taffleraffle/sales-dashboard#8", "human_labels": ["data_schema_persistence"], "issue_number": "8", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.822, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-68f82cf30cfae40c", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#8\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#8\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-35f1f13781f7cd24\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/8\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/8\\nTitle: fix: EOD dashboard pending bug; Setter leaderboard; Marketing width consistency\\nBody:\\n## Critical fix\\n\\n- **EOD dashboard was always showing everyone as 'Not submitted'** \u2014 root cause: I was selecting `submitted_at` which doesn't exist on either eod_reports table. Supabase returned a 400 on every query and data came back null. Switched to `updated_at` and added error logging.\\n\\n## Polish\\n\\n- **Setter Conversion Table \u2192 leaderboard cards.** Same pattern we built for the Closer Performance page. Initials avatar, primary stats (Sets/Dials/Revenue), rate pills (Pickup%, Call\u2192Set%, MC\u2192Set%, Auto). Full-card click, yellow hover glow.\\n- **Marketing page width** \u2014 dropped the per-table `max-w-[1400px]` caps. Both tables now anchor to the 1600px page wrapper edges, matching widths.\\n\\n## Still blocked on manual action\\n\\nLeads + Auto Bookings in Daily Tracker will continue to show 0 until you run this in Supabase Studio SQL editor:\\n```sql\\nALTER TABLE ghl_appointments ADD COLUMN IF NOT EXISTS \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-344893ce56c5e9d3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-d7b1b67eeb770d84", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382785, "scanner": "foundry_dataset", "fingerprint": "915393671305cebe96b5a85441d30e893822ecdc673a9ee9caa023a5366d0fb8", "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": "taffleraffle/sales-dashboard#78", "human_labels": ["ui_or_frontend", "ui_workflow_gap"], "issue_number": "78", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.777, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-90c267930887255d", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 5, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#78\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#78\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 4}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-83813c4bd19e877c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/78\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/78\\nTitle: Library split 2/3: OptVideoPlayer + editor/task modals extracted\\nBody:\\nSteps 3 + 5 of the staged split. OptVideoPlayer \u2192 its own component; the six editor/task-management modals + badges \u2192 library/editors.jsx (deps via shared/upload; submissions untouched, verified). Step 4 (notification bells) intentionally left in place \u2014 they're wired into the submission/ingest system. Page 12,489 \u2192 10,858 lines. Build green; caught 3 latent ReferenceErrors the build missed.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-6d9052d4be9fba16\",\n    \"filename\": \"src/components/ads/OptVideoPlayer.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"added\",\n    \"additions\": 691,\n    \"deletions\": 0,\n    \"changes\": 691,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/15d118874b63cd224c10667f6f38b5a9cd16c520/src%2Fcomponents%2Fads%2FOptVideoPlayer.jsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-5e343c70e3eb92a9\",\n    \"filename\": \"src/pages/ads/AdsCreativeLibrary.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 8,\n    \"deletions\": 2314,\n    \"changes\": 2322,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/15d118874b63cd224c10667f6f38b5a9cd16c520/src%2Fpages%2Fads%2FAdsCreativeLibrary.jsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-ce394f262b129e9c\",\n    \"filename\": \"src/pages/ads/library/editors.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"added\",\n    \"additions\": 1651,\n    \"deletions\": 0,\n    \"changes\": 1651,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/15d118874b63cd224c10667f6f38b5a9cd16c520/src%2Fpages%2Fads%2Flibrar\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-d5238305248aa74f", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382784, "scanner": "foundry_dataset", "fingerprint": "e22694978ddcd113be3c370d87abd5c2a5b61fc2a4e5e102cba24a621d468e71", "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": "taffleraffle/sales-dashboard#77", "human_labels": ["deployment_env_gap", "ui_or_frontend"], "issue_number": "77", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.777, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-6ff79f419240a7d4", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 3, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 3}, "linked_commit_count": 5, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#77\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: taffleraffle/sales-dashboard#77\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 3\nLabels: {'deployment_env_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5981989ba413c326\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/77\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/77\\nTitle: Library split 1/3: shared foundations + upload pipeline extracted\\nBody:\\nMechanical extraction per the audit plan: library/shared.jsx (cache, scope, constants, color/tint helpers, small atoms; SUPABASE_URL now env-driven with fallback) and library/upload.jsx (rename scheme, probes, TUS, queue, UploadModal incl. Clip Editor wiring). Page 15,042 \u2192 13,164 lines. Byte-exact moves, eslint accounting exact (zero new), submissions system untouched per Ben. Build green per step.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-2e42a924242f3520\",\n    \"filename\": \"src/pages/ads/AdsCreativeLibrary.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 12,\n    \"deletions\": 1890,\n    \"changes\": 1902,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/583e751f74e1326ff12f142c179f9df1746f4f47/src%2Fpages%2Fads%2FAdsCreativeLibrary.jsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-293afcecfa877d39\",\n    \"filename\": \"src/pages/ads/library/shared.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"added\",\n    \"additions\": 374,\n    \"deletions\": 0,\n    \"changes\": 374,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/583e751f74e1326ff12f142c179f9df1746f4f47/src%2Fpages%2Fads%2Flibrary%2Fshared.jsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-6e7659c9ab96f75e\",\n    \"filename\": \"src/pages/ads/library/upload.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"added\",\n    \"additions\": 1551,\n    \"deletions\": 0,\n    \"changes\": 1551,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/583e751f74e1326ff12f142c1\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-d2778dc45e879a47", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382783, "scanner": "foundry_dataset", "fingerprint": "e5e5bad8398a7233e18b11e4b0201a18f6572318c27017a44b75c220eb17c12f", "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": "taffleraffle/sales-dashboard#75", "human_labels": ["ui_or_frontend", "ui_workflow_gap"], "issue_number": "75", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.877, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-0cb90fcb877f6f8f", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 7, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 7}, "linked_commit_count": 2, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#75\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#75\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 7\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 7}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-db0dbf4a2aa69de3\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/75\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/75\\nTitle: UI touch/responsive batch: gallery, touch actions, native dialogs\\nBody:\\nAudit items: gallery grid collapse + filtered-empty state, hover-only actions invisible on touch, KPI grid overflow, window.confirm/alert \u2192 ConfirmModal. Build green.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-28da9ffcb2ac0bbd\",\n    \"filename\": \"src/components/ads/TestBatchDetailModal.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 36,\n    \"deletions\": 6,\n    \"changes\": 42,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/090a9d528428e35339b26cced5b3064a20a98137/src%2Fcomponents%2Fads%2FTestBatchDetailModal.jsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-a9e3394e72f0039c\",\n    \"filename\": \"src/index.css\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 25,\n    \"deletions\": 0,\n    \"changes\": 25,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/090a9d528428e35339b26cced5b3064a20a98137/src%2Findex.css\"\n  },\n  {\n    \"id\": \"github-pr-file-file-6fb8ec260dba9a3d\",\n    \"filename\": \"src/pages/AttributionCoverage.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 3,\n    \"deletions\": 3,\n    \"changes\": 6,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/090a9d528428e35339b26cced5b3064a20a98137/src%2Fpages%2FAttributionCoverage.jsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-3918d8d75bdbb8bb\",\n    \"filename\": \"src/pages/EmailFlows.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 2,\n    \"changes\": 4,\n    \"blob_url\": \"https://github.com/taffl\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-f97e1b702d612acb", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382782, "scanner": "foundry_dataset", "fingerprint": "713df477f69f7819bbe0641cd70f861d46d20c8924ee6fcfd64177485bc70ee1", "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": "taffleraffle/sales-dashboard#71", "human_labels": ["agent_instruction_gap", "ui_or_frontend"], "issue_number": "71", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.842, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-6f095a2beb4119e1", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 4, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#71\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#71\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 4\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-3beff16c776b731e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/71\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/71\\nTitle: Dead-code sweep: -1,300 lines from the library file\\nBody:\\nMechanical deletion of the unrendered Triage/Launch/ExternalLink components + orphaned filter state, per the architecture audit. No behavior change; boundaries grep-verified; build green.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-6934c9fcb78fe8c2\",\n    \"filename\": \"src/pages/ads/AdsCreativeLibrary.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 3,\n    \"deletions\": 1325,\n    \"changes\": 1328,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/a14a49512513db83c13cbf8d3e8f0e59a9dcc38b/src%2Fpages%2Fads%2FAdsCreativeLibrary.jsx\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-831c451376205dae\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-93aab7f8be5f3afa", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382781, "scanner": "foundry_dataset", "fingerprint": "3901bfbdda1b594826b03b2327b787966a1e69374e9f65e5a82074fb69d75ce9", "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": "taffleraffle/sales-dashboard#70", "human_labels": ["agent_instruction_gap", "ui_or_frontend"], "issue_number": "70", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.912, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-82d4403f52903563", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#70\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#70\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 4}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-03c4afd8ae629612\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/70\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/70\\nTitle: Review fixes: stale search cache (WeakMap) + 4 UI edge cases\\nBody:\\nFindings from the high-effort multi-agent review of PRs #65/#68/#69 \u2014 one confirmed correctness bug (search cache survived row edits via object spread) and four verified UI regressions. Build green.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-01343715994fc64e\",\n    \"filename\": \"src/components/UploadDock.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 9,\n    \"deletions\": 5,\n    \"changes\": 14,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/13ae2e76f2b8adc018ffdd6483ec0ab460b9409e/src%2Fcomponents%2FUploadDock.jsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-533c76e5f7744392\",\n    \"filename\": \"src/components/editorial/atoms.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 4,\n    \"deletions\": 1,\n    \"changes\": 5,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/13ae2e76f2b8adc018ffdd6483ec0ab460b9409e/src%2Fcomponents%2Feditorial%2Fatoms.jsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-a6bff6cc14f910d9\",\n    \"filename\": \"src/pages/ads/AdsCreativeLibrary.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 24,\n    \"deletions\": 9,\n    \"changes\": 33,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/13ae2e76f2b8adc018ffdd6483ec0ab460b9409e/src%2Fpages%2Fads%2FAdsCreativeLibrary.jsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-04309d8301bb92b0\",\n    \"filename\": \"src/pages/ads/AdsTestScope.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 3,\n    \"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-aef3aaba82dab6d4", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382780, "scanner": "foundry_dataset", "fingerprint": "8e693c36581e890ae92fb351b81a1ee25b337aeaa66575f9eab338dda56b8b51", "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": "taffleraffle/sales-dashboard#7", "human_labels": ["data_schema_persistence"], "issue_number": "7", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-06974d521343fff1", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#7\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: taffleraffle/sales-dashboard#7\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-e9e28854ea32fa17\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/7\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/7\\nTitle: feat: big UI overhaul \u2014 Closer leaderboard, Setter layout, Marketing widths, EOD dashboard\\nBody:\\nOverhaul of four pages per Ben's review.\\n\\n**A. Closer Performance**\\n- Gauge orphan fix (was 7+1, now balanced 4+4)\\n- Closer Comparison: 13-col table \u2192 leaderboard card rows with initials avatars, primary stats (Closes/Revenue/Cash), and rate pills. Full-row clickable.\\n\\n**B. Setter Performance**\\n- \\\"Leads per Close\\\" moved from isolated full-width tile into the Conversion Rates Gauge grid (6/6, no orphan).\\n- Speed to Lead + GHL Pipeline side-by-side on lg+ with matched min-h so loading skeletons don't jump.\\n- Header rhythm normalized (mb-4), endangered fetch deferred 400ms.\\n\\n**C. Marketing**\\n- Both tables force `minWidth: 1400px` \u2192 identical anchored widths.\\n\\n**D. EOD page**\\n- New EODDashboard at `/sales/eod`: date picker + two tables (Closers | Setters). Submitted rows show key metrics; pending rows show \\\"+ File\\\" button. Click any row to go to the existing form.\\n- Existing form prese\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c7034b52a21cbd9c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-884db4df689bf9b0", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382779, "scanner": "foundry_dataset", "fingerprint": "6abed8a02b44b6e334a98add9240ea474040f71f70ebd00387bbfb5aef37042a", "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": "taffleraffle/sales-dashboard#68", "human_labels": ["ui_workflow_gap"], "issue_number": "68", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.742, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-4f77965e4537a97a", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#68\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#68\nRepo: taffleraffle/sales-dashboard\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: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-e33e7fbd20c1df73\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/68\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/68\\nTitle: Revert: 11 sales-page files accidentally shipped in #65\\nBody:\\nRestores the other session's in-flight files to the last reviewed state (76676ab); only the task-modal fix from #65 remains in effect. Ben explicitly confirmed via prompt. Build green.\\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-ce9998f1847cd537\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-80fb4688ade13b99", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382778, "scanner": "foundry_dataset", "fingerprint": "3d2cfde92ec17d33faeaa37f5fdc9fcc75aedcbd04171f6eea08ea97f6ac980a", "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": "taffleraffle/sales-dashboard#67", "human_labels": ["agent_instruction_gap"], "issue_number": "67", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.895, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-ff2b6e9cda5a450f", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#67\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#67\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-466e8b51acd0f036\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/67\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/67\\nTitle: fix(marketing): leads reconciliation footer + audience-aware chart spend\\nBody:\\nLast two open items from the congruence audits.\\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-10090a48a46ec6e1\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-8444639956f8cd7e", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382777, "scanner": "foundry_dataset", "fingerprint": "44b4841f6b7fb57b9cc89ce129e9feef43f5eca667e7c2ef0433e62499c9f551", "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": "taffleraffle/sales-dashboard#66", "human_labels": ["agent_instruction_gap"], "issue_number": "66", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.864, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-888793eabd4c645a", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#66\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#66\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1584c5b472f93b1b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/66\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/66\\nTitle: fix(closer): MTD label cosmetic\\nBody:\\n'Last mtd days' \u2192 'Month to date'\\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-3ae3390ba2757208\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-8bf7e190c875ef8a", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382776, "scanner": "foundry_dataset", "fingerprint": "fc5822043c50106d5981e520fbfd97188551177cf72ed28e4b3614f342b59654", "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": "taffleraffle/sales-dashboard#65", "human_labels": ["ui_workflow_gap"], "issue_number": "65", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.875, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-d90bd3ffe887f01f", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#65\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#65\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f676cff9b1643780\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/65\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/65\\nTitle: Fix task-modal clipping (xl + full-width submissions)\\nBody:\\nSubmissions cards were overflowing a ~420px half-column in the redesigned task modal. Modal now xl; player | details rail on top, submissions + upload zone full-width below. (Cherry-picked from local \u2014 the working clone is shared with another active session.)\\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-528ac38a227daceb\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-61dd85d99ec40f2b", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382775, "scanner": "foundry_dataset", "fingerprint": "3822e19ef3fe9e963312fc5535ad561071bfb20ddd22205eb252fbe4df8d2162", "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": "taffleraffle/sales-dashboard#64", "human_labels": ["runtime_failure"], "issue_number": "64", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.877, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-55548ed5e9d0d803", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#64\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: taffleraffle/sales-dashboard#64\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2ef70965dc7c0678\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/64\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/64\\nTitle: Hotfix: Edit Task modal crash (TDZ on taskFolders)\\nBody:\\nOpening any editing task crashed the library chunk \u2014 the new folder-rail callbacks read `taskFolders` before its declaration. Moved below; verified with a no-use-before-define sweep of the file (remaining hits are safe cross-scope module consts). Build green.\\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-d463d15ae8915b17\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-43b39ff8468ca021", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382774, "scanner": "foundry_dataset", "fingerprint": "e43ca8744f206dbd9674c9b2a6b9d5db663b44b2f231736f8204398544c2f79c", "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": "taffleraffle/sales-dashboard#63", "human_labels": ["agent_instruction_gap"], "issue_number": "63", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.877, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-a409c8e18de2c02d", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#63\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#63\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5311cb5e30bd7f54\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/63\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/63\\nTitle: fix(marketing): show-rate 7d/30d congruence + sane Net Show definition\\nBody:\\nShow-rate family now single-sourced from the audience rollup; Net Show = lives \u00f7 (lives + no-shows). 30d net was pinned at 100% by event-vs-booking subtraction.\\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-eca7255653b092a3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-d0a0d00190b24618", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382773, "scanner": "foundry_dataset", "fingerprint": "d02bfe4c9a3bd4aedf76e14cfeb846f60191e9e7b1974d8da10f26bbd7c6f3e7", "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": "taffleraffle/sales-dashboard#62", "human_labels": ["ui_workflow_gap"], "issue_number": "62", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-241daf3c87aabfff", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#62\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#62\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1cabfe3d3baf1602\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/62\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/62\\nTitle: fix(ui): custom date range closes on calendar click (nested portal)\\nBody:\\nOutside-click handler treated the portaled calendar as outside the range popover. Tagged + guarded.\\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-89e93a599967a0d9\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-c69737f01b4c6919", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382772, "scanner": "foundry_dataset", "fingerprint": "fa7e7cb1bfc7e6df75f1459f179bb99a75fb22c993fa000955bd767c934e68ad", "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": "taffleraffle/sales-dashboard#60", "human_labels": ["agent_instruction_gap"], "issue_number": "60", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-421a79d02f447037", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#60\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#60\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c0bbf6a7c48492f0\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/60\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/60\\nTitle: fix: every call drilldown reads the tiles' attribution view\\nBody:\\nNo Shows / Resch+Cancel / Ascensions / Show Rate converted to the single-source pattern; booking-name matching helpers deleted. Verified audience-filtered queries against prod.\\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-abff27cc4dc26bc4\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-7b849747b84f5685", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382771, "scanner": "foundry_dataset", "fingerprint": "529670d31da75cf794a81a4dc30f7c452e9445528932ba0dabd8b8323ef74ced", "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": "taffleraffle/sales-dashboard#59", "human_labels": ["agent_instruction_gap"], "issue_number": "59", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-1719454a7e255de8", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#59\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#59\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2055cd4064ce4774\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/59\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/59\\nTitle: fix(marketing): net-live drilldown uses the tile's attribution view\\nBody:\\nTile=6 / drilldown=0 under the Electricians chip \u2014 drilldown filtered by booking-name matching instead of the resolver views. Now both read lib_closer_call_audience; verified the exact query returns the 6 rows (Elijah, John \u00d72, Hugo, Brandon, Hector).\\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-13d682c2341ff44e\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-c0fe6da0b7b0f0d9", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382770, "scanner": "foundry_dataset", "fingerprint": "f5897040f31de9703f91d303d5bcc127457b3476d752220e847bf57eb3f58507", "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": "taffleraffle/sales-dashboard#57", "human_labels": ["api_integration_gap"], "issue_number": "57", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-ab17c03fb61ddc73", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#57\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: taffleraffle/sales-dashboard#57\nRepo: taffleraffle/sales-dashboard\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: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-803c81f93ec7b025\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/57\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/57\\nTitle: fix(app): stale-tab update prompt + visible drilldown errors\\nBody:\\nVersion polling + reload banner kills the stale-bundle class of report; drilldown fetch errors now render on screen instead of masquerading as empty data.\\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-2d9a0482dee43ab4\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-e22ed7ac4fc3d8f6", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382769, "scanner": "foundry_dataset", "fingerprint": "6d2c92c5799f82134956fb5b44d53ea9ad16f20f5b86752fca3beec3cf7c984f", "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": "taffleraffle/sales-dashboard#56", "human_labels": ["agent_instruction_gap"], "issue_number": "56", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.725, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-7a65a82bb689cbf3", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#56\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#56\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6b2c17fa65de0974\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/56\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/56\\nTitle: Library + queue UI cleanup batch (Ben's 2026-06-11 feedback)\\nBody:\\nFilter slimming (toggles/uploaded/latest-only gone, counts over visible rows), Messaging + Tests tabs hidden (routes alive), task-type field removed, multi-file bulk upload in Add-a-task, Drive-style drag feedback (drop-ready outlines + move toasts), Inbox bulk bar (move-to-folder with version-family semantics + bulk download). Adversarially reviewed; high-severity localStorage poisoning fix included.\\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-409855b5f370d8c8\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-49c4393b8c13cc62", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382768, "scanner": "foundry_dataset", "fingerprint": "e40e9502d219e4a22266f076498852103dac20990d80e3fe0840b3d58b5b02e6", "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": "taffleraffle/sales-dashboard#55", "human_labels": ["data_schema_persistence"], "issue_number": "55", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.912, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-2616e2aee4a57bde", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#55\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: taffleraffle/sales-dashboard#55\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-e454bbe4569486e4\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/55\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/55\\nTitle: feat(attribution): call-level typeform-funnel fallback (migration 153)\\nBody:\\nAlready applied to prod; repo record. All five 30d Unknown live calls now resolve via their own funnel.\\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-242eb3950ca6e9ce\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-6a8c962717dd1ab5", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382767, "scanner": "foundry_dataset", "fingerprint": "b32bb53caa98394257915e0e9d0a927ce3add733e1bef9c89955a075b3560645", "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": "taffleraffle/sales-dashboard#54", "human_labels": ["data_schema_persistence"], "issue_number": "54", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-76ca9a31c404830d", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#54\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: taffleraffle/sales-dashboard#54\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1576821f2b19991f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/54\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/54\\nTitle: feat(attribution): funnel-first precedence (migration 152)\\nBody:\\nMigration already applied to prod. Repo record. 10 of 95 last-30d rows re-attributed Electricians\u2192Restoration (verified diff in session).\\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-a00e0e94fa61714c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-c0b511658a7c282c", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382766, "scanner": "foundry_dataset", "fingerprint": "03a3f0705018bdca4faea3818d9917b699c7152bc7bdcffe78dc2d05d4ba2067", "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": "taffleraffle/sales-dashboard#53", "human_labels": ["agent_instruction_gap"], "issue_number": "53", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-ce1379e82d0a8edc", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#53\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#53\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5e64380f779603e7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/53\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/53\\nTitle: fix(eod): date cycling races + instant tile refresh after EOD submit\\nBody:\\nCancellation + stale-UI clearing in the EOD loader (cycling dates kept showing the previous day), and EOD submits now trigger the MV refresh so tiles update in seconds.\\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-e760aba0884fa82d\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-edd8580c6e6112d9", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382765, "scanner": "foundry_dataset", "fingerprint": "155b6340420bb7c8d0d3a7e68d04580a558fe09864d357d529b20c081a4cb810", "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": "taffleraffle/sales-dashboard#52", "human_labels": ["agent_instruction_gap"], "issue_number": "52", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.708, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-c038dcdca7aed07a", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#52\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#52\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-29cdea37e6fb8d7f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/52\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/52\\nTitle: Nav de-clutter: sidebar + ads tabs\\nBody:\\nSidebar trimmed to the 8 daily surfaces (Commissions / Setter Bot / Email Flows hidden, routes alive; Settings in avatar dropdown only). Ads bar: Orphans + Legacy behind \u22ef menu; sub-tab number prefixes removed. Note: the Library overhaul (filters panel, \u26a0 icon, Triage/Launch removal, drag fix) rode into master via PR #51's commit.\\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-8c2fc443a36d7e33\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-3e55a27f0c43c30d", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382764, "scanner": "foundry_dataset", "fingerprint": "aeb3977b9ebb1317c27a9c6c8fc8a03320fdaf82bcabd04b94e1adf769138d31", "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": "taffleraffle/sales-dashboard#51", "human_labels": ["data_schema_persistence"], "issue_number": "51", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.912, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-43e07cf459fd755c", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#51\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: taffleraffle/sales-dashboard#51\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6c16302593188631\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/51\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/51\\nTitle: fix: trend-chart currency, drilldown wiring, resolver materialization (migrations 150-151)\\nBody:\\nRound 2 of the tile-vs-drilldown audit + the measured perf fix. Run migrations 150 then 151. Details in commit message.\\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-ea1135ee6a32f3fc\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-6eda8fef0cb850f2", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382763, "scanner": "foundry_dataset", "fingerprint": "6e39b9f8bc95b8bd113e570c39595ac15ebd04e14ea25976593a73b140d47127", "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": "taffleraffle/sales-dashboard#50", "human_labels": ["data_schema_persistence"], "issue_number": "50", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-7ba0fdef0f6d3c06", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#50\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#50\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-e7dc1c6ce3d50a57\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/50\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/50\\nTitle: fix(migration-149): booking_id uuid type\\nBody:\\nghl_appointments.id is uuid \u2014 text PK broke the view join. Drop+recreate (table was empty from the failed run).\\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-843bff217a0f8044\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-149d3f1c3fc64383", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382762, "scanner": "foundry_dataset", "fingerprint": "8b782d0a7619a9de7d5a5539d5eec0f2a1965286cf48e05961dbf264f1f74a77", "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": "taffleraffle/sales-dashboard#49", "human_labels": ["data_schema_persistence"], "issue_number": "49", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-d86b5adbd4d54ec6", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#49\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: taffleraffle/sales-dashboard#49\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-67051becc9148f36\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/49\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/49\\nTitle: feat: edit prospect funnel/audience from the dashboard (migration 149)\\nBody:\\nClick any Funnel (bookings) or Audience (closes) cell \u2192 pick the correct audience \u2192 saved as a manual override at the top of the resolver chain + instant MV refresh. Unattributed rows flagged red, click-to-fix. Requires migration 149.\\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-8386701c3649f9ef\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-b53c593b5fdf3c45", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382761, "scanner": "foundry_dataset", "fingerprint": "2aa95d7d09f7df30d86a48923b62f426fea589bd87411222573397493ad1b767", "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": "taffleraffle/sales-dashboard#47", "human_labels": ["data_schema_persistence"], "issue_number": "47", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-92fcb45e0715718d", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#47\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: taffleraffle/sales-dashboard#47\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-be5e3bf44bcf3682\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/47\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/47\\nTitle: fix: schema audit \u2014 6 silent 400s + close-resolver correlation bug (migrations 147-148)\\nBody:\\nFull schema-vs-code audit (571 supabase.from() chains, 1,917 column refs verified against live DB) + SQL attribution-layer audit (59 views). Findings and fixes:\\n\\n## Critical \u2014 migration 147\\nlib_close_resolved's GHL fallback: `lower(t.email) = lower(t.email) OR t.phone = t.phone` \u2014 a tautology since migration 125. Any GHL-matched close without a direct ad id inherited the ad of the **globally most recent typeform response from anyone**, re-randomizing whenever a new lead submitted. This is the root cause of attribution flipping over time (John: Electricians \u2192 Restoration mid-day). Fix correlates to the matched contact's own email/phone. Also adds deterministic ORDER BYs to the booking-name LIMIT 1 laterals and aligns lib_close_audience's fallback predicate with its 145-unified twin.\\n\\n## Money bug \u2014 migration 148\\n`payment_blacklist` table never existed \u2192 commission figures **included p\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-81b3732d286e42e8\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-55b0241d0a699d67", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382760, "scanner": "foundry_dataset", "fingerprint": "7edd5fcbcca1362f3f5d5e2d7eb95d895832dec6e83e646c2ac10a8d5fbc44e0", "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": "taffleraffle/sales-dashboard#46", "human_labels": ["ui_workflow_gap"], "issue_number": "46", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-36472241947538b8", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#46\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#46\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5a9e123a364c1f86\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/46\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/46\\nTitle: fix(marketing): modal scroll lock + flag unattributed closes\\nBody:\\n1. Drilldown modal: body scroll-lock while open + overscroll-contain on the inner scroll area \u2014 hovering the modal scrolled the page behind it.\\n2. Closes drilldown: new Audience column; Unknown-audience closes show a red **UNATTRIBUTED** badge with a tooltip explaining they drop out of audience-filtered views.\\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-eb8116bce7ef3377\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-1015b918abe3f214", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382759, "scanner": "foundry_dataset", "fingerprint": "b1ab0c703298237c92ce01f2c27bfcb778a2f4f78569f8b463096a6e16141bc1", "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": "taffleraffle/sales-dashboard#44", "human_labels": ["data_schema_persistence"], "issue_number": "44", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-d2384b5933713e81", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#44\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#44\nRepo: taffleraffle/sales-dashboard\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: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9c85b4f6938fb8fd\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/44\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/44\\nTitle: fix(marketing): schedule the trend-MV refresh (migration 146)\\nBody:\\nThe MV the tiles read was never on a refresh schedule \u2014 drilldowns (live views) and tiles (snapshot) drifted apart whenever attribution syncs re-resolved. Migration adds a 10-min pg_cron job calling the existing self-throttled refresh function, plus an immediate refresh. Run in Supabase SQL editor.\\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-1ac3938937c68acc\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-7a016132981878fd", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382758, "scanner": "foundry_dataset", "fingerprint": "0c6f1b1c329df99b035e61ecb5087b78e8bf821f834d10eaba644743e2887589", "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": "taffleraffle/sales-dashboard#43", "human_labels": ["data_schema_persistence"], "issue_number": "43", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-4b49a79439b6db36", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#43\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: taffleraffle/sales-dashboard#43\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f6e895bd2015603b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/43\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/43\\nTitle: fix(marketing): net-live drilldown 0-rows + unify call audience attribution\\nBody:\\n**Bug 1 \u2014 drilldown showed 0 rows while the tile showed 3.** `fetchLiveCalls` selected `closer_eod_reports.new_live_calls`, a column that doesn't exist (real name: `live_nc_calls`). PostgREST 400'd, the error was swallowed, drilldown rendered empty. One-word fix + comment.\\n\\n**Bug 2 \u2014 numbers change inconsistently across audience filters.** The net-live view (`lib_closer_call_audience`) attributes audience ONLY by strategy-booking name match, while the closes view (`lib_close_audience`) uses the full close-resolver chain. elijah smith (closed Jun 5) is Electricians in closes but Unknown in net-live \u2014 so ALL reads 3 net-live / 2 closes but Restoration+Electricians reads 2 / 2. Migration 145 makes calls inherit the close-resolver audience when they map to a resolved close, with booking-name match as fallback. Output columns unchanged; ends with an MV refresh so tiles update immediately.\\n\\n**Migratio\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-3e85e213a3a2bcc6\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-656b8d7296eb9001", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382757, "scanner": "foundry_dataset", "fingerprint": "480c9ae4d8712c523abd5a0842f62a6f61565149648a84018a9f1b34c5d922e0", "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": "taffleraffle/sales-dashboard#41", "human_labels": ["data_schema_persistence"], "issue_number": "41", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-ee8c6293860e68bc", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#41\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#41\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-da725b260fbb4974\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/41\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/41\\nTitle: Angle Editor modal + fix electrician qualifiers ($20K\u2192$50K)\\nBody:\\n## Summary\\n\\nTwo issues Ben raised on the script writer:\\n\\n1. **Every electrician script opened with \\\"Licensed electrical contractors doing \\\\$20K+/month\\\"** \u2014 \\\"Licensed\\\" is fluff (a given), and \\\\$20K isn't our floor; we don't target anyone under \\\\$50K. Root cause: that exact string is the `qualifier` field on all 14 `opt-electricians-maps-*` angle rows, and the Edge Function injects it verbatim into the prompt.\\n\\n2. **No way to edit an angle from the UI** \u2014 operator could only manage proof characters, not the angle itself. Custom angles required writing SQL.\\n\\nThis PR:\\n\\n- **Migration 142** updates the 14 electrician-Maps qualifiers from `\\\"Licensed electrical contractors doing \\\\$20K+/month who want to rank in the top 3\\\"` \u2192 `\\\"Electricians doing \\\\$50K+/month who want to rank in the top 3\\\"`. Idempotent (filtered on the exact old string).\\n\\n- **`AngleEditorModal`** (new component) lets the operator edit name, qualifier, p\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c5a8c47f41f6ace9\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_ha\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-6209281ab5d30012", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382756, "scanner": "foundry_dataset", "fingerprint": "dc5dd13a79a0bbc9f54f9d0f065394fd46a587edde20f441179a048f5da19fab", "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": "taffleraffle/sales-dashboard#40", "human_labels": ["data_schema_persistence"], "issue_number": "40", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-7333dd4f9cea4a16", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#40\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#40\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5574f12a2f55a6a3\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/40\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/40\\nTitle: Data Health banner + migration 141 (fix John's slug)\\nBody:\\n## Summary\\n\\nBen: \\\"can we make sure all data is accurate in the future please\\\".\\n\\nTwo parts, one PR:\\n\\n### 1. DataHealthBanner\\n\\nComponent at the top of /sales/marketing. Polls every 60s. Four checks, with a Refresh button + an expandable detail panel:\\n\\n| Check | Source | Triggers when |\\n|---|---|---|\\n| Matview age | \\\\`_marketing_trend_refresh_log\\\\` | >5m amber, >15m red |\\n| Tile/drilldown drift | matview sum vs canonical \\\\`lib_strategy_booking_resolved\\\\` minus \\\\`booking_excluded\\\\` | non-zero delta |\\n| Unattributed bookings | \\\\`audience='Unknown'\\\\` last 7d | count > 0 |\\n| Untracked typeforms | \\\\`ad_id IS NULL\\\\` last 7d | count > 0 |\\n\\nToday's tile=9-vs-drilldown=8 would have shown up as a red drift indicator immediately instead of requiring Ben to count rows.\\n\\n### 2. Migration 141\\n\\nMigration 140's seeded override used \\\\`'electricians'\\\\` (plural) but \\\\`audience_definitions\\\\` only has \\\\`'electrician'\\\\` (singular). \\\\`audience\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-50c24cc6733e9a2c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifac\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-d8542aba7764bf4c", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382755, "scanner": "foundry_dataset", "fingerprint": "669a503b5ad8ebd31cae64782cffa89f53a4aeb259ef303804dd8ac5b82673e8", "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": "taffleraffle/sales-dashboard#4", "human_labels": ["ui_workflow_gap"], "issue_number": "4", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.645, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a5ce982b5ec5d12d", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#4\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#4\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-34b3ba0fbf6521e7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/4\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/4\\nTitle: fix: unify page-level max-w cap instead of orphan-row 2xl breakpoints\\nBody:\\nFix for the orphan-row formatting issues on Closer / Setter / Marketing pages (per Ben's screenshot showing 6 cards on row 1 + 2 cards alone on row 2 for the 8-item KPI grid, plus fully-stretched 4-item gauge row).\\n\\nRevert the 2xl:grid-cols-N breakpoints I added in PR #3 \u2014 they picked targets that didn't divide the item counts cleanly (8/6 \u2192 6+2 orphan, 5/4 \u2192 4+1 orphan). Replace with a single page-level max-w-[1600px] mx-auto wrapper on each page, which keeps the natural lg: column counts while stopping cards from sprawling full-viewport.\\n\\n1600px target: 8-card row @ ~180px per card, which is what the 1440px era effectively rendered (accounting for sidebar + padding).\\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-2e4265f90fdd7cf9\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-4dfe144e0bce1cc7", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382754, "scanner": "foundry_dataset", "fingerprint": "7cf6134472785716c2b48657ea2f6737f48772987eb10f5438d40eff3fa84198", "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": "taffleraffle/sales-dashboard#39", "human_labels": ["data_schema_persistence"], "issue_number": "39", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-d886f93e5d1b4443", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#39\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#39\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9f590e22824a52a0\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/39\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/39\\nTitle: Per-ad audience overrides + John Ziello fix (migration 140)\\nBody:\\n## Summary\\n\\nJohn Ziello's booking on 2026-06-07 was attributed to Restoration even though every typeform submission against the ad (\\\\`ad_id=120248310082800530\\\\`) carried \\\\`utm_campaign=\\\"SCIO - Electricians - VSL - Fire Agency\\\"\\\\`. Root cause: the \\\\`ads\\\\` table mirror has that ad_id's current campaign as \\\"SCIO -Restoration - VSL - New SEO Rules - Images\\\". Meta lets ads be duplicated / moved between campaigns, and the typeform UTM is captured at submission time while the ads mirror reflects the current Meta state \u2014 they diverge.\\n\\nThe existing \\\\`campaign_audience_overrides\\\\` table (migration 113) is per-campaign, so overriding it would flip every ad in that campaign \u2014 too coarse if other ads in the campaign legitimately are Restoration.\\n\\nMigration 140 adds a per-ad override layer:\\n\\n\\\\`\\\\`\\\\`\\nCOALESCE(\\n  audience_display_name(ao.audience_slug),     -- ad-level override (NEW)\\n  audience_display_name(co.audience_slug),  \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-a4e8511c44aeac93\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_h\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-a113f4e8e8015689", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382753, "scanner": "foundry_dataset", "fingerprint": "8f07a1ffa439d4b45b620f300f8a35b6062a7d885c9d17e888a57e37c04f009b", "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": "taffleraffle/sales-dashboard#37", "human_labels": ["ui_workflow_gap"], "issue_number": "37", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a3097f6b2ea754be", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#37\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#37\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f1a9fbf04254c3ac\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/37\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/37\\nTitle: RowActions: clear busy on success + guard aggregate rows + log RPC errors\\nBody:\\n## Summary\\n\\nThree bugs caught by the code-review pass on the recent marketing drilldown work:\\n\\n1. **Buttons stayed disabled after a successful mark.** \\\\`apply()\\\\` and \\\\`restore()\\\\` only called \\\\`setBusy(false)\\\\` in the catch block \u2014 on success the busy flag was never cleared. Because \\\\`RowActions\\\\` doesn't unmount when bookings/leads reload in place (the row's _id stays the same, just \\\\`status\\\\` flips), the button remained \\\\`disabled\\\\` forever. Operator could mark one row and no more until they closed and reopened the modal.\\n\\n2. **Aggregate-only live-call rows would FK-violate if marked.** \\\\`fetchLiveCalls\\\\` synthesizes filler rows with \\\\`_id='agg-<eod_report_id>-<i>'\\\\` to make the drilldown total match the tile. Those aren't real \\\\`closer_calls.id\\\\` values, so any \\\\`closer_call_excluded\\\\` upsert against them would fail with a FK violation. Hidden the entire action bar on \\\\`aggregate_only\\\\` rows \u2014 they ex\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-6a786d7ebc5ab605\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooc\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-b3e3d249c631783f", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382752, "scanner": "foundry_dataset", "fingerprint": "019453b9ac4fe5b8e886bb880e794d8ac07c36061c5e55ab6cf95cd387cc975c", "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": "taffleraffle/sales-dashboard#36", "human_labels": ["runtime_failure"], "issue_number": "36", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-47e802deb21fc3c9", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#36\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: taffleraffle/sales-dashboard#36\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f0c4229cb0fb1655\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/36\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/36\\nTitle: Marketing tiles read matview (live view times out)\\nBody:\\n## Summary\\n\\nThe live \\\\`lib_marketing_by_audience_daily\\\\` view returns \\\\`57014 canceling statement due to statement timeout\\\\` for any read at all \u2014 even a 1-row filtered select. Five reads in MarketingPerformance.jsx hit it; the page's main audienceDaily fetch is \\\\`select('*').limit(2000)\\\\` with no filter, so it always times out and the tiles never get fresh numbers. That's the root cause of \\\"marking does nothing to CPL\\\" \u2014 drilldown row flips, tile stays.\\n\\n- All five reads switched to the matview \\\\`lib_marketing_by_audience_daily_mv\\\\` from migration 139.\\n- RowActions now triggers \\\\`refresh_marketing_trend_mv()\\\\` (60s-throttled) after mark + restore so the matview catches up and the tile recounts within the throttle window.\\n\\n## Test plan\\n\\n- [ ] Open /sales/marketing \u2014 confirm KPI tiles populate within a second (used to hang or revert).\\n- [ ] Open Cost Per Lead drilldown \u2192 mark any clean lead spam \u2192 wait ~60s, refresh \u2192 tile lead \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-20aefa1c0e35d59a\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-ecf16678758b553c", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382751, "scanner": "foundry_dataset", "fingerprint": "436193e4d24ad3d42d433bcc1bddf9725a313bbe6ca966c8fb157da08de5a79b", "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": "taffleraffle/sales-dashboard#34", "human_labels": ["data_schema_persistence"], "issue_number": "34", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-594ea67b9a3b2f77", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#34\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#34\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-eda0c4fc5567040d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/34\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/34\\nTitle: Drilldown: Revenue tier on leads + email fallback for bookings\\nBody:\\n## Summary\\n\\nTwo related gaps that were leaving the Revenue column showing \\\"\u2014\\\" for \\\"certain people\\\" across leads / bookings / qualified bookings:\\n\\n1. **Leads drilldown had no Revenue column.** \\\\`fetchLeads\\\\` never selected \\\\`typeform_responses.revenue_tier\\\\` (it's a top-level TEXT column on the table, added in migration 035). Now selected, included on every lead row, surfaced via \\\\`BOOKING_REVENUE_COL\\\\` on the cpl drilldown.\\n\\n2. **Bookings revenue was sparse.** \\\\`fetchBookings\\\\` only read \\\\`revenue_tier\\\\` from \\\\`lib_strategy_booking_resolved\\\\` \u2014 which only carries the tier when the booking was attributed through the typeform\u2192ghl_appointments join. Direct calendar bookings, manual entries, and pre-resolver rows surfaced with a null tier even when the prospect HAD answered the revenue question on a typeform.\\n\\n   Added a backfill: collect the emails of bookings that still need a tier, batch-lookup \\\\`typeform_res\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-6ddca3e55fdb3636\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_ha\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-c7bb3fc7d60ce896", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382750, "scanner": "foundry_dataset", "fingerprint": "3ce6229bf02e076969b21a16b9bb4a22a3fa944d7cb75d7dcc1f2955edd3be5a", "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": "taffleraffle/sales-dashboard#33", "human_labels": ["agent_instruction_gap"], "issue_number": "33", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-236fdd301e5ec9f7", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#33\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#33\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-e870fa5675a1fe1a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/33\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/33\\nTitle: Live calls drilldown: total matches tile via aggregate fallback\\nBody:\\n## Summary\\n\\nBen opened the Net New Calls drilldown \u2014 tile said 4, table said \\\"0 rows shown\\\" with the empty state \\\"Closers may have filed aggregate-only EODs without per-row data\\\". A hard contradiction.\\n\\nCause: tile reads aggregate \\\\`closer_eod_reports.new_live_calls\\\\`. Drilldown read only per-row \\\\`closer_calls\\\\`. When a closer files just the EOD count without per-row detail, the drilldown is blind to those calls.\\n\\nFix: \\\\`fetchLiveCalls\\\\` now synthesizes \\\"(aggregate-only)\\\" filler rows for any (aggregate \u2212 per-row) delta per EOD, so total rows === tile count. Per-row rows still render with full detail (prospect, outcome, revenue); aggregate-only rows show the closer + date + the explanation string.\\n\\nSkipped under an audience filter \u2014 the aggregate isn't funnel-attributed, so we'd over-count if we surfaced it under a single funnel.\\n\\n## Trade-off\\n\\nAggregate-only rows can't be marked spam / DQ because they have n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-d927b479a2451e51\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_u\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-144f5a5cc899332f", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382749, "scanner": "foundry_dataset", "fingerprint": "fe773ea9e27ac2e50f189e0719f0fbbc83d4a1670efd8c5d2ab38d370349e85c", "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": "taffleraffle/sales-dashboard#32", "human_labels": ["ui_workflow_gap"], "issue_number": "32", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-bd3d9372a51a0a80", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#32\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#32\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b9673c0a04ae5cd1\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/32\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/32\\nTitle: Leads drilldown: include untracked typeforms (booking\u2192lead join)\\nBody:\\n## Summary\\n\\nBen flagged that prospects appearing in the Qualified Bookings drilldown were not appearing in the Cost Per Lead drilldown for the same window. Root cause: \\\\`fetchLeads\\\\` was filtering out every typeform whose \\\\`ad_id\\\\` didn't resolve via \\\\`lib_ad_audience\\\\`. So organic, direct, referral, or any not-yet-tracked-form lead became a \\\"phantom\\\" \u2014 visible as a booking but invisible as the lead it came from.\\n\\nThis PR drops the ad-attribution filter. Unmapped typeforms now appear with audience \\\\`Untracked\\\\` and a yellow \\\\`untracked\\\\` status pill, distinct from qualified ad-attributed leads. The audience filter chip still excludes them when a specific funnel is selected, so funnel-by-funnel views stay clean.\\n\\n## Trade-off\\n\\nTile vs drilldown count divergence is now intentional \u2014 the drilldown is a superset of the Leads tile (which still reads \\\\`leads_d\\\\`, excluding marks + unmapped). This matches the Bookings dr\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b7ffbe20ab999eaa\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurren\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-fb1f47aaba24a523", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382748, "scanner": "foundry_dataset", "fingerprint": "44cd6204641a6e46fcd5ad5c84099aeaffc4b91486c75557620c7cf4e5c2b8b8", "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": "taffleraffle/sales-dashboard#31", "human_labels": ["ui_workflow_gap"], "issue_number": "31", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-1a0de32b06113b92", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#31\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#31\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c78e33b13912169d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/31\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/31\\nTitle: Leads drilldown: show manually-marked spam + allow restore\\nBody:\\n## Summary\\n\\nBen flagged that a known spam lead (a typeform with first name \\\"penis\\\") wasn't appearing in the Cost Per Lead drilldown. Root cause: \\\\`fetchLeads\\\\` was dropping every row in \\\\`lead_excluded\\\\` before the drilldown saw them \u2014 same shape of bug the bookings drilldown had pre-#29.\\n\\nOnce a lead got marked spam, it vanished. No way to verify the decision, no way to restore a false positive.\\n\\nThis PR mirrors the bookings fix:\\n\\n- **\\\\`fetchLeads\\\\`** now keeps marked rows, joins on \\\\`lead_excluded.reason\\\\`, and stamps each row with a status (\\\\`qual\\\\` / \\\\`spam\\\\` / \\\\`dup\\\\` / \\\\`removed\\\\`). The ad-attribution drop (typeforms with no mapped \\\\`ad_id\\\\`) is unchanged \u2014 that's the contract with the Leads tile, which only counts ad-attributed leads.\\n- **cpl drilldown** gains a Status column (reuses \\\\`BOOKING_TYPE_COL\\\\`; the renderer + \\\\`STATUS_STYLE\\\\` are status-agnostic).\\n- **\\\\`RowActions.restore\\\\`** is now table-agnostic \u2014 de\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-d15621d7e85aa212\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_u\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-5b82f83725debc17", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382747, "scanner": "foundry_dataset", "fingerprint": "8e80b23c438ef8758df673f446728a62a87bc9396dda76c7eb679ed788efe2c8", "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": "taffleraffle/sales-dashboard#30", "human_labels": ["agent_instruction_gap"], "issue_number": "30", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-c5b3c41623105e49", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#30\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#30\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5084b17bfa860a88\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/30\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/30\\nTitle: Drilldown: add Revenue tier column to booking drilldowns\\nBody:\\n## Summary\\n\\nAdds the prospect's self-reported revenue bracket (Typeform `revenue_tier`) as its own column on the **Bookings / Qualified Bookings / Cost Per Booking / Cost Per Q.Booking** drilldowns.\\n\\nIt's the strongest single qualification signal in the row \u2014 a \\\"\\\\$0-1k/m\\\" next to a no-email prospect is a near-certain spam mark, a \\\"\\\\$250k+/m\\\" is usually a real one. Currently the operator had to open the GHL contact to see it.\\n\\nAlso surfaced in the `ProspectCell` hover tooltip so it remains visible when the column scrolls out of frame on narrow windows (sits alongside Email \u00b7 Phone \u00b7 Funnel \u00b7 Calendar \u00b7 Call date \u00b7 Attribution).\\n\\n## Test plan\\n\\n- [ ] Open `/sales/marketing` \u2192 Cost Per Q.Booking drilldown \u2192 confirm a new **REVENUE** column between Funnel and Call Date with values like \\\"\\\\$50k-\\\\$100k\\\" (or \\\"\u2014\\\" when null).\\n- [ ] Hover any prospect name \u2192 confirm Revenue line appears in the tooltip alongside Funnel.\\n- [ ] Sa\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-8676480def87a964\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_u\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-d4700b588ce1f3d9", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382746, "scanner": "foundry_dataset", "fingerprint": "fc3ae61ffea45b7bd4a8a2766932ade6a0daad4a2ccc21fe38e7532eb814383c", "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": "taffleraffle/sales-dashboard#3", "human_labels": ["security_auth_secret"], "issue_number": "3", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-c98f47eeba078b2b", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#3\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#3\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-0032355a48640c65\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/3\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/3\\nTitle: fix: leads/auto_bookings pipeline, column sizing, EmailFlows perf; feat: gradient hover\\nBody:\\n## Summary\\n\\nFour fixes:\\n\\n1. **Data pipeline \u2014 leads and auto_bookings were silently returning 0**\\n   - Root cause: `ghl_appointments` table never had a `booked_at` column, but both writes and reads assumed it. Every upsert dropped the field; every read filtering on it matched nothing.\\n   - **Migration 022** adds the column + index + `NOTIFY pgrst` reload.\\n   - `metaAdsSync.fetchGHLLeadsByDate` now **throws** on missing creds / non-OK HTTP status (was silent `break`). Diagnostic log on success shows opps fetched + dates bucketed.\\n   - `metaAdsSync.syncMetaToTracker` now destructures `{ data, error }` on all Supabase reads and throws on error (was silent empty arrays).\\n   - Any failure surfaces via the red SyncStatusIndicator we wired in the last PR.\\n\\n2. **Column sizing at 2560px+ monitors**\\n   - Closer / Setter / Marketing pages had `lg:grid-cols-8` KPI grids designed for 1440px, which st\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-98db1b8f4d6e80e3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-04000a5ae3f3cce3", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382745, "scanner": "foundry_dataset", "fingerprint": "27c1bf77f576b32fd70dd4511eee702d1f2cf7a4e744a179d758340b93ee997e", "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": "taffleraffle/sales-dashboard#26", "human_labels": ["data_schema_persistence"], "issue_number": "26", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-3cb9298bd4b2ea4b", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#26\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#26\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6f8c2669e8300ee5\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/26\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/26\\nTitle: feat(objections): per-call quote + win/lose color + dedupe prospects\\nBody:\\n## What Ben asked for\\nFrom the screenshot of Daniel's \\\\\\\"Most Common Objections\\\\\\\":\\n1. Same prospect appearing twice (Adam Burrell, info@firstrestorationamerica.com).\\n2. One quote shared across all prospects \u2014 wanted a quote attached to each specific call.\\n3. No visual cue whether that call won or lost.\\n\\n## Fix at two layers\\n\\n**Edge function** (\\\\`supabase/functions/analyze-objections/index.ts\\\\`)\\n- Claude prompt now asks for \\\\`mentions: [{call_number, quote}]\\\\` \u2014 each call appears AT MOST ONCE with its OWN quote (max 25 words).\\n- Server dedupes by transcript id when building \\\\`call_references\\\\`, so even if the model slips the output is clean.\\n- Each stored ref now has \\\\`{prospect, date, url, quote}\\\\`.\\n- \\\\`occurrence_count\\\\` reflects the deduped length so the badge matches what's rendered.\\n- Falls back to the legacy \\\\`call_numbers\\\\` + \\\\`quotes\\\\` shape if the model returns that \u2014 backwards compatible.\\n\\n**Fr\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-efdaa3d676869498\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-9449b7a6a85c35f4", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382744, "scanner": "foundry_dataset", "fingerprint": "a1ef7d10b9217c8b119106c784e9f4b27be89370e41a3f3fd01ecc31b3e96a3a", "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": "taffleraffle/sales-dashboard#25", "human_labels": ["deployment_env_gap"], "issue_number": "25", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-2419c9924ace9e11", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#25\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: taffleraffle/sales-dashboard#25\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'deployment_env_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c09ab8e0ffbb0a3e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/25\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/25\\nTitle: fix(ghl): restore GHL_API_KEY reference in ghlCalendar.js \u2014 unblocks GHL sync\\nBody:\\n## What Ben saw\\nSync-status chip shows \\\\\\\"GHL appointments \u00b7 GHL_API_KEY is not defined\\\\\\\" after any auto-sync cycle. It's a hard ReferenceError, not rate-limit / 429 / config \u2014 every retry fails identically.\\n\\n## Root cause\\nIn PR #16 I refactored \\\\`ghlCalendar.js\\\\` to import \\\\`BASE_URL\\\\`, \\\\`GHL_LOCATION_ID\\\\`, \\\\`ghlFetch\\\\` from the new shared \\\\`ghlClient.js\\\\`, and removed the local \\\\`const GHL_API_KEY = import.meta.env.VITE_GHL_API_KEY\\\\` line. But three sanity-check guards inside the file still reference \\\\`GHL_API_KEY\\\\`:\\n- line 15: \\\\`if (!GHL_API_KEY || !GHL_LOCATION_ID)\\\\`\\n- line 185: \\\\`if (isCacheStale(cached) && GHL_API_KEY && GHL_LOCATION_ID)\\\\`\\n- line 213: \\\\`if (GHL_API_KEY && GHL_LOCATION_ID)\\\\`\\n\\nThose now throw \\\\`ReferenceError: GHL_API_KEY is not defined\\\\` the moment \\\\`syncGHLAppointments\\\\` is invoked, which happens on every auto-sync tick.\\n\\n## Fix\\nRe-add \\\\`const GHL_API_KEY = import.meta.env.VIT\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-205c92d6d44bc7a6\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"r\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-4227028f9202fb03", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382743, "scanner": "foundry_dataset", "fingerprint": "00fec24580b890447e584efc90ef01e0af81b6cd5439923aa67b40ccd19e58d1", "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": "taffleraffle/sales-dashboard#24", "human_labels": ["ui_workflow_gap"], "issue_number": "24", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-397c0beff5cf7cdb", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#24\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#24\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-60c7f0da64fad3fe\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/24\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/24\\nTitle: fix(date-picker): portal custom-range popover so it doesn't reflow the page\\nBody:\\n## What Ben saw\\nOpening the Custom date-range panel on \\\\`/sales/marketing\\\\` visually pushed the page content down \u2014 Marketing Performance header + KPI tiles shifted lower when the panel opened, instead of the panel floating over them.\\n\\n## Root cause\\nThe popover was a sibling of the preset-button row inside a \\\\`position: relative\\\\` wrapper and used \\\\`position: absolute\\\\`. Something about the ancestor stacking context \u2014 possibly the sticky header's \\\\`backdrop-blur-xl\\\\` creating a new containing block, or a flex parent reflowing \u2014 was breaking that absolute positioning in some layouts.\\n\\n## Fix\\nRender the popover via \\\\`createPortal(document.body)\\\\` with \\\\`position: fixed\\\\` coordinates measured from the Custom button's \\\\`getBoundingClientRect()\\\\`. Because the popover is now a direct child of \\\\`<body>\\\\`, no ancestor CSS can influence its position. The page layout can't move when it opens.\\n\\n- \\\\`useLayoutEffect\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-17351a88b1a06385\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccu\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-626330d1a3a44b1a", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382742, "scanner": "foundry_dataset", "fingerprint": "de43d0dd338c83954ae6a9b3028290d2e53a4081f502d86bb49f41aff93d95fe", "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": "taffleraffle/sales-dashboard#23", "human_labels": ["ui_workflow_gap"], "issue_number": "23", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.662, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-edb4fd4fef0500aa", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#23\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#23\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2581d826c0fffee3\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/23\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/23\\nTitle: style(leaderboards): distinct yellow-tinted card for Team Total rows\\nBody:\\n## Summary\\nTeam Total row at the bottom of the Closer and Setter leaderboards now has a **subtle yellow-tinted fill + full yellow border** instead of just a thin top-border on the same tile surface. Makes it unmistakable as an aggregate/summary row rather than another clickable team-member row.\\n\\n**Before:** \\\\`.tile border-t-2 border-opt-yellow/30\\\\` (same card surface + thin yellow top line)\\n**After:** \\\\`bg-opt-yellow/[0.06] border border-opt-yellow/30 rounded-2xl\\\\` (tinted card with solid yellow border all around, yellow label)\\n\\nSame change in \\\\`CloserOverview.jsx\\\\` and \\\\`SetterOverview.jsx\\\\` \u2014 two files, 6 lines each. No data / logic changes.\\n\\n## Test plan\\n- [ ] \\\\`/sales/closers\\\\` \u2014 Closer Comparison leaderboard: Team Total row at the bottom has a soft yellow tint, solid yellow border, yellow \\\"Team Total\\\" label.\\n- [ ] \\\\`/sales/setters\\\\` \u2014 Setter Conversion leaderboard: same treatment.\\n- [ ] Mobile (SE width):\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-31d3eb872bb70871\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccur\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-bf682b0a490001a5", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382741, "scanner": "foundry_dataset", "fingerprint": "525d3f6c0073ca19efbe64a84e416cb3dc3685f1cf02e1460113f176894335c8", "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": "taffleraffle/sales-dashboard#22", "human_labels": ["api_integration_gap"], "issue_number": "22", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-3012854efa3cfe61", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#22\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: taffleraffle/sales-dashboard#22\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-504c737f111d1c72\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/22\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/22\\nTitle: fix(ui): match setter-page card heights + always-open Speed to Lead table\\nBody:\\n## Two small fixes\\n\\n### 1. Setter page \u2014 equal-height side-by-side cards\\n\\\\`/sales/setters\\\\` had \\\"Recent Leads Set\\\" and \\\"Upcoming Strategy Calls\\\" in a side-by-side grid at different heights (one has 41 rows, the other has 5). Now both stretch to equal height with internal scrolling \u2014 bottom edges line up regardless of row count.\\n\\n- Grid uses \\\\`items-stretch\\\\`, both children are \\\\`h-full flex flex-col\\\\`\\n- Headers stay pinned at the top of each card; tables scroll internally with sticky thead so column headers remain visible while scrolling.\\n- \\\\`EndangeredLeadsTable\\\\` gets an opt-in \\\\`fillHeight\\\\` prop so it stretches on Setter page without affecting its free-standing layout on Sales Overview.\\n\\n### 2. Pipeline page \u2014 Speed to Lead table always open\\n\\\\`/sales/pipeline\\\\` \u2014 the \\\"Recent Leads \u2014 Response Times\\\" table was behind a collapsible chevron; Ben wants it always visible on page load. Removed the toggle\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e802216de1798064\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_sou\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-579461916c9eec2f", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382740, "scanner": "foundry_dataset", "fingerprint": "891e69cf67c64c374acb3173e09c9d7116179ad6a8a4b8f08546ec1113b87ce3", "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": "taffleraffle/sales-dashboard#21", "human_labels": ["data_schema_persistence"], "issue_number": "21", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-0be74ea60f5228ee", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#21\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#21\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-67e2f7eca9b242f3\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/21\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/21\\nTitle: feat: unified EOD table + preload email data + fix Unknown contacts + flow filter\\nBody:\\n## Four requests, one PR\\n\\n### 1. Unified EOD dashboard (/sales/eod)\\nReplaces the two separate Closer / Setter tables with **one team table** that shows everyone at once. Each row has a colored role pill (cyan Closer, purple Setter) and inline role-specific highlights.\\n\\nAlso added a summary strip with role-filter pills:\\n\\\\`\\\\`\\\\`\\n8 of 11 submitted \u00b7 3 pending        [All \u00b7 11]  [Closers \u00b7 5/5]  [Setters \u00b7 3/6]  [Pending \u00b7 3]\\n\\\\`\\\\`\\\\`\\n\\nRows sort pending-first (so the people you need to chase are always at the top), then alphabetically.\\n\\nLayout:\\n- **Closer highlights**: Booked \u00b7 Live \u00b7 Closes \u00b7 Cash \u00b7 Rev\\n- **Setter highlights**: Dials \u00b7 Pickups \u00b7 MCs \u00b7 Sets \u00b7 Rating\\n\\n### 2. Preload email data (/sales/email-flows)\\nAdded module-level caches (5-10min TTL) for \\\\`loadEmailStats\\\\`, \\\\`loadFlowGroups\\\\`, and \\\\`loadSubjectMeta\\\\`. Layout now pre-warms all three in parallel 5 seconds after mount \u2014 by the tim\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-611bbd28ce9f1090\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"rep\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-92ce33169627789f", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382739, "scanner": "foundry_dataset", "fingerprint": "2a5d252d02aba84bedb0abe39a5ed1413621b6aeeeef98bdeecc36e60b6ea6de", "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": "taffleraffle/sales-dashboard#20", "human_labels": ["data_schema_persistence"], "issue_number": "20", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-8996258866593612", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#20\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#20\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4ee075d7f7199285\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/20\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/20\\nTitle: fix(show-rate): exclude follow-up calls from show-rate math everywhere\\nBody:\\n## What Ben asked for\\nShow rate shouldn't be affected by follow-up calls \u2014 the funnel is about new calls (qualified strategy bookings). Before this PR, every show-rate formula in the app was \\\\`(live_nc + live_fu) / (nc_booked + fu_booked)\\\\`, which mixed follow-ups into both sides of the ratio and skewed the number.\\n\\n## Fix\\nEvery show-rate code path now uses:\\n\\\\`\\\\`\\\\`\\nshowRate = live_nc_calls / nc_booked\\n\\\\`\\\\`\\\\`\\n\\n## Where\\n**Marketing page** (biggest one)\\n- \\\\`syncEODToTracker\\\\` now populates \\\\`new_live_calls\\\\` / \\\\`net_new_calls\\\\` / \\\\`net_fu_calls\\\\` columns in marketing_tracker (schema already had them from migration 005, they just weren't being written).\\n- \\\\`computeMarketingStats\\\\` show_rate / gross_show_rate / net_show_rate / no_show_rate all use \\\\`new_live_calls / qualified_bookings\\\\`.\\n- EODReview inline sync also writes the NC-specific columns.\\n\\n**Overview pages**\\n- SalesOverview company showRate + lea\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-45f383bf3cd55775\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\":\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-5664f04cf083eba7", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382738, "scanner": "foundry_dataset", "fingerprint": "2abc6940c40db97fd649ca97f3ab7a37f7fac47a2bff857b501123b70836e584", "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": "taffleraffle/sales-dashboard#2", "human_labels": ["ui_workflow_gap"], "issue_number": "2", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-37612a90cb57b37f", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#2\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#2\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-04e4c24ef18d2a08\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/2\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/2\\nTitle: fix: Meta $0 bug, CallData scroll, email-flow UX; feat: hamburger drawer, edit/reorder flows\\nBody:\\n## Summary\\n\\nFour issues surfaced after the previous PR shipped \u2014 all fixed here.\\n\\n1. **Marketing Meta sync was reporting success but writing nothing to existing rows.** Root cause: a truthy-check at `syncMetaToTracker` skipped any `$0` / `0 leads` / `0 bookings` value, so pre-existing `marketing_tracker` rows never got their spend populated. Fixed by switching to a presence check (`!= null`). Missing Meta creds now throw instead of silent-skip, so the new `SyncStatusIndicator` can show the real error instead of a green checkmark.\\n\\n2. **CallData auto-scrolled the page on load.** The chat's \\\"scroll to latest\\\" effect fired on mount with no messages, and `scrollIntoView` scrolled the page viewport down. Guarded the effect so it only runs with actual content, and scrolls the chat container's own `scrollTop` instead of the whole page.\\n\\n3. **Email Flows UX overhaul**:\\n   - **Edit** \u2014 wired the \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-156d856c0a61fdd8\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-79fcc1f112353c1b", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382737, "scanner": "foundry_dataset", "fingerprint": "fca2a7eadb94d551c236b3afde04200e20c3ea520460dc4c153d91f6f9931248", "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": "taffleraffle/sales-dashboard#19", "human_labels": ["ui_workflow_gap"], "issue_number": "19", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-65a54166942bf2af", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#19\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#19\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-595fbeef5e88335f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/19\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/19\\nTitle: fix(marketing): pull fresh closer EOD data into tracker on Marketing mount\\nBody:\\n## What Ben saw\\nDays like 2026-04-21, 2026-04-19, 2026-04-18 showed 0 live_calls / 0 closes in the Daily Tracker even though closers had filed EODs with real numbers. The \\\"Synced 21 minutes ago\\\" chip suggested everything was current, but the EOD\u2192tracker sync was actually on a 1-hour cadence.\\n\\n## Root cause\\nI traced the whole path:\\n- \\\\`handleConfirmCloser\\\\` in EODReview:1981 already writes offers/closes/live_calls/etc. to marketing_tracker inline when a closer hits Confirm. Works.\\n- \\\\`syncEODToTracker\\\\` in useMarketingTracker:154 correctly picks up any days missed via is_confirmed=true filter + aggregation. Works.\\n- **The gap**: Marketing page mount was NOT triggering the sync explicitly. So the sync cadence was \\\"whenever the hourly auto-sync timer fires\\\". If you filed an EOD 20 min ago, marketing_tracker didn't reflect it for another 40 min.\\n\\nNot a data bug, a cadence bug.\\n\\n## Fix\\n\\\\`MarketingPerformance.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-9f2be63efdad59fb\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrenc\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-9586dfdb9596be04", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382736, "scanner": "foundry_dataset", "fingerprint": "62cacbf79f08f70f233daba292515669c25de4ff886d7ea15fed2750b8de379a", "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": "taffleraffle/sales-dashboard#18", "human_labels": ["data_schema_persistence"], "issue_number": "18", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-847073a5e4f0bb46", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#18\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: taffleraffle/sales-dashboard#18\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c27f69bc2683086b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/18\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/18\\nTitle: fix(marketing): stop creating future-dated marketing_tracker rows\\nBody:\\n## What Ben saw\\nDaily tracker showing rows for 2026-04-23 / -24 / -30 even though today is 2026-04-22. Each had \\\\$0 spend and 0 everything except qualified_bookings=1-2, which was also dragging down the trailing-period Show% / Close% numbers in the summary table above.\\n\\n## Root cause\\n\\\\`syncMetaToTracker\\\\` bucketed qualified_bookings by \\\\`appointment_date\\\\`. A strategy call scheduled for next week created a marketing_tracker row dated next week with qualified_bookings=1. Nothing in the sync or the UI filtered to \\\"only past dates\\\".\\n\\n## Fix (three parts)\\n\\n1. **Sync** (\\\\`src/services/metaAdsSync.js\\\\`): clamp both auto_bookings and qualified_bookings date buckets to \\\\`[trackerSince, today]\\\\`. Future-scheduled calls no longer spawn future-dated rows.\\n2. **UI** (\\\\`src/hooks/useMarketingTracker.js\\\\`): \\\\`load()\\\\` now also adds \\\\`.lte('date', today)\\\\` \u2014 safety net for rows that already exist in production.\\n3. **Mig\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-2fec92b5125ce855\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-8b17ba66c4fd4168", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382735, "scanner": "foundry_dataset", "fingerprint": "f8a73e1614da368252d2dc7521b50985bb71261e736c727bd6676a191e83e2b8", "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": "taffleraffle/sales-dashboard#16", "human_labels": ["security_auth_secret"], "issue_number": "16", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-5be2008d82889d3b", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#16\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#16\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ad931c2d82b250c7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/16\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/16\\nTitle: fix(ghl): route every GHL call through retry-backoff + surface fetch errors\\nBody:\\n## Summary\\nBen saw \\\\`/sales/pipeline\\\\` still showing \\\"no data available\\\" after PR #13. Root cause: PR #13 only wrapped \\\\`ghlPipeline.js\\\\` in the retry-backoff helper. Five other services (\\\\`ghlCalendar\\\\`, \\\\`ghlEmailFlows\\\\`, \\\\`engagementCheck\\\\`, \\\\`metaAdsSync\\\\`, \\\\`salesIntelligence\\\\`) still used raw \\\\`fetch()\\\\` with zero 429 handling. Those were still storming GHL's rate limit, eating the pipeline fetch in the race \u2014 and when the pipeline promise rejected, the UI silently rendered its \\\"no data\\\" empty state.\\n\\n## What changed\\n\\n**New:** \\\\`src/services/ghlClient.js\\\\` \u2014 single HTTP client. Exports \\\\`BASE_URL\\\\`, \\\\`GHL_LOCATION_ID\\\\`, \\\\`ghlHeaders\\\\`, \\\\`ghlFetch\\\\`. \\\\`ghlFetch\\\\` does 4-attempt exponential backoff on 429 (1s/2s/4s/8s), honors \\\\`Retry-After\\\\`.\\n\\n**Every GHL-consuming service refactored to use it:**\\n- \\\\`ghlPipeline.js\\\\` \u2014 removed the inline duplicate, now imports.\\n- \\\\`metaAdsSync.js\\\\` \u2014 \\\\`fetchGH\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-885012aa96bce0a4\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artif\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-18db2b7ddb3122ba", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382734, "scanner": "foundry_dataset", "fingerprint": "1ef073dec9353b5d66a80db58e8dbeadfefead4734d7a29adf547c3677dbe86e", "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": "taffleraffle/sales-dashboard#10", "human_labels": ["agent_instruction_gap"], "issue_number": "10", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.592, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-febb8c3c9034c04e", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#10\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#10\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9de01848246e1984\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/10\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/10\\nTitle: chore: dead-code cleanup from QA sweep\\nBody:\\nTiny follow-up from the verification agent:\\n\\n- EODDashboard: unused `Loader` import\\n- SetterOverview: unused `DataTable` import, unused `wavvLoaded` state, unused `unassignedAuto` variable (leftover from the old 13-col table that's now leaderboard cards)\\n\\nBuild still passes. No functional 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-e734d85fa9330b4a\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-b1fcb0f6c97d50d2", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 382733, "scanner": "foundry_dataset", "fingerprint": "42c07452bcb18f59112df9be5d092846a531eed71cc8e0c18cc115d13c10e062", "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": "taffleraffle/sales-dashboard#1", "human_labels": ["security_auth_secret"], "issue_number": "1", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.822, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-3b90b3c4947d7c4e", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#1\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: taffleraffle/sales-dashboard#1\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-679833533a968e80\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/1\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/1\\nTitle: feat: full-width layout, auto-sync completeness, design system unification\\nBody:\\n## Summary\\n\\n- **Marketing page auto-syncs** \u2014 removed the manual \\\"Sync Data\\\" button. Meta Ads + GHL pipeline now sync in the background every hour alongside Stripe, Fanbasis, GHL appointments, email flows, and EOD. New `SyncStatusIndicator` in the header shows freshness and lets users force a refresh.\\n- **Mobile + layout** \u2014 removed `max-w-[1440px]` so content fills wide monitors. Notification bell hidden until a real backend is built. Profile area is now a proper clickable dropdown with 44px tap targets that works on touch.\\n- **Design system** \u2014 added `.tile`, `.tile-hover`, `.tile-feedback`, `.dropdown-panel`, `.select-input`, toast utilities, and `ICON` size constants. Every wrapper card across 30 files swapped from the inline `bg-bg-card/border/rounded-2xl` trio to `.tile tile-feedback` for consistent hover feedback.\\n- **Toasts** \u2014 global `ToastProvider` mounted in Layout. `alert()` calls in Mark\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-8123d730cc87a4e3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-assumption_checks-cebaf89a5614c001", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 420345, "scanner": "foundry_dataset", "fingerprint": "d2ae83cc901c662918fe11872dacfb4c63362ce512ed323240aa11e616f8bd16", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 2, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#69", "issue_number": "69", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-2745bf2007919f82", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#69\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#69\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#69\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 69\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: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-62073113e61d7186", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411239, "scanner": "foundry_dataset", "fingerprint": "2a44b1f9d2f57dcaabf571f2336b0fd3f164b5bee9385b37a61ae1beda2b77e3", "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": {"ui_or_frontend": 4, "partial blueprint fit": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_alignment": 1, "human_reported_issue_no_linked_fix": 1, "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}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 27, "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_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 16, "node_types": {"repo": 1, "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": "taffleraffle/sales-dashboard#89", "issue_number": "89", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-5ecb4f6fe21418bb", "graph_gold_label": "assumption_check", "changed_file_labels": {"ui_or_frontend": 16}}, "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#89\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#89\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#89\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 89\nGraph consistency label: assumption_check\nNodes: 16\nEdges: 27\nNode types: {'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: {'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: {'ui_or_frontend': 4, 'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-b6d91783f3715ddd", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411238, "scanner": "foundry_dataset", "fingerprint": "a44ecaaa1848a04a3b45fe5be7c3b12f2bee904d9d1eac592a6f545eeda6cec1", "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": {"schema_or_data": 2, "ui_or_frontend": 2, "partial blueprint fit": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_alignment": 1, "human_reported_issue_no_linked_fix": 1, "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}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 27, "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_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 16, "node_types": {"repo": 1, "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": "taffleraffle/sales-dashboard#88", "issue_number": "88", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-bed559eff2b6ec25", "graph_gold_label": "assumption_check", "changed_file_labels": {"schema_or_data": 8, "ui_or_frontend": 8}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#88\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#88\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#88\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 88\nGraph consistency label: assumption_check\nNodes: 16\nEdges: 27\nNode types: {'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: {'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: {'not_resolved_or_not_observed': 3, 'ui_or_frontend': 2, 'schema_or_data': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-c3285dd5296175f6", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411237, "scanner": "foundry_dataset", "fingerprint": "671b941c4fbfdedfe6878dd82db2d6bd869d44669522ff248c63c88eb1de8912", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#8", "issue_number": "8", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-47f6dbfc8ea16ba0", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#8\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#8\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#8\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 8\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-6fb29a2bc1ab9f1d", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411236, "scanner": "foundry_dataset", "fingerprint": "8537daea0fa6ab099c04bd97f1b8f58fffb5640e187327610adc6e1fb42d9c12", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#7", "issue_number": "7", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-1abf18b59c9894d6", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#7\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#7\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#7\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 7\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-06fcd72725939d35", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411235, "scanner": "foundry_dataset", "fingerprint": "f5f9cf6850ec11126b8980535c20ef2ef81b1bb8edd9c86f6b4061d5ef4afac0", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 4, "data_schema": 1, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#55", "issue_number": "55", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-a77f209048c59d41", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#55\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#55\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#55\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 55\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: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-90ce7534d4b10736", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411234, "scanner": "foundry_dataset", "fingerprint": "640612e8a7b650c258921ccb85290f6a38375154d6dee2d97bcfd7c8d8d4a06f", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 4, "data_schema": 1, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#54", "issue_number": "54", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-760644b2421b572d", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#54\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#54\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#54\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 54\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: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-d30e5eb18db60a9c", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411233, "scanner": "foundry_dataset", "fingerprint": "a44b565fb65a708412123ef24b4265cd0b3de186651cc26715caca9a5aebc7f2", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 2, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 17, "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": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 2, "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": "taffleraffle/sales-dashboard#51", "issue_number": "51", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-5e8b6af622e63216", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#51\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#51\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#51\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 51\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 17\nNode types: {'link_quality': 4, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-624db37ff489527a", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411232, "scanner": "foundry_dataset", "fingerprint": "fa5ea3594575d20b9f2707ee11f1ccab7efac21a5815b58be79880ad61a42d64", "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, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 16, "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": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#50", "issue_number": "50", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-f5a66c9f749d7d46", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#50\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#50\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#50\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 50\nGraph consistency label: supported_by_high_confidence_link\nNodes: 13\nEdges: 16\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-f59979af377ddbd6", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411231, "scanner": "foundry_dataset", "fingerprint": "36156d487307707dfee82039c344bf214409ce73e91c31bba4f64eb560d247e2", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 4, "data_schema": 1, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#49", "issue_number": "49", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-2e1bb709a89ce798", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#49\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#49\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#49\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 49\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: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-4cbe6eb1eac1d21d", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411230, "scanner": "foundry_dataset", "fingerprint": "e88777ac53dd99b6c5b01161916a9183ca26a9593a1d5df82ddf129996853c5e", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#47", "issue_number": "47", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-704299e87883c37e", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#47\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#47\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#47\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 47\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-21a767a40a2009b6", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411229, "scanner": "foundry_dataset", "fingerprint": "edb8a1e5ae4edca4f14db61afa8807e1322e49778cea59c0da269224e0b6b420", "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, "data_schema": 1, "commit_general": 1, "partial blueprint fit": 1, "verification_or_tests": 2, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#45", "issue_number": "45", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-406ec9475686e6d9", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#45\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#45\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#45\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 45\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: {'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'commit_general': 1, 'bug_fix': 1, 'data_schema': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-35787b29274716a5", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411228, "scanner": "foundry_dataset", "fingerprint": "3c435def700e7360d8b069cec27f4cef9b676c98490104cf7e4280b29f1346c0", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 3, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 18, "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": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 15, "node_types": {"repo": 1, "commit": 3, "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": "taffleraffle/sales-dashboard#44", "issue_number": "44", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-5a5c67b23a2fd5cb", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#44\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#44\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#44\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 44\nGraph consistency label: weak_supervision_needs_review\nNodes: 15\nEdges: 18\nNode types: {'link_quality': 4, 'commit': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-1951c4a7bae95233", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411227, "scanner": "foundry_dataset", "fingerprint": "15d629142fb386e3cb525f5c1fc676dedc1fd092996c7f2f11f8f4d40e13a92a", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#43", "issue_number": "43", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-95418003f568456a", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#43\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#43\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#43\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 43\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-48bdf07d4c1e05fb", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411226, "scanner": "foundry_dataset", "fingerprint": "e425de618db16bb21d8c744f0a7bdb0a58092f1acf798e8cb20c0b5a06bc05c2", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 4, "partial blueprint fit": 1, "verification_or_tests": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#42", "issue_number": "42", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-0e01695b9b4c3ec8", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#42\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#42\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#42\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 42\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: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-ce30c215ae444d59", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411225, "scanner": "foundry_dataset", "fingerprint": "0856ccc3029df9d91157889edbd5bf64af89e5f306e56e3676601954f57ff5a5", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#41", "issue_number": "41", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b695992ab9798c10", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#41\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#41\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#41\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 41\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-dfcd79aa002890b1", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411224, "scanner": "foundry_dataset", "fingerprint": "c1ab4911296cb74c92d233bca7ea4acf0a513a7c1be81ba4e70a38ed0795de99", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#40", "issue_number": "40", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-5833c88ae9541b6b", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#40\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#40\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#40\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 40\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-125e620f8001714e", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411223, "scanner": "foundry_dataset", "fingerprint": "621ebc2624172b7b95a9de3c1768ed4293d0fba6e05cb9ffaaed593447b6191f", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 4, "data_schema": 1, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#39", "issue_number": "39", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-fc17f17c2233d2f4", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#39\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#39\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#39\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 39\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: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-2146e9b4c6ad83f2", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411222, "scanner": "foundry_dataset", "fingerprint": "d999e493213c7a66259c80105fdd04fb349d48345064fdbb9074b64eb44d5917", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#34", "issue_number": "34", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-6206dbaafee93874", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#34\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#34\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#34\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 34\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-a1dca6521ecd2219", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411221, "scanner": "foundry_dataset", "fingerprint": "b616b43d0ad1046ae116939386f42671aeccf6cd7503ced736cedd6c81363d91", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 4, "partial blueprint fit": 1, "verification_or_tests": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#29", "issue_number": "29", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-3c3d5a9b205660b1", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#29\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#29\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#29\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 29\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: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-f268d43daf6a175a", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411220, "scanner": "foundry_dataset", "fingerprint": "d3c2cd31ddf7a6706a1c359edc525b17bb93f65e65e806d759d8cce40efbaa26", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#26", "issue_number": "26", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-2c59db2ad99f2ba6", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#26\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#26\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#26\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 26\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-307f58eb024ba281", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411219, "scanner": "foundry_dataset", "fingerprint": "0b39182ff32dbbbf773dddf7c8e03cd19c28f77b7121a8984214912b32aa8fd7", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#21", "issue_number": "21", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-9ac4b65cedd476f5", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#21\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#21\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#21\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 21\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-37b95de5495789e6", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411218, "scanner": "foundry_dataset", "fingerprint": "b0c2a39894c8116b8e048eece7501ef37d2c5b3f3902a15cf7c20c84124f70c7", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#20", "issue_number": "20", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-be579e2189145e19", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#20\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#20\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#20\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 20\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-7145872166906cdf", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411217, "scanner": "foundry_dataset", "fingerprint": "8982c45462d20e8ad1ba8a85e943d53ddf49e90d338ad762cd0e2051ef4f50b1", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "partial blueprint fit": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 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": "taffleraffle/sales-dashboard#18", "issue_number": "18", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-498c91a17ae4b015", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#18\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#18\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#18\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 18\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: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-568e12e4f6a9b094", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 411216, "scanner": "foundry_dataset", "fingerprint": "2311809f0ae9c61700e6289baef5459521f167550485802386b4286a8624d336", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 2, "partial blueprint fit": 1, "verification_or_tests": 3, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 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": "taffleraffle/sales-dashboard#14", "issue_number": "14", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-7e856fea6feb9cda", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#14\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#14\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#14\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 14\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-325c0b7c4e960568", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 391406, "scanner": "foundry_dataset", "fingerprint": "2e66069bac0a1f6b5f211ecf4b6249dd485e85e95b7dce93a872434a7feb8271", "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": "taffleraffle/sales-dashboard#89", "human_labels": ["data_schema_persistence", "ui_or_frontend"], "issue_number": "89", "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": "taffleraffle/sales-dashboard", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-5bc43d8dd2680463", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 0, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#89\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: taffleraffle/sales-dashboard#89\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 4}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-36dfbea9c945e9ad\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/89\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/89\\nTitle: feat(sales): Closer Forecasting tab\\nBody:\\nA backward-funnel forecasting tool for closers.\\n\\n## What it does\\nPick a closer \u2192 see their real stats \u2192 set a monthly take-home goal \u2192 the tool solves the funnel **backward** to the closes, live calls, booked calls, and ad spend needed, then shows **what single lever would close the gap** (close rate, show rate, extra calls, or ad spend). Every input pre-fills from the closer's actual numbers and is an editable slider/field, so they can play \\\"what if\\\" from either direction.\\n\\n## How the math works\\n```\\ngoal take-home \u2192 commission needed (base vs ramp) \u2192 \u00f7 commission per close\\n\u2192 closes \u2192 \u00f7 close rate \u2192 live calls \u2192 \u00f7 show rate \u2192 booked calls\\n\u2192 \u00d7 cost per booked call \u2192 ad spend\\n```\\n**Commission per close** uses the full lifetime model (matches the real ledger): trial-close commission + ongoing ascension-rate commission across the client's paying lifetime, weighted by % that ascend.\\n\\n## Files\\n- `src/services/forecastCalc.js` \u2014 pure engine \"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-2dc643baf9d69613\",\n    \"filename\": \"src/App.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 0,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/d8ea332440ded534a1bd63d0436213ade5cb1326/src%2FApp.jsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-88b56017ff570e26\",\n    \"filename\": \"src/components/Layout.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 1,\n    \"changes\": 3,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blo\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-bad_chains-f22c648a12b60a7c", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 391405, "scanner": "foundry_dataset", "fingerprint": "3473b9de6d428b7643e7ae7cd51967a0531031ad23be4750ba292bb5a262e00a", "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": "taffleraffle/sales-dashboard#88", "human_labels": ["data_schema_persistence", "schema_or_data", "ui_or_frontend"], "issue_number": "88", "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": "taffleraffle/sales-dashboard", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-117d2ee47776f039", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"schema_or_data": 2, "ui_or_frontend": 2}, "linked_commit_count": 0, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#88\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: taffleraffle/sales-dashboard#88\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 2, 'schema_or_data': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2793f46296dd5c93\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/88\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/88\\nTitle: feat(creative-library): nicknames + format axis (Phase 1)\\nBody:\\nFirst slice of the creative-organisation overhaul. Migration 154 has already been run on prod (Supabase SQL editor).\\n\\n## Why\\nThe library mixes two naming worlds: AI-described rows show a clean structured `display_name`, while never-described rows fall back to junk legacy labels (\\\"Raw Oso\\\", \\\"Drive Ingest\\\"). Operators also had no way to hand-label a clip or group by the *format* of the edit.\\n\\n## What's in this PR\\n- **Migration 154** \u2014 nullable `custom_name` + `style_format` on `lib_creative_library` (+ partial index). Additive; nothing changes until filled. **Already applied to prod.**\\n- **Nickname** (`custom_name`) \u2014 operator label that becomes the PRIMARY name everywhere (`rowDisplayName` prefers it); the structured auto-name drops to dimmed subtext via the new `rowStructuredName()`. Editable in the detail modal.\\n- **Format axis** (`style_format`) \u2014 a NEW dimension separate from `type` (Hook/Body): Talking-head /\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-b2083219846b7031\",\n    \"filename\": \"src/pages/ads/AdsCreativeLibrary.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 295,\n    \"deletions\": 34,\n    \"changes\": 329,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/ad039caccc0e7fa27e77c027859c1f7c407ec77f/src%2Fpages%2Fads%2FAdsCreativeLibrary.jsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-5c0e680700bf7337\",\n    \"filename\": \"src/pages/ads/library/shared.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 39,\n    \"deletions\": 0,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-bad_chains-f6da07cf4d457d08", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 391404, "scanner": "foundry_dataset", "fingerprint": "9e8c0f123a52014f86207dc5b6e87e9160d0a3bf98fe3962b4293c24e8e2a6cd", "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": "taffleraffle/sales-dashboard#79", "human_labels": ["agent_instruction_gap", "ui_or_frontend"], "issue_number": "79", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "self_attested_unverified", "source_backed": true, "max_confidence": 0.742, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-2bf844f9cae8ee3d", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#79\nOutcome: self_attested_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#79\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: self_attested_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-04ed2d11d6cf98b1\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/79\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/79\\nTitle: Upload: 'Upload anyway' override for sub-1080p clips\\nBody:\\nThe 1080p floor hard-blocked AI-generated/portrait video (legit 720p, e.g. Nova 720\u00d71280). Now a soft block with per-file + bulk 'Upload anyway'; bad-take heuristic still runs; genuine unreadable files stay blocked. Build green.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-046dcf7aac2bbe7f\",\n    \"filename\": \"src/pages/ads/library/upload.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 66,\n    \"deletions\": 14,\n    \"changes\": 80,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/ad8dc67d8e274f830bf08f51ee7b74ce922d5d8b/src%2Fpages%2Fads%2Flibrary%2Fupload.jsx\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-1806479c992377f1\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-bad_chains-3e802d51c8fb8cde", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 391403, "scanner": "foundry_dataset", "fingerprint": "58232598e3338d7d7a6493d98ff85f6de65008a5886ccaf9b6d8ab748527ff04", "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": "taffleraffle/sales-dashboard#73", "human_labels": ["agent_instruction_gap", "ui_or_frontend"], "issue_number": "73", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "self_attested_unverified", "source_backed": true, "max_confidence": 0.742, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-08d339413f993956", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "helicopter_view_count": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#73\nOutcome: self_attested_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#73\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: self_attested_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9f1035984c61ee67\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/73\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/73\\nTitle: perf: fingerprint-gate the library transcript scan\\nBody:\\nusedRawIds re-scan now only fires when transcripts/overrides actually change. Build green.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-ae9abb700ef786c1\",\n    \"filename\": \"src/pages/ads/AdsCreativeLibrary.jsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 22,\n    \"deletions\": 1,\n    \"changes\": 23,\n    \"blob_url\": \"https://github.com/taffleraffle/sales-dashboard/blob/83cbeb551f162d53fc12b0ced8f55a627ac0e8e6/src%2Fpages%2Fads%2FAdsCreativeLibrary.jsx\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-eb29b2382cee6627\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-bad_chains-4b49634e0fdf5303", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 391402, "scanner": "foundry_dataset", "fingerprint": "b33e75e39caff6c8bdce7f021b6530eec69763a4df0ac737744fb1a18cc69e67", "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": "taffleraffle/sales-dashboard#5", "human_labels": ["agent_instruction_gap"], "issue_number": "5", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-23b324c09e40a801", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#5\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\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#5\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f1ba73325c85403b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/5\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/5\\nTitle: feat: clickable leaderboard rows\\nBody:\\nPer Ben's screenshot \u2014 make the entire row clickable in Closer Comparison, Setter Conversion, and Sales Overview leaderboard tables. Adds cursor-pointer + hover feedback.\\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-02488db4abbbb320\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1, \"generated_claims\": 1}\nHelicopter views: {\"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/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-bad_chains-ebb2c2dc371afe9d", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 391401, "scanner": "foundry_dataset", "fingerprint": "54f96fc7c9c619c04a8124ba4842a0a3d6fc6f87c3caa41e4b40b2d79e16e700", "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": "taffleraffle/sales-dashboard#27", "human_labels": ["mock_placeholder"], "issue_number": "27", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-5f3c3d2488367607", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#27\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#27\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-03420fc9cb896345\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/27\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/27\\nTitle: perf: prewarm pipeline + EOD + WAVV caches on Layout mount + resolving-names chip\\nBody:\\n## What Ben asked for\\n> \\\\\\\"I don't want to have to click on pages and wait for stuff to load. I would like everything to load in the background whenever I am on the actual topic.\\\\\\\"\\n\\nAlso: slow email-flow recipient dropdowns felt like they were hanging, with no indication whether anything was happening.\\n\\n## Staggered pre-warm on Layout mount\\n\\nPreviously only email-flow data was pre-warmed. Every other page re-fetched on mount. Now Layout fires four staggered bursts after first paint:\\n\\n| When | What | Feeds |\\n|---|---|---|\\n| +5s | Email flows (existing) \u2014 loadEmailStats, loadFlowGroups, loadSubjectMeta, prewarmRecipientNameCache | Email Flows, Email Flow Detail |\\n| +7s | \\\\`fetchAllPipelineSummaries\\\\` | Sales Overview, Setter Detail, Setter KPI History, Pipeline Performance |\\n| +12s | \\\\`prewarmCloserEODs\\\\` + \\\\`prewarmSetterEODs\\\\` (team-wide, 30d) | Sales Overview, Closer/Setter Overview, EOD Dashboar\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-869900efe0b43d3f\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"s\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-bad_chains-22e3795627ef4280", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 391400, "scanner": "foundry_dataset", "fingerprint": "ca1dd5a5119bb68e8d30daefde9868f928b1f1ca294452327a4a34a46c51b640", "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": "taffleraffle/sales-dashboard#12", "human_labels": ["mock_placeholder"], "issue_number": "12", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-ca5d431060a1affd", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#12\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#12\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-36d11ca2dfd5b265\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/12\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/12\\nTitle: fix(eod): shape-match skeletons so form doesn't reformat on click-through\\nBody:\\n## Summary\\nFollow-up to #11. Ben reported he still saw the EOD page 'table reformat incorrectly' after clicking through a dashboard row \u2014 the cause was four remaining bare-spinner placeholders inside EODReview that collapsed into a 32px tall div, then snapped to the full form's layout once data loaded.\\n\\nThis PR replaces every one of those with a tile-shaped skeleton sized to match the final content:\\n\\n- SetterDashboard full-page load \u2192 header + 4-tile KPI grid + 2 content tiles\\n- Closer calls loader \u2192 3 call-card placeholders (each h-48)\\n- Closer EOD history table \u2192 header row + 4 body rows\\n- Setter EOD history table \u2192 same table-shape skeleton\\n\\nAlso broadens EditFlowModal's dark-tick color list so the tick stays legible on green / cyan / blue swatches (they read as bright enough that white loses contrast).\\n\\n## Test plan\\n- [ ] From /sales/eod, click a submitted setter row \u2014 no layout jump; a skeleton of t\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c95061306bdbb162\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bund\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-bad_chains-101dc24de20f9a60", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 391399, "scanner": "foundry_dataset", "fingerprint": "3eb50590d02b928bcb63264a99e67474170b2f38a265c29c0d3ad6044be4586f", "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": "taffleraffle/sales-dashboard#11", "human_labels": ["mock_placeholder"], "issue_number": "11", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-0c51d989154a48e3", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 1, "docs": 1, "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": 2, "source_artifact_count": 3, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#11\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: taffleraffle/sales-dashboard#11\nRepo: taffleraffle/sales-dashboard\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4601d9423847005d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/taffleraffle/sales-dashboard/pull/11\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: taffleraffle/sales-dashboard\\nAuthor: taffleraffle (User)\\nURL: https://github.com/taffleraffle/sales-dashboard/pull/11\\nTitle: feat: pipeline page + marketing data fixes + dashboard polish\\nBody:\\n## Summary\\n- New dedicated **/sales/pipeline** page \u2014 Speed to Lead + GHL Pipeline Performance + live leads table moved out of Setter Performance. Reorganises Setter page around the leaderboard, adds a Show% pill, swaps Avg STL KPI for Pickups + Shows.\\n- **Marketing data correctness** \u2014 auto_bookings no longer stuck at 0 (unions booked_at + appointment_date), qualified_bookings no longer under-counted (per-contact dedupe removed) or frozen (removed refresh guard + EOD overwrite). Migration 023 backfills booked_at for legacy rows.\\n- Dashboard polish: EOD date-switch no longer collapses to skeleton (dims-in-place now), flow color picker shows a real tick, email recipient dropdown renders in <1s from cache and backfills names in the background.\\n\\n## What changed\\n\\n**New page**\\n- `src/pages/PipelinePerformance.jsx` \u2014 top KPI row, Speed to Lead (collapsible response-times table), GHL Pipeline Performance per-pipeline, live\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-685bf393ca7669e4\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: taffleraffle/sales-dashboard\nGraph label: source_backed_multi_signal_graph\nNodes: 9\nEdges: 12\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 3, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 3, \"repo_has_source_bundle\": 1, \"source_bundle_us\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "comment-chain-pattern-bad_chains-a01eae95fe50c69c", "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": "taffleraffle/sales-dashboard", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 414839, "scanner": "foundry_dataset", "fingerprint": "1c24774d4ba76bf513eced9bcb56b2ac0037499e056dd1e96638db0353bb56d7", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 5, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#3", "issue_number": "3", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-70969f1acd39e512", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#3\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#3\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 3\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-939d245697a1f2ca", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 414838, "scanner": "foundry_dataset", "fingerprint": "346c4700baa95bdafeec530168331785e1fd50ceb1f06d148cef7d0872bb8cde", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 5, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#16", "issue_number": "16", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-9e9198dbad08c893", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#16\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#16\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#16\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 16\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-4ce76e7f7ab0db77", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 414837, "scanner": "foundry_dataset", "fingerprint": "07c717e08b68ca4e1ab908313eef080ac04961e3866623483f0bddc601b44833", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 3, "data_schema": 1, "dependency_or_build": 1, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#1", "issue_number": "1", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-9719129e6d1df0c4", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#1\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#1\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 1\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1, 'dependency_or_build': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-c87838a3285bf905", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 408251, "scanner": "foundry_dataset", "fingerprint": "259e6bf1add402164c2bad7ef3b33015fb0a05f45514685325d55efd3ef796ef", "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": {"commit_general": 1, "ui_or_frontend": 1, "generated_provenance": 1, "agent_instruction_gap": 1, "self_attested_unverified": 3, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "self_attested_or_generated_fix_unverified": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"self_attested_unverified": 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, "thread_touches_file": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "pr_file": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#79", "issue_number": "79", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-09e9b92b79717d0b", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 4}}, "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#79\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#79\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#79\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 79\nGraph consistency label: weak_supervision_needs_review\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_touches_file': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'self_attested_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'ui_or_frontend': 1, 'self_attested_or_generated_fix_unverified': 1, 'commit_general': 1, 'generated_provenance': 1}\nOutcomes: {'self_attested_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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-f56ea6f8a897172a", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 408250, "scanner": "foundry_dataset", "fingerprint": "7e0043653689bf8bafe209722dee514a6e54bde00780af1389f4356802727778", "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": {"commit_general": 1, "ui_or_frontend": 1, "generated_provenance": 1, "agent_instruction_gap": 1, "self_attested_unverified": 3, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "self_attested_or_generated_fix_unverified": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"self_attested_unverified": 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, "thread_touches_file": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "pr_file": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#73", "issue_number": "73", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-a33e7e891402a66c", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 4}}, "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#73\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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#73\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#73\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 73\nGraph consistency label: weak_supervision_needs_review\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_touches_file': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'self_attested_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'ui_or_frontend': 1, 'self_attested_or_generated_fix_unverified': 1, 'commit_general': 1, 'generated_provenance': 1}\nOutcomes: {'self_attested_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/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-c6f69951dfd249f3", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 408249, "scanner": "foundry_dataset", "fingerprint": "3721546b54a6ba1ff0a669d08bc4774ba385eb1176cfa6cb39ae083527f637fb", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 5, "mock_placeholder": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#27", "issue_number": "27", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-bfc9d0b69f4f759c", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#27\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#27\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#27\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 27\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-682fdd02a0dff1ca", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 408248, "scanner": "foundry_dataset", "fingerprint": "a2ff516378e3d9bba306ca54128a5b6a3da656af0ec562a221b1ba9eec071fb5", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 5, "mock_placeholder": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#12", "issue_number": "12", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-7381ed4b7fa2ce84", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#12\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#12\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#12\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 12\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-8df93c92fc6fc00f", "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": "taffleraffle/sales-dashboard", "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: taffleraffle/sales-dashboard"}, "properties": {"repobilityId": 408247, "scanner": "foundry_dataset", "fingerprint": "7e5c1db6c322842b3c6909ff0b4208601d21c97712c8cde08b385cd92a2b6ef9", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 5, "mock_placeholder": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "taffleraffle/sales-dashboard#11", "issue_number": "11", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "taffleraffle/sales-dashboard", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-7ba9f904504a4ae2", "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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#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: taffleraffle/sales-dashboard\nThread: taffleraffle/sales-dashboard#11\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: taffleraffle/sales-dashboard#11\nRepo: taffleraffle/sales-dashboard\nIssue/PR number: 11\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/taffleraffle/sales-dashboard", "source_id": "graph-query-motif_query-c5ffb721057a6c8c", "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": "taffleraffle/sales-dashboard", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-ec18b1ce51e527d1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-test-data.js:12"}, "properties": {"repobilityId": "8fd9eea001ad2d83", "scanner": "scanner-primary", "fingerprint": "ec18b1ce51e527d1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f5fcd212af4821b2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-auth-users.js:56"}, "properties": {"repobilityId": "b5cc41b5a6c19e0f", "scanner": "scanner-primary", "fingerprint": "f5fcd212af4821b2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6321cc75480650fb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/sync-meta-ads-full/index.ts:63"}, "properties": {"repobilityId": "cf49d7330efae868", "scanner": "scanner-primary", "fingerprint": "6321cc75480650fb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-76d05d9875745e87", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/creative-generate-script/index.ts:1155"}, "properties": {"repobilityId": "9b8d7e3521b60e69", "scanner": "scanner-primary", "fingerprint": "76d05d9875745e87", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-39f9d4e0bc66fcc4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 services/clip-worker/server.js:331"}, "properties": {"repobilityId": "1186d6cd11efffdc", "scanner": "scanner-primary", "fingerprint": "39f9d4e0bc66fcc4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b5e966f685a6f281", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/SyncStatusIndicator.jsx:133"}, "properties": {"repobilityId": "5198223a5dd41291", "scanner": "scanner-primary", "fingerprint": "b5e966f685a6f281", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e9c731ec93042846", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/FlowPicker.jsx:69"}, "properties": {"repobilityId": "7e22a0f7d762fac8", "scanner": "scanner-primary", "fingerprint": "e9c731ec93042846", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e7e52ad3054d3e8e", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/SalesChatWidget.jsx:302"}, "properties": {"repobilityId": "b46af8d2aa511ce7", "scanner": "scanner-primary", "fingerprint": "e7e52ad3054d3e8e", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-e79b6466d6960289", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/marketing/DataHealthBanner.jsx:189"}, "properties": {"repobilityId": "aaa58ca2fec0e9fa", "scanner": "scanner-primary", "fingerprint": "e79b6466d6960289", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e3f59eea6d3268ca", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SetterBot.jsx:406"}, "properties": {"repobilityId": "8461d6c264a13ffe", "scanner": "scanner-primary", "fingerprint": "e3f59eea6d3268ca", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-906d7753b995f5eb", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/PipelinePerformance.jsx:401"}, "properties": {"repobilityId": "a90922b147922245", "scanner": "scanner-primary", "fingerprint": "906d7753b995f5eb", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8a4afaab5bb8a6cb", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/EODReview.jsx:2778"}, "properties": {"repobilityId": "33e5b205b01bdf20", "scanner": "scanner-primary", "fingerprint": "8a4afaab5bb8a6cb", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d72c0fa895614296", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/CallData.jsx:84"}, "properties": {"repobilityId": "01b4438e16b9f161", "scanner": "scanner-primary", "fingerprint": "d72c0fa895614296", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9b1ea0b7de64b2e3", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/pages/CallData.jsx:413"}, "properties": {"repobilityId": "3c336ceb8a5df807", "scanner": "scanner-primary", "fingerprint": "9b1ea0b7de64b2e3", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-74305aa4697157ed", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/EmailFlows.jsx:322"}, "properties": {"repobilityId": "ca00f4fa8c1ce07d", "scanner": "scanner-primary", "fingerprint": "74305aa4697157ed", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-2824efbff9c62aad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/pages/EmailFlows.jsx:72"}, "properties": {"repobilityId": "0bc4389b9f88eed5", "scanner": "scanner-primary", "fingerprint": "2824efbff9c62aad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f76fb2e2fcaabd6a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SalesOverview.jsx:264"}, "properties": {"repobilityId": "d67912c44d4baa52", "scanner": "scanner-primary", "fingerprint": "f76fb2e2fcaabd6a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-30fd3ecad1993caa", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SetterOverview.jsx:562"}, "properties": {"repobilityId": "0fe8ee9632ee0909", "scanner": "scanner-primary", "fingerprint": "30fd3ecad1993caa", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-2cb0f86020943c6a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/EODHistory.jsx:333"}, "properties": {"repobilityId": "5bbdb4ede8f82fa0", "scanner": "scanner-primary", "fingerprint": "2cb0f86020943c6a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a52861ff3dbe82ed", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/CloserDetail.jsx:594"}, "properties": {"repobilityId": "b7ccee92f225d504", "scanner": "scanner-primary", "fingerprint": "a52861ff3dbe82ed", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-09d26a7afed33cab", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SettingsPage.jsx:887"}, "properties": {"repobilityId": "4dc7f888b1dcfdfd", "scanner": "scanner-primary", "fingerprint": "09d26a7afed33cab", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5df50eed15b61432", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/CloserOverview.jsx:298"}, "properties": {"repobilityId": "1e513d6ad31f7211", "scanner": "scanner-primary", "fingerprint": "5df50eed15b61432", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-88f4557e1bf776c9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SetterDetail.jsx:639"}, "properties": {"repobilityId": "81b3789ebfd71248", "scanner": "scanner-primary", "fingerprint": "88f4557e1bf776c9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6fba683b3c5f04d1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/MarketingPerformance.jsx:187"}, "properties": {"repobilityId": "b2cfe46f28a0eaaa", "scanner": "scanner-primary", "fingerprint": "6fba683b3c5f04d1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-fab322ee2eda0e50", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/EmailFlowDetail.jsx:290"}, "properties": {"repobilityId": "08d74a0d5e78ee23", "scanner": "scanner-primary", "fingerprint": "fab322ee2eda0e50", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8bd254a8a0e6025a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/pages/ads/AdsGallery.jsx:133"}, "properties": {"repobilityId": "00f8d5e1ad0b144e", "scanner": "scanner-primary", "fingerprint": "8bd254a8a0e6025a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3bf4d3103971baa5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/pages/ads/AdsGallery.jsx:182"}, "properties": {"repobilityId": "40d700b9b382cab7", "scanner": "scanner-primary", "fingerprint": "3bf4d3103971baa5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2def94376aad98e1", "level": "note", "message": {"text": "React Flow edge with `label=` but no project-wide edge-label CSS override \u2014 src/pages/ads/AdsClips.jsx:471"}, "properties": {"repobilityId": "c0d80933daff598c", "scanner": "scanner-primary", "fingerprint": "2def94376aad98e1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.edge-label.no-bg"]}}, {"ruleId": "scanner-a3b90eb09076ad87", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/ads/AdsList.jsx:377"}, "properties": {"repobilityId": "1dfba059c55b8226", "scanner": "scanner-primary", "fingerprint": "a3b90eb09076ad87", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-35b7c00c1cfcbc2e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/ads/VariantDetail.jsx:35"}, "properties": {"repobilityId": "6981440b7dc67ff2", "scanner": "scanner-primary", "fingerprint": "35b7c00c1cfcbc2e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e4655f426f64954a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/ads/AdsLegacy.jsx:85"}, "properties": {"repobilityId": "6fba16c345dd1ab3", "scanner": "scanner-primary", "fingerprint": "e4655f426f64954a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-856220fbfb305f82", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/pages/contracts/ContractsPending.jsx:50"}, "properties": {"repobilityId": "27fcf0f0477b49fb", "scanner": "scanner-primary", "fingerprint": "856220fbfb305f82", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-24ac40fb387dc762", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/hooks/useToast.jsx:53"}, "properties": {"repobilityId": "6f7d05f0f3903a3b", "scanner": "scanner-primary", "fingerprint": "24ac40fb387dc762", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0492fafd281f861d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/autoSync.js:101"}, "properties": {"repobilityId": "e0b29b1083ea61ba", "scanner": "scanner-primary", "fingerprint": "0492fafd281f861d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5b1ce35f190ac6dc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/ffmpegCore.js:30"}, "properties": {"repobilityId": "d6df7fc9044c0f7a", "scanner": "scanner-primary", "fingerprint": "5b1ce35f190ac6dc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b27342397c14b321", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/metaAdsSync.js:216"}, "properties": {"repobilityId": "f5aa8a81da968f67", "scanner": "scanner-primary", "fingerprint": "b27342397c14b321", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e660446601e9573", "level": "warning", "message": {"text": "Dockerfile runs as root: services/clip-worker/Dockerfile"}, "properties": {"repobilityId": "2cb88cfe2b0d2d48", "scanner": "scanner-primary", "fingerprint": "4e660446601e9573", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-4de30b91092d76d5", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-slim"}, "properties": {"repobilityId": "9a084e59a22bd95f", "scanner": "scanner-primary", "fingerprint": "4de30b91092d76d5", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/clip-worker/Dockerfile"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-c7634a18c41e81f3", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-thumbnails.mjs:24"}, "properties": {"repobilityId": "b8c81a322e72350e", "scanner": "scanner-primary", "fingerprint": "c7634a18c41e81f3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/backfill-thumbnails.mjs"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-16b9dfa4197f1aba", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in scripts/deploy-edge-test.mjs:6"}, "properties": {"repobilityId": "bbdcf6330860f2d8", "scanner": "scanner-primary", "fingerprint": "16b9dfa4197f1aba", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/deploy-edge-test.mjs"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-d58ecffaa4af6c59", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/hyros-sync/index.ts:27"}, "properties": {"repobilityId": "a8ca26e2fdfcbf0d", "scanner": "scanner-primary", "fingerprint": "d58ecffaa4af6c59", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/hyros-sync/index.ts"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-72c4bbd037218b5d", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/sync-typeform/index.ts:31"}, "properties": {"repobilityId": "9b520791ac1f3345", "scanner": "scanner-primary", "fingerprint": "72c4bbd037218b5d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/sync-typeform/index.ts"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-9568eb0aab55fd63", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/sync-ghl-contacts/index.ts:16"}, "properties": {"repobilityId": "51437bd4e7f7cad1", "scanner": "scanner-primary", "fingerprint": "9568eb0aab55fd63", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/sync-ghl-contacts/index.ts"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-c6c3bcc21c77e845", "level": "error", "message": {"text": "Insecure pattern 'private_key_in_repo' in supabase/functions/ingest-external-submission/index.ts:327"}, "properties": {"repobilityId": "326f7fdd79c4eb17", "scanner": "scanner-primary", "fingerprint": "c6c3bcc21c77e845", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["owasp", "private_key_in_repo"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/ingest-external-submission/index.ts"}, "region": {"startLine": 327}}}]}, {"ruleId": "scanner-c28057b8a24affa4", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/ingest-external-submission/index.ts:34"}, "properties": {"repobilityId": "fb3711b82254b500", "scanner": "scanner-primary", "fingerprint": "c28057b8a24affa4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/ingest-external-submission/index.ts"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-3fb4c67fc48f9449", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/sync-meta-ad-status/index.ts:13"}, "properties": {"repobilityId": "e8fb6ae0710bbc30", "scanner": "scanner-primary", "fingerprint": "3fb4c67fc48f9449", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/sync-meta-ad-status/index.ts"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-cf0ca5fba57ac472", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/sync-meta-ads-full/index.ts:22"}, "properties": {"repobilityId": "cfaad88c843beb9f", "scanner": "scanner-primary", "fingerprint": "cf0ca5fba57ac472", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/sync-meta-ads-full/index.ts"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-38645d3d483896de", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/create-portal-link/index.ts:23"}, "properties": {"repobilityId": "a93911c233f83e2e", "scanner": "scanner-primary", "fingerprint": "38645d3d483896de", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/create-portal-link/index.ts"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-6318cfdb6bd48915", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in services/clip-worker/server.js:26"}, "properties": {"repobilityId": "2d3e38ff4e70e823", "scanner": "scanner-primary", "fingerprint": "6318cfdb6bd48915", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/clip-worker/server.js"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-3e50bc2f48c5bdcb", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/SalesChatWidget.jsx:302"}, "properties": {"repobilityId": "7a37ba04a252bf7c", "scanner": "scanner-primary", "fingerprint": "3e50bc2f48c5bdcb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/SalesChatWidget.jsx"}, "region": {"startLine": 302}}}]}, {"ruleId": "scanner-26adc33c58aff143", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/pages/CallData.jsx:413"}, "properties": {"repobilityId": "774164bdd4c3ee54", "scanner": "scanner-primary", "fingerprint": "26adc33c58aff143", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/pages/CallData.jsx"}, "region": {"startLine": 413}}}]}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-52d66492e661f8a4", "level": "note", "message": {"text": "Very large file: supabase/functions/creative-generate-script/index.ts (2017 lines)"}, "properties": {"repobilityId": "2df9e719d3b41e21", "scanner": "scanner-primary", "fingerprint": "52d66492e661f8a4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-47db686441585468", "level": "note", "message": {"text": "Very large file: src/pages/EODReview.jsx (3518 lines)"}, "properties": {"repobilityId": "6d1717c3a84d3880", "scanner": "scanner-primary", "fingerprint": "47db686441585468", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-29dfbd88a02770f7", "level": "note", "message": {"text": "Very large file: src/pages/SalesOverview.jsx (1532 lines)"}, "properties": {"repobilityId": "80ce1af0fcaf2067", "scanner": "scanner-primary", "fingerprint": "29dfbd88a02770f7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-abe53ecb59ec2c2f", "level": "note", "message": {"text": "Very large file: src/pages/AttributionCoverage.jsx (1513 lines)"}, "properties": {"repobilityId": "0e298a5689ea19f6", "scanner": "scanner-primary", "fingerprint": "abe53ecb59ec2c2f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2d6d7c041c567af2", "level": "note", "message": {"text": "Very large file: src/pages/MarketingPerformance.jsx (5229 lines)"}, "properties": {"repobilityId": "f6fd6546d1b27523", "scanner": "scanner-primary", "fingerprint": "2d6d7c041c567af2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-50770a680a73a9cf", "level": "note", "message": {"text": "Very large file: src/pages/ads/AdsCreativeLibrary.jsx (10861 lines)"}, "properties": {"repobilityId": "4836b144cb2a69fb", "scanner": "scanner-primary", "fingerprint": "50770a680a73a9cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-67ec272c5bffdcdc", "level": "note", "message": {"text": "Very large file: src/pages/ads/AdsGenerator.jsx (3911 lines)"}, "properties": {"repobilityId": "4784ae369669e3c6", "scanner": "scanner-primary", "fingerprint": "67ec272c5bffdcdc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cc67d80a8933f65a", "level": "note", "message": {"text": "Very large file: src/pages/ads/AdsPerformance.jsx (3177 lines)"}, "properties": {"repobilityId": "8872db05c41d5b60", "scanner": "scanner-primary", "fingerprint": "cc67d80a8933f65a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-aec0f7b09c296955", "level": "note", "message": {"text": "Very large file: src/pages/ads/AdsVariants.jsx (1572 lines)"}, "properties": {"repobilityId": "d0ac456f5eb0fb1c", "scanner": "scanner-primary", "fingerprint": "aec0f7b09c296955", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-69958e428f061eb3", "level": "note", "message": {"text": "Very large file: src/pages/ads/library/editors.jsx (1651 lines)"}, "properties": {"repobilityId": "8d6f0c5d9762cf90", "scanner": "scanner-primary", "fingerprint": "69958e428f061eb3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9e85c8ed730bbc36", "level": "note", "message": {"text": "Very large file: src/pages/ads/library/upload.jsx (1647 lines)"}, "properties": {"repobilityId": "89b3e18d34fc6c60", "scanner": "scanner-primary", "fingerprint": "9e85c8ed730bbc36", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "ef8358a0fdeb7ee5", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-fe1381b710b5a04c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: services/clip-worker/package.json"}, "properties": {"repobilityId": "90f14d75c68f27d2", "scanner": "scanner-primary", "fingerprint": "fe1381b710b5a04c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/clip-worker/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "d695bfcc3b5c5bd9", "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": "530d6b5a6aa1a4bf", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "7faeb7f30a15846c", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "f785ff2da309d02e", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "0df143e6f1c895a7", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "aeed352fea20426c", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "2126db78bf1a3181", "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": "506c730c9f25d8d0", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-08ed1824b856174b", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/mark-merged-hooks-bodies-as-run.mjs:8"}, "properties": {"repobilityId": "96635fa0161cf94b", "scanner": "scanner-primary", "fingerprint": "08ed1824b856174b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8b5d350e1edaaa8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/force-sync.mjs:43"}, "properties": {"repobilityId": "8ee56debfee46d09", "scanner": "scanner-primary", "fingerprint": "b8b5d350e1edaaa8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8f1de6abca3e466c", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/run-ad-library-pipeline.mjs:22"}, "properties": {"repobilityId": "4bdea5702aaec4d9", "scanner": "scanner-primary", "fingerprint": "8f1de6abca3e466c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-878fb95e080811d2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/inspect-event-fields.mjs:23"}, "properties": {"repobilityId": "d00db3acb756b411", "scanner": "scanner-primary", "fingerprint": "878fb95e080811d2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dd72aba5bc684e74", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/backfill-ad-thumbnails.mjs:3"}, "properties": {"repobilityId": "d2d23b237e72b887", "scanner": "scanner-primary", "fingerprint": "dd72aba5bc684e74", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94ab4708361543d5", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/backfill-thumbnails.mjs:5"}, "properties": {"repobilityId": "dc5bc3cc7aa3b02a", "scanner": "scanner-primary", "fingerprint": "94ab4708361543d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87f70d8f262d4d7e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-thumbnails.mjs:40"}, "properties": {"repobilityId": "92f56568a1f4c98b", "scanner": "scanner-primary", "fingerprint": "87f70d8f262d4d7e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c25ab2ee0e607c60", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/deploy-ingest-external-submission.mjs:29"}, "properties": {"repobilityId": "392767e6953839f9", "scanner": "scanner-primary", "fingerprint": "c25ab2ee0e607c60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9fb45b85bae27d6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-ingest-external-submission.mjs:40"}, "properties": {"repobilityId": "3139fd0645275688", "scanner": "scanner-primary", "fingerprint": "c9fb45b85bae27d6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-35468b3c4d13adaf", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-revenue-tier-split.mjs:37"}, "properties": {"repobilityId": "83d32a6b49a78099", "scanner": "scanner-primary", "fingerprint": "35468b3c4d13adaf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ecc307d6c742e4a1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lookup-leads.mjs:36"}, "properties": {"repobilityId": "ecde64d9d9603d23", "scanner": "scanner-primary", "fingerprint": "ecc307d6c742e4a1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ad699ea0df63a77e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/discover-all-cals.mjs:22"}, "properties": {"repobilityId": "a9154a90d7aef51a", "scanner": "scanner-primary", "fingerprint": "ad699ea0df63a77e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b60187297d5d3713", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/verify-052-final.mjs:1"}, "properties": {"repobilityId": "f739cd8030fe0f31", "scanner": "scanner-primary", "fingerprint": "b60187297d5d3713", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f4bd397b980d8da", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/replace-from-local-files.mjs:3"}, "properties": {"repobilityId": "f68e03203cf9f97d", "scanner": "scanner-primary", "fingerprint": "3f4bd397b980d8da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2260dab3cfe6d9bb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-edge-functions.mjs:28"}, "properties": {"repobilityId": "025098165fee318f", "scanner": "scanner-primary", "fingerprint": "2260dab3cfe6d9bb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-804ed0eb4b96facf", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/monthly-cash.mjs:21"}, "properties": {"repobilityId": "b5984d9330bc76be", "scanner": "scanner-primary", "fingerprint": "804ed0eb4b96facf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b2c1396c0f2a49fe", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/calendly-status.mjs:44"}, "properties": {"repobilityId": "24e72f7049e2a178", "scanner": "scanner-primary", "fingerprint": "b2c1396c0f2a49fe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9498784742c3c7ab", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/batch-set-ad-url-tags.mjs:67"}, "properties": {"repobilityId": "19e9096bb092793b", "scanner": "scanner-primary", "fingerprint": "9498784742c3c7ab", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2c3308679106bd2e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/weekly-cash.mjs:21"}, "properties": {"repobilityId": "46b13bf3f0e2d596", "scanner": "scanner-primary", "fingerprint": "2c3308679106bd2e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6df6a1bcf732017b", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/backfill-display-names.mjs:9"}, "properties": {"repobilityId": "4953c39091a12991", "scanner": "scanner-primary", "fingerprint": "6df6a1bcf732017b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8c2c146d7d6a190", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-display-names.mjs:97"}, "properties": {"repobilityId": "3be5960cb175101e", "scanner": "scanner-primary", "fingerprint": "a8c2c146d7d6a190", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-18882c90bc875679", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-kellan-2.mjs:37"}, "properties": {"repobilityId": "a087379380d5af8e", "scanner": "scanner-primary", "fingerprint": "18882c90bc875679", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-36c20b37f7bfc461", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/sync-meta-ads-now.mjs:59"}, "properties": {"repobilityId": "6d1066534cef1c76", "scanner": "scanner-primary", "fingerprint": "36c20b37f7bfc461", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3878bc683425fd35", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/audit-preview-file-sizes.mjs:8"}, "properties": {"repobilityId": "35c2f1f2ac23dc5c", "scanner": "scanner-primary", "fingerprint": "3878bc683425fd35", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1ee19c2e9d9fe67", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/last-30-cash.mjs:25"}, "properties": {"repobilityId": "779fd4c6ee4b082e", "scanner": "scanner-primary", "fingerprint": "d1ee19c2e9d9fe67", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-70815eeb83fea1df", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-hyros.mjs:20"}, "properties": {"repobilityId": "aade22cd15712165", "scanner": "scanner-primary", "fingerprint": "70815eeb83fea1df", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a3d3887560285092", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-edge-multipart.mjs:21"}, "properties": {"repobilityId": "a5c0b4555b7dd8f5", "scanner": "scanner-primary", "fingerprint": "a3d3887560285092", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4fc0f2c102bd3516", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-dq-calendar.mjs:87"}, "properties": {"repobilityId": "9edfee2e22f35b63", "scanner": "scanner-primary", "fingerprint": "4fc0f2c102bd3516", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fe7ed86906599f32", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/calendly-volume.mjs:26"}, "properties": {"repobilityId": "cc276920fd5bd851", "scanner": "scanner-primary", "fingerprint": "fe7ed86906599f32", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9585293a76dcfbfe", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/rebuild-qualified-bookings.mjs:1"}, "properties": {"repobilityId": "6ac8f4c13e313204", "scanner": "scanner-primary", "fingerprint": "9585293a76dcfbfe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e73d3428ca4546d", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/match-hook-body-derivation.mjs:7"}, "properties": {"repobilityId": "710bfdcffe8db165", "scanner": "scanner-primary", "fingerprint": "6e73d3428ca4546d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af6eb4f763b5c46f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-missing-leads.mjs:66"}, "properties": {"repobilityId": "b69afc2f56cd269f", "scanner": "scanner-primary", "fingerprint": "af6eb4f763b5c46f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-38e039ee21532133", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/verify-052-closes.mjs:1"}, "properties": {"repobilityId": "a8a7dbee460e550d", "scanner": "scanner-primary", "fingerprint": "38e039ee21532133", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-553eeb5773c8bd3d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/transcribe-ad-videos.mjs:154"}, "properties": {"repobilityId": "0b00061c77d62d97", "scanner": "scanner-primary", "fingerprint": "553eeb5773c8bd3d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d82bc6cd9ffdd70a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/sync-meta.mjs:55"}, "properties": {"repobilityId": "5243d98a001799f7", "scanner": "scanner-primary", "fingerprint": "d82bc6cd9ffdd70a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1ebcb0901c2bf15b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-edge-test.mjs:14"}, "properties": {"repobilityId": "9433f4946514b083", "scanner": "scanner-primary", "fingerprint": "1ebcb0901c2bf15b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ad3ba392b4160428", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-kellan.mjs:17"}, "properties": {"repobilityId": "83198b898109383f", "scanner": "scanner-primary", "fingerprint": "ad3ba392b4160428", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2256e928afc08a11", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/trace-9-dqs.mjs:30"}, "properties": {"repobilityId": "f6161c492fad6fff", "scanner": "scanner-primary", "fingerprint": "2256e928afc08a11", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9f4fb89b8a91b454", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/deploy-fanbasis-webhook.mjs:35"}, "properties": {"repobilityId": "905c1d83363de5b5", "scanner": "scanner-primary", "fingerprint": "9f4fb89b8a91b454", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-36734352c920a443", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/diagnose-leads.mjs:27"}, "properties": {"repobilityId": "59cad2c2119d4628", "scanner": "scanner-primary", "fingerprint": "36734352c920a443", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ff5f2860c872e9d8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-ghl-appointments.mjs:67"}, "properties": {"repobilityId": "393fa25461b4e79d", "scanner": "scanner-primary", "fingerprint": "ff5f2860c872e9d8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e37b96239984a68a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/dump-ghl-calendars.mjs:26"}, "properties": {"repobilityId": "32c467f856df4340", "scanner": "scanner-primary", "fingerprint": "e37b96239984a68a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ad6f17f055c1244e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/weekly-cash-v2.mjs:21"}, "properties": {"repobilityId": "2f488bb28fd8d5fe", "scanner": "scanner-primary", "fingerprint": "ad6f17f055c1244e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-37b4444bb55aa188", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/transcribe-library-clip/index.ts:96"}, "properties": {"repobilityId": "7758391bdbdbddd7", "scanner": "scanner-primary", "fingerprint": "37b4444bb55aa188", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2490b5c4a16dd6c2", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/hyros-sync/index.ts:13"}, "properties": {"repobilityId": "edafb4fed15316db", "scanner": "scanner-primary", "fingerprint": "2490b5c4a16dd6c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e807c9456a539ba", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/transcribe-uploaded-ad/index.ts:73"}, "properties": {"repobilityId": "e924a0ecd706dcad", "scanner": "scanner-primary", "fingerprint": "5e807c9456a539ba", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ff3edd5371f1c8ea", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/triage-detect-bad-take/index.ts:3"}, "properties": {"repobilityId": "2f23c5bc35c96fa8", "scanner": "scanner-primary", "fingerprint": "ff3edd5371f1c8ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e9d5372b65f31f9d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/triage-detect-bad-take/index.ts:93"}, "properties": {"repobilityId": "58caf40e693a518b", "scanner": "scanner-primary", "fingerprint": "e9d5372b65f31f9d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c1663f7474ffd3b0", "level": "none", "message": {"text": "Commented-code block (8 lines) in supabase/functions/contract-judge-amendment/index.ts:1"}, "properties": {"repobilityId": "cb81833024344a83", "scanner": "scanner-primary", "fingerprint": "c1663f7474ffd3b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b90e5bb534e89c4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/contract-judge-amendment/index.ts:241"}, "properties": {"repobilityId": "ffeac945889a9bcf", "scanner": "scanner-primary", "fingerprint": "1b90e5bb534e89c4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c9fc02fdfaece8ce", "level": "none", "message": {"text": "Commented-code block (8 lines) in supabase/functions/sync-typeform/index.ts:18"}, "properties": {"repobilityId": "dd13914faee4a7bd", "scanner": "scanner-primary", "fingerprint": "c9fc02fdfaece8ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7afbb4760b04d359", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/sync-typeform/index.ts:111"}, "properties": {"repobilityId": "ccbf8437c14d528f", "scanner": "scanner-primary", "fingerprint": "7afbb4760b04d359", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-be0a4c434788b839", "level": "none", "message": {"text": "Commented-code block (9 lines) in supabase/functions/notify-editor-email/index.ts:6"}, "properties": {"repobilityId": "e793cb01f0b6d00c", "scanner": "scanner-primary", "fingerprint": "be0a4c434788b839", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b25fc06e4dd24a92", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/notify-editor-email/index.ts:139"}, "properties": {"repobilityId": "366ab8826b0dc758", "scanner": "scanner-primary", "fingerprint": "b25fc06e4dd24a92", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-db77730f346b7733", "level": "none", "message": {"text": "Commented-code block (10 lines) in supabase/functions/contract-downsell-coach/index.ts:5"}, "properties": {"repobilityId": "fddced70db3c5969", "scanner": "scanner-primary", "fingerprint": "db77730f346b7733", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-69234c544c17f6cd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/contract-downsell-coach/index.ts:183"}, "properties": {"repobilityId": "c60cf530b55495fe", "scanner": "scanner-primary", "fingerprint": "69234c544c17f6cd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-77c146eb194698e0", "level": "none", "message": {"text": "Commented-code block (7 lines) in supabase/functions/send-editor-magic-link/index.ts:6"}, "properties": {"repobilityId": "c68b018d0f7786a5", "scanner": "scanner-primary", "fingerprint": "77c146eb194698e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f139945fb6db0439", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/send-editor-magic-link/index.ts:203"}, "properties": {"repobilityId": "28597b93e75f9596", "scanner": "scanner-primary", "fingerprint": "f139945fb6db0439", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6621be0e05841918", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/sales-chat/index.ts:27"}, "properties": {"repobilityId": "2b367c80495cfa42", "scanner": "scanner-primary", "fingerprint": "6621be0e05841918", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-492232e6089a57cb", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/regenerate-amended-agreement/index.ts:1"}, "properties": {"repobilityId": "feaa08b9d3bdbcbc", "scanner": "scanner-primary", "fingerprint": "492232e6089a57cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a326f707cb431177", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/regenerate-amended-agreement/templates/contracts.ts:32"}, "properties": {"repobilityId": "77b16c22a6918245", "scanner": "scanner-primary", "fingerprint": "a326f707cb431177", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c9f9eafb371fc42", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/regenerate-amended-agreement/templates/trial-structured.ts:6"}, "properties": {"repobilityId": "49a0d9272c70cbca", "scanner": "scanner-primary", "fingerprint": "8c9f9eafb371fc42", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d9604132831b50c1", "level": "none", "message": {"text": "Commented-code block (9 lines) in supabase/functions/regenerate-amended-agreement/templates/retainer-structured.ts:4"}, "properties": {"repobilityId": "6b8553debb8900c4", "scanner": "scanner-primary", "fingerprint": "d9604132831b50c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c72b0643558357a4", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/invite-editor/index.ts:16"}, "properties": {"repobilityId": "3eaad9f9f482cbea", "scanner": "scanner-primary", "fingerprint": "c72b0643558357a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d04142a82ae4a18", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/invite-editor/index.ts:137"}, "properties": {"repobilityId": "b4fb55fd38700b13", "scanner": "scanner-primary", "fingerprint": "0d04142a82ae4a18", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-87a29e13ae9e288e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/sync-fathom/index.ts:22"}, "properties": {"repobilityId": "d34dcad7052f9bf9", "scanner": "scanner-primary", "fingerprint": "87a29e13ae9e288e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-01e9bd484bf27193", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/sync-ghl-contacts/index.ts:1"}, "properties": {"repobilityId": "3fb8e37cea389a34", "scanner": "scanner-primary", "fingerprint": "01e9bd484bf27193", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9194116050188be2", "level": "none", "message": {"text": "Commented-code block (8 lines) in supabase/functions/creative-library-describe/index.ts:3"}, "properties": {"repobilityId": "482b19dac2a252da", "scanner": "scanner-primary", "fingerprint": "9194116050188be2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5745bcb73f75e7d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/creative-library-describe/index.ts:207"}, "properties": {"repobilityId": "3a433b64c26556f2", "scanner": "scanner-primary", "fingerprint": "f5745bcb73f75e7d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dad5ffbd80cece30", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/fanbasis-webhook/index.ts:19"}, "properties": {"repobilityId": "514b2dfcb1b0ead9", "scanner": "scanner-primary", "fingerprint": "dad5ffbd80cece30", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e4eb97a68de335e", "level": "none", "message": {"text": "Commented-code block (8 lines) in supabase/functions/ingest-external-submission/index.ts:16"}, "properties": {"repobilityId": "7fe3e657b0295ceb", "scanner": "scanner-primary", "fingerprint": "4e4eb97a68de335e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a606e330aa7fc77", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/ingest-external-submission/index.ts:250"}, "properties": {"repobilityId": "20f5db9b14658339", "scanner": "scanner-primary", "fingerprint": "1a606e330aa7fc77", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-73c1e94c09cba4e8", "level": "note", "message": {"text": "Legacy-named symbol `ad_copy` in supabase/functions/creative-tag-ad/index.ts:158"}, "properties": {"repobilityId": "94b0b590b28d4617", "scanner": "scanner-primary", "fingerprint": "73c1e94c09cba4e8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fa58387f995dbc9a", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/creative-tag-ad/index.ts:11"}, "properties": {"repobilityId": "bc246032732b462f", "scanner": "scanner-primary", "fingerprint": "fa58387f995dbc9a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd206dcd7258f196", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/creative-tag-ad/index.ts:293"}, "properties": {"repobilityId": "2a3e2c921ee99057", "scanner": "scanner-primary", "fingerprint": "fd206dcd7258f196", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-feafae1af4797cde", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/sync-stripe-payments/index.ts:32"}, "properties": {"repobilityId": "87ef56b8b60f333d", "scanner": "scanner-primary", "fingerprint": "feafae1af4797cde", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-516898de91c885c1", "level": "none", "message": {"text": "Commented-code block (7 lines) in supabase/functions/identify-actor/index.ts:3"}, "properties": {"repobilityId": "0297d3f7bd742e8b", "scanner": "scanner-primary", "fingerprint": "516898de91c885c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b635a33fd2b6d7c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/identify-actor/index.ts:173"}, "properties": {"repobilityId": "16e37ffc3b36b1cc", "scanner": "scanner-primary", "fingerprint": "0b635a33fd2b6d7c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-af7079cbf8dc1840", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/transcribe-ads/index.ts:3"}, "properties": {"repobilityId": "6cea6c79be3ba4f2", "scanner": "scanner-primary", "fingerprint": "af7079cbf8dc1840", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-307645dca5a35592", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/transcribe-ads/index.ts:115"}, "properties": {"repobilityId": "16671f8900435829", "scanner": "scanner-primary", "fingerprint": "307645dca5a35592", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-69f0929e6ab88860", "level": "none", "message": {"text": "Commented-code block (7 lines) in supabase/functions/creative-parse-doc/index.ts:3"}, "properties": {"repobilityId": "862eb7c714c89989", "scanner": "scanner-primary", "fingerprint": "69f0929e6ab88860", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-11994a6835772906", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/creative-parse-doc/index.ts:172"}, "properties": {"repobilityId": "6e4636800300d420", "scanner": "scanner-primary", "fingerprint": "11994a6835772906", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cd228dc024a70465", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/sync-meta-ads-full/index.ts:4"}, "properties": {"repobilityId": "ce512a87257291d9", "scanner": "scanner-primary", "fingerprint": "cd228dc024a70465", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6856e693c2e937f9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/analyze-objections/index.ts:75"}, "properties": {"repobilityId": "c3da8120657d2b66", "scanner": "scanner-primary", "fingerprint": "6856e693c2e937f9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1ece284dffa74fc1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/ad-analyst/index.ts:191"}, "properties": {"repobilityId": "8971716920347adc", "scanner": "scanner-primary", "fingerprint": "1ece284dffa74fc1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d1383e7dc99b4b3f", "level": "none", "message": {"text": "Commented-code block (12 lines) in supabase/functions/creative-generate-script/index.ts:10"}, "properties": {"repobilityId": "56d11a948ab3d5c1", "scanner": "scanner-primary", "fingerprint": "d1383e7dc99b4b3f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10b8b539606f1181", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/creative-generate-script/index.ts:1122"}, "properties": {"repobilityId": "90ce7080a5444051", "scanner": "scanner-primary", "fingerprint": "10b8b539606f1181", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1cd48cd325863062", "level": "none", "message": {"text": "Commented-code block (24 lines) in supabase/functions/hyros-webhook/index.ts:5"}, "properties": {"repobilityId": "852a28ed35976417", "scanner": "scanner-primary", "fingerprint": "1cd48cd325863062", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4632d8d0ad0b3b18", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/create-portal-link/index.ts:14"}, "properties": {"repobilityId": "7074677af32be045", "scanner": "scanner-primary", "fingerprint": "4632d8d0ad0b3b18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b65218316d844663", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/create-portal-link/index.ts:72"}, "properties": {"repobilityId": "a964f934c3092387", "scanner": "scanner-primary", "fingerprint": "b65218316d844663", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7cf6ae4d4b97912b", "level": "note", "message": {"text": "Legacy-named symbol `raw_unused` in supabase/functions/notify-admin-digest/index.ts:42"}, "properties": {"repobilityId": "b47060111268db2d", "scanner": "scanner-primary", "fingerprint": "7cf6ae4d4b97912b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e056996c6d95f0dd", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/notify-admin-digest/index.ts:3"}, "properties": {"repobilityId": "003ab0c268a9b3d8", "scanner": "scanner-primary", "fingerprint": "e056996c6d95f0dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc427bfeef87c31c", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/clip-worker/server.js:263"}, "properties": {"repobilityId": "f0ae2e916c97d378", "scanner": "scanner-primary", "fingerprint": "fc427bfeef87c31c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5725ef4c9f26581", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/clip-worker/server.js:81"}, "properties": {"repobilityId": "4bf610be0073a1a7", "scanner": "scanner-primary", "fingerprint": "b5725ef4c9f26581", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-470dba5046e8bf05", "level": "note", "message": {"text": "Legacy-named symbol `AdsLegacy` in src/App.jsx:84"}, "properties": {"repobilityId": "0025bdde8dfbb097", "scanner": "scanner-primary", "fingerprint": "470dba5046e8bf05", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1f722e7735f92eff", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/App.jsx:176"}, "properties": {"repobilityId": "9dfbd14b5f02bfa3", "scanner": "scanner-primary", "fingerprint": "1f722e7735f92eff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5e6be7b86a69e3b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/utils/constants.js:8"}, "properties": {"repobilityId": "dfa0ee2c68bb638c", "scanner": "scanner-primary", "fingerprint": "d5e6be7b86a69e3b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e03e48ae01bb579e", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/components/EditorialDate.jsx:220"}, "properties": {"repobilityId": "fa06a6c74bd24755", "scanner": "scanner-primary", "fingerprint": "e03e48ae01bb579e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ec3c8ed9360840f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/SalesChatWidget.jsx:151"}, "properties": {"repobilityId": "626a89410ee87f24", "scanner": "scanner-primary", "fingerprint": "6ec3c8ed9360840f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8dac97922c07337d", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/components/UploadDock.jsx:21"}, "properties": {"repobilityId": "10705eafe6d0f6ad", "scanner": "scanner-primary", "fingerprint": "8dac97922c07337d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f1dba05456e33a3a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/components/Layout.jsx:14"}, "properties": {"repobilityId": "0dfbc9f85791ff78", "scanner": "scanner-primary", "fingerprint": "f1dba05456e33a3a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ee97a8db13a9b50", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/ads/OptVideoPlayer.jsx:38"}, "properties": {"repobilityId": "4ace8d9b7c107682", "scanner": "scanner-primary", "fingerprint": "2ee97a8db13a9b50", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3393a72b047a3e4", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/components/ads/CreativeFolders.jsx:426"}, "properties": {"repobilityId": "007874113897a426", "scanner": "scanner-primary", "fingerprint": "e3393a72b047a3e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-91856d665854849b", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/components/ads/AdCard.jsx:26"}, "properties": {"repobilityId": "8a2f730ac132b88d", "scanner": "scanner-primary", "fingerprint": "91856d665854849b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-26fb3241a5f7de5f", "level": "note", "message": {"text": "Legacy-named symbol `OFFICE_OSO_v1` in src/components/ads/VariantPill.jsx:3"}, "properties": {"repobilityId": "e32f73c9f24569b9", "scanner": "scanner-primary", "fingerprint": "26fb3241a5f7de5f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-926dfa0bce019629", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/ads/ClipEditorModal.jsx:52"}, "properties": {"repobilityId": "1bf935d62a8be834", "scanner": "scanner-primary", "fingerprint": "926dfa0bce019629", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4c46cf9187e2ade", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/ads/AdsTestingPanel.jsx:71"}, "properties": {"repobilityId": "6653bec0041bcd5b", "scanner": "scanner-primary", "fingerprint": "e4c46cf9187e2ade", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a263fc6a8921973", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/components/editorial/Modal.jsx:11"}, "properties": {"repobilityId": "c55a0355a5ebe55a", "scanner": "scanner-primary", "fingerprint": "0a263fc6a8921973", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f2fb2ee1396fb9c7", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/contexts/AuthContext.jsx:85"}, "properties": {"repobilityId": "d3b8a4fe26c746f9", "scanner": "scanner-primary", "fingerprint": "f2fb2ee1396fb9c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bbc8f71e789add27", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/lib/supabase.js:6"}, "properties": {"repobilityId": "36bade87e871e863", "scanner": "scanner-primary", "fingerprint": "bbc8f71e789add27", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a387dbf13c369cb0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/pagedFetch.js:1"}, "properties": {"repobilityId": "71da77a824e1266d", "scanner": "scanner-primary", "fingerprint": "a387dbf13c369cb0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5de6ef3e26939106", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/lib/editorSession.js:3"}, "properties": {"repobilityId": "636ee4e9951712c6", "scanner": "scanner-primary", "fingerprint": "5de6ef3e26939106", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39582c7fb27fa461", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/lib/videoPoster.js:7"}, "properties": {"repobilityId": "2819802a12aa8c6d", "scanner": "scanner-primary", "fingerprint": "39582c7fb27fa461", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ecc079f0381040c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/pages/EODReview.jsx:1685"}, "properties": {"repobilityId": "b17c5e5efdd2c260", "scanner": "scanner-primary", "fingerprint": "3ecc079f0381040c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9d2e5bf168109c1f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/pages/SalesOverview.jsx:326"}, "properties": {"repobilityId": "dadc159c0e6084ba", "scanner": "scanner-primary", "fingerprint": "9d2e5bf168109c1f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b551a2e77291e941", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/pages/AttributionCoverage.jsx:10"}, "properties": {"repobilityId": "ebd8e9ec0ceda010", "scanner": "scanner-primary", "fingerprint": "b551a2e77291e941", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a35c8530b826c9e0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/pages/CloserOverview.jsx:107"}, "properties": {"repobilityId": "a7723d91b31d48e9", "scanner": "scanner-primary", "fingerprint": "a35c8530b826c9e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33f733792a5c1d5f", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/pages/SetterDetail.jsx:214"}, "properties": {"repobilityId": "986cc4abaea49425", "scanner": "scanner-primary", "fingerprint": "33f733792a5c1d5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b4887eb1cb3f6d58", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/pages/EODDashboard.jsx:45"}, "properties": {"repobilityId": "bd00f96c0102a52c", "scanner": "scanner-primary", "fingerprint": "b4887eb1cb3f6d58", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0a59c3371557ae5", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/pages/MarketingPerformance.jsx:27"}, "properties": {"repobilityId": "c7397264e0bc7579", "scanner": "scanner-primary", "fingerprint": "c0a59c3371557ae5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a62763655b280ee", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/pages/MarketingPerformance.jsx:3264"}, "properties": {"repobilityId": "f4c21aaf484824f8", "scanner": "scanner-primary", "fingerprint": "6a62763655b280ee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d27a0b9aa3bc16bd", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/pages/ads/AdsClips.jsx:32"}, "properties": {"repobilityId": "37e3538f7239c6b2", "scanner": "scanner-primary", "fingerprint": "d27a0b9aa3bc16bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-65fadab8a0d0020f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/pages/ads/EditorView.jsx:111"}, "properties": {"repobilityId": "e96d1f7798553df9", "scanner": "scanner-primary", "fingerprint": "65fadab8a0d0020f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-061c555639de2ff4", "level": "note", "message": {"text": "Legacy-named symbol `raw_unused` in src/pages/ads/AdsCreativeLibrary.jsx:1819"}, "properties": {"repobilityId": "31d7a373b8b2dd13", "scanner": "scanner-primary", "fingerprint": "061c555639de2ff4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e68bf8193e982eee", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/pages/ads/AdsCreativeLibrary.jsx:113"}, "properties": {"repobilityId": "7c9816a233eea837", "scanner": "scanner-primary", "fingerprint": "e68bf8193e982eee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed6eaf6f2581a1fc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/pages/ads/AdsCreativeLibrary.jsx:6093"}, "properties": {"repobilityId": "2be14f27265ee4de", "scanner": "scanner-primary", "fingerprint": "ed6eaf6f2581a1fc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-53f0b3c45c5c7ec7", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/pages/ads/AdsGenerator.jsx:42"}, "properties": {"repobilityId": "f9c8ed5b996fccd4", "scanner": "scanner-primary", "fingerprint": "53f0b3c45c5c7ec7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87150301f6c85f28", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/pages/ads/AdDetail.jsx:56"}, "properties": {"repobilityId": "ff93493fac27e734", "scanner": "scanner-primary", "fingerprint": "87150301f6c85f28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1dcec703906a2164", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/pages/ads/AdsPerformance.jsx:93"}, "properties": {"repobilityId": "526bfc587a93d358", "scanner": "scanner-primary", "fingerprint": "1dcec703906a2164", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8bcd5d157c6f8d4a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/pages/ads/EditorLogin.jsx:56"}, "properties": {"repobilityId": "fa5adecc898d84ab", "scanner": "scanner-primary", "fingerprint": "8bcd5d157c6f8d4a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f9ae8a1a847e5034", "level": "note", "message": {"text": "Legacy-named symbol `AdsLegacy` in src/pages/ads/AdsLegacy.jsx:6"}, "properties": {"repobilityId": "041408ab8f297ba4", "scanner": "scanner-primary", "fingerprint": "f9ae8a1a847e5034", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-42eebeab172ff3e8", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/pages/ads/AdsCreativeTestingLayout.jsx:22"}, "properties": {"repobilityId": "c3bb0b0e8c4edc01", "scanner": "scanner-primary", "fingerprint": "42eebeab172ff3e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5b63afa75987dd8b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/pages/ads/library/editors.jsx:1060"}, "properties": {"repobilityId": "86e94d0711bcc683", "scanner": "scanner-primary", "fingerprint": "5b63afa75987dd8b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f2ce56812df8bf58", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/pages/ads/library/upload.jsx:36"}, "properties": {"repobilityId": "f776aecc7369902f", "scanner": "scanner-primary", "fingerprint": "f2ce56812df8bf58", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ccb779a19c716db8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/pages/ads/library/shared.jsx:52"}, "properties": {"repobilityId": "7f6b3cb5d112d1ae", "scanner": "scanner-primary", "fingerprint": "ccb779a19c716db8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c9cfdaecff787dd", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/pages/downsells/DownsellsSessionPage.jsx:145"}, "properties": {"repobilityId": "6e944a10b4d9e584", "scanner": "scanner-primary", "fingerprint": "3c9cfdaecff787dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f180260033011dbb", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/pages/downsells/CoachThread.jsx:1"}, "properties": {"repobilityId": "b019cdf12cb56b4b", "scanner": "scanner-primary", "fingerprint": "f180260033011dbb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ea3e96d77fda8ad", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/pages/contracts/ContractDetail.jsx:433"}, "properties": {"repobilityId": "d55fa6070162ab3d", "scanner": "scanner-primary", "fingerprint": "1ea3e96d77fda8ad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb2a4292eeb1f055", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/pages/contracts/ContractPreview.jsx:5"}, "properties": {"repobilityId": "b3d3626da9df92d8", "scanner": "scanner-primary", "fingerprint": "eb2a4292eeb1f055", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7af596790e20907c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/hooks/useMarketingTracker.js:18"}, "properties": {"repobilityId": "63b05e778365507f", "scanner": "scanner-primary", "fingerprint": "7af596790e20907c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c84b53ad9dec060", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useCommissions.js:18"}, "properties": {"repobilityId": "d1b6aaf1d8f69b24", "scanner": "scanner-primary", "fingerprint": "5c84b53ad9dec060", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bc2338ebfaee97b7", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/hooks/useCloserCallProspectMetrics.js:35"}, "properties": {"repobilityId": "169728cfbcd02a68", "scanner": "scanner-primary", "fingerprint": "bc2338ebfaee97b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de9833d8e3681a4d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useCloserCallProspectMetrics.js:97"}, "properties": {"repobilityId": "00f82346ad4feaa9", "scanner": "scanner-primary", "fingerprint": "de9833d8e3681a4d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-005df3c44d12d567", "level": "note", "message": {"text": "Legacy-named symbol `isLiveLegacy` in src/hooks/useCloserData.js:171"}, "properties": {"repobilityId": "dcfd871460837739", "scanner": "scanner-primary", "fingerprint": "005df3c44d12d567", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-26bbc35d9e478148", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/hooks/useCloserData.js:139"}, "properties": {"repobilityId": "1cff81aca6368299", "scanner": "scanner-primary", "fingerprint": "26bbc35d9e478148", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3b73021d9f4d223e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useCloserData.js:113"}, "properties": {"repobilityId": "7c4aa4ca9a244291", "scanner": "scanner-primary", "fingerprint": "3b73021d9f4d223e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-19156711a7f9ca1e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useEngagementData.js:12"}, "properties": {"repobilityId": "fe18f017077e9498", "scanner": "scanner-primary", "fingerprint": "19156711a7f9ca1e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-269d8aa4179d3940", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useEngagementCadences.js:21"}, "properties": {"repobilityId": "c18438d573c3dfb3", "scanner": "scanner-primary", "fingerprint": "269d8aa4179d3940", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f58731968b3056a9", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/autoSync.js:130"}, "properties": {"repobilityId": "c285e5ccb03664c5", "scanner": "scanner-primary", "fingerprint": "f58731968b3056a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-83bfbea061df808b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/audioExtract.js:53"}, "properties": {"repobilityId": "bfb3ec7ae7e7d871", "scanner": "scanner-primary", "fingerprint": "83bfbea061df808b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f461f961396cd68f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/scriptGenerator.js:220"}, "properties": {"repobilityId": "17236a9c6396852f", "scanner": "scanner-primary", "fingerprint": "f461f961396cd68f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-274403d8aadd7042", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/services/metaAdsSync.js:218"}, "properties": {"repobilityId": "a8fea2c2daafadd5", "scanner": "scanner-primary", "fingerprint": "274403d8aadd7042", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-656735025ff1e322", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/ghlClient.js:3"}, "properties": {"repobilityId": "caf628cf55324b85", "scanner": "scanner-primary", "fingerprint": "656735025ff1e322", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0da303da68ef69a5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/ghlClient.js:4"}, "properties": {"repobilityId": "70a688815d4e80fe", "scanner": "scanner-primary", "fingerprint": "0da303da68ef69a5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-56662196bb2e61f6", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/services/ghlCalendar.js:137"}, "properties": {"repobilityId": "8d00af9ae9d872b1", "scanner": "scanner-primary", "fingerprint": "56662196bb2e61f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf950a5863dd9ee7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/services/fathomApi.js:8"}, "properties": {"repobilityId": "07cee302d3fce731", "scanner": "scanner-primary", "fingerprint": "bf950a5863dd9ee7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-70fcae2d13c708b6", "level": "note", "message": {"text": "17 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "f21675bed249619c", "scanner": "scanner-primary", "fingerprint": "70fcae2d13c708b6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-ff6784943b36f8b2", "level": "warning", "message": {"text": "Frontend route `/editor-view/:token` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "af0d12ca7825cd90", "scanner": "scanner-primary", "fingerprint": "ff6784943b36f8b2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-2a5ad046412659fe", "level": "warning", "message": {"text": "Frontend route `/sales/closers/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "6ae7e9b19bdc7dec", "scanner": "scanner-primary", "fingerprint": "2a5ad046412659fe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-efbaf277f8751a65", "level": "warning", "message": {"text": "Frontend route `/sales/setters/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "c3a4c87e4557b202", "scanner": "scanner-primary", "fingerprint": "efbaf277f8751a65", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-397a2e1d5d544453", "level": "warning", "message": {"text": "Frontend route `/sales/setters/:id/kpi-history` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "345514bbb441cdc0", "scanner": "scanner-primary", "fingerprint": "397a2e1d5d544453", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-ba793001971aac4b", "level": "warning", "message": {"text": "Frontend route `performance` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "5308053ff328bd0a", "scanner": "scanner-primary", "fingerprint": "ba793001971aac4b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-6505a58955211a47", "level": "warning", "message": {"text": "Frontend route `messaging` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "14ad16a87bfec539", "scanner": "scanner-primary", "fingerprint": "6505a58955211a47", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-b027320a55c04b0d", "level": "warning", "message": {"text": "Frontend route `creative` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "d9924b53e5df9b53", "scanner": "scanner-primary", "fingerprint": "b027320a55c04b0d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-9a7369680f62e358", "level": "warning", "message": {"text": "Frontend route `clips` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "d28a328c577aaa3f", "scanner": "scanner-primary", "fingerprint": "9a7369680f62e358", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-9ae2ba6a40024269", "level": "warning", "message": {"text": "Frontend route `variants` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "87c390ace679dc5a", "scanner": "scanner-primary", "fingerprint": "9ae2ba6a40024269", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-afd5bdaf5a66fedb", "level": "warning", "message": {"text": "Frontend route `ads` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "79c56fc807590e39", "scanner": "scanner-primary", "fingerprint": "afd5bdaf5a66fedb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-879ff6d1efcad65b", "level": "warning", "message": {"text": "Frontend route `insights` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "769fa2cf9d605a5f", "scanner": "scanner-primary", "fingerprint": "879ff6d1efcad65b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-f68b5c2674f11431", "level": "warning", "message": {"text": "Frontend route `creatives` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "b690cfa876dcfd75", "scanner": "scanner-primary", "fingerprint": "f68b5c2674f11431", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-31b72ffd95832512", "level": "warning", "message": {"text": "Frontend route `library` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "1c896c927e058872", "scanner": "scanner-primary", "fingerprint": "31b72ffd95832512", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-616150f2bbc9849b", "level": "warning", "message": {"text": "Frontend route `attributes` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "9b34c03ba78fef03", "scanner": "scanner-primary", "fingerprint": "616150f2bbc9849b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-ab1c7a78dcb88278", "level": "warning", "message": {"text": "Frontend route `explorations` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "b3bde032a8df65db", "scanner": "scanner-primary", "fingerprint": "ab1c7a78dcb88278", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-3b0e6d655fae8018", "level": "warning", "message": {"text": "Frontend route `tests` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "c92974da816a4cb2", "scanner": "scanner-primary", "fingerprint": "3b0e6d655fae8018", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-4dc26d6c36f16eeb", "level": "warning", "message": {"text": "Frontend route `generate` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "0747910dfaf03261", "scanner": "scanner-primary", "fingerprint": "4dc26d6c36f16eeb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-9ac4eddb94f41882", "level": "warning", "message": {"text": "Frontend route `list` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "f08476ee03dce894", "scanner": "scanner-primary", "fingerprint": "9ac4eddb94f41882", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-acdb9f657cbbe99b", "level": "warning", "message": {"text": "Frontend route `hooks` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "7c82b2f6109ba1ad", "scanner": "scanner-primary", "fingerprint": "acdb9f657cbbe99b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-84f6a4d195799132", "level": "warning", "message": {"text": "Frontend route `bodies` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "5eaec88b09794aef", "scanner": "scanner-primary", "fingerprint": "84f6a4d195799132", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-3844f32f46da70a4", "level": "warning", "message": {"text": "Frontend route `scenes` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "3c67724aa169f91b", "scanner": "scanner-primary", "fingerprint": "3844f32f46da70a4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-15a0bc0cb4510815", "level": "warning", "message": {"text": "Frontend route `creators` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "18fe2eae58d0431b", "scanner": "scanner-primary", "fingerprint": "15a0bc0cb4510815", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-b23d8c5222ddba5c", "level": "warning", "message": {"text": "Frontend route `variants/:variantId` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "587ff2f691412219", "scanner": "scanner-primary", "fingerprint": "b23d8c5222ddba5c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-1399323f7742a498", "level": "warning", "message": {"text": "Frontend route `components/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "6f7dceeaab4be822", "scanner": "scanner-primary", "fingerprint": "1399323f7742a498", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-5e51cdd1ee3fc8da", "level": "warning", "message": {"text": "Frontend route `orphans` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "562388939fab53da", "scanner": "scanner-primary", "fingerprint": "5e51cdd1ee3fc8da", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-d6799febd1531937", "level": "warning", "message": {"text": "Frontend route `legacy` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "c9e990c3af651192", "scanner": "scanner-primary", "fingerprint": "d6799febd1531937", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-9ab32a1850bd8846", "level": "warning", "message": {"text": "Frontend route `ad/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "ed9d5437f7c957a6", "scanner": "scanner-primary", "fingerprint": "9ab32a1850bd8846", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-da8232b9d5bab14e", "level": "warning", "message": {"text": "Frontend route `/sales/eod/submit` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "6ea51bac16f001ed", "scanner": "scanner-primary", "fingerprint": "da8232b9d5bab14e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-451711d7abc2f384", "level": "warning", "message": {"text": "Frontend route `/sales/eod-history` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "cadba30682d13597", "scanner": "scanner-primary", "fingerprint": "451711d7abc2f384", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-396462656a34b363", "level": "warning", "message": {"text": "Frontend route `/sales/call-data` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "abf84740122779ce", "scanner": "scanner-primary", "fingerprint": "396462656a34b363", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-a4c40b5339e67c31", "level": "warning", "message": {"text": "Frontend route `/sales/contracts/new` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "5e9f13ab6ec05f4b", "scanner": "scanner-primary", "fingerprint": "a4c40b5339e67c31", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-7b5e7c626671024c", "level": "warning", "message": {"text": "Frontend route `/sales/contracts/policy` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "82367787d42e7d9f", "scanner": "scanner-primary", "fingerprint": "7b5e7c626671024c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-9eabe5bce2784edd", "level": "warning", "message": {"text": "Frontend route `/sales/contracts/pending` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "125bb1b220374785", "scanner": "scanner-primary", "fingerprint": "9eabe5bce2784edd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-77294e604c5bfd66", "level": "warning", "message": {"text": "Frontend route `/sales/contracts/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "b15bbb9712afb2c7", "scanner": "scanner-primary", "fingerprint": "77294e604c5bfd66", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-16de04ac7df26cb8", "level": "warning", "message": {"text": "Frontend route `/sales/downsells/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "0aaf2011d2947efe", "scanner": "scanner-primary", "fingerprint": "16de04ac7df26cb8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-c0f08dba90ee4d48", "level": "warning", "message": {"text": "Frontend route `/sales/commissions/:id` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "8f303a570bd1eb97", "scanner": "scanner-primary", "fingerprint": "c0f08dba90ee4d48", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-ef573cc68a21aaa4", "level": "warning", "message": {"text": "Frontend route `/sales/setter-bot` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "84c460291c55c219", "scanner": "scanner-primary", "fingerprint": "ef573cc68a21aaa4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-b88916b5e5913d3c", "level": "warning", "message": {"text": "Frontend route `/sales/email-flows/:flowId` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "20b2deca6ca942b4", "scanner": "scanner-primary", "fingerprint": "b88916b5e5913d3c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-a2cb65ab745a8458", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (scripts/send-editor-welcome.mjs:72)"}, "properties": {"repobilityId": "5bab9465d088b605", "scanner": "scanner-primary", "fingerprint": "a2cb65ab745a8458", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4f4885a27d835e4d", "level": "error", "message": {"text": "Dangling fetch: GET https://api.render.com/v1/services/${RENDER_SRV}/env-vars (scripts/deploy-edge-functions.mjs:28)"}, "properties": {"repobilityId": "40521d562d8ef92a", "scanner": "scanner-primary", "fingerprint": "4f4885a27d835e4d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a03bc542ef73b426", "level": "error", "message": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/secrets (scripts/deploy-edge-functions.mjs:50)"}, "properties": {"repobilityId": "b815bc381d36075a", "scanner": "scanner-primary", "fingerprint": "a03bc542ef73b426", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-31becd5a243466bb", "level": "error", "message": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions (scripts/deploy-edge-functions.mjs:81)"}, "properties": {"repobilityId": "78feec1489b282e1", "scanner": "scanner-primary", "fingerprint": "31becd5a243466bb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a583d3d9c5ce58c5", "level": "error", "message": {"text": "Dangling fetch: PATCH https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/${fn.slug} (scripts/deploy-edge-functions.mjs:95)"}, "properties": {"repobilityId": "30153b8e74be2f71", "scanner": "scanner-primary", "fingerprint": "a583d3d9c5ce58c5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a100d6771334a59e", "level": "error", "message": {"text": "Dangling fetch: GET https://api.render.com/v1/services/${RENDER_SRV}/env-vars (scripts/deploy-hyros.mjs:20)"}, "properties": {"repobilityId": "411f098d2e708cd1", "scanner": "scanner-primary", "fingerprint": "a100d6771334a59e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f69027fc5331d349", "level": "error", "message": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/secrets (scripts/deploy-hyros.mjs:32)"}, "properties": {"repobilityId": "f53864e3d9927d62", "scanner": "scanner-primary", "fingerprint": "f69027fc5331d349", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4b4b5afcbe322b1b", "level": "error", "message": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/deploy?slug=${fn.slug} (scripts/deploy-hyros.mjs:62)"}, "properties": {"repobilityId": "4346ccc1805afebf", "scanner": "scanner-primary", "fingerprint": "4b4b5afcbe322b1b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-91c6450017bcba58", "level": "error", "message": {"text": "Dangling fetch: POST https://${PROJECT_REF}.supabase.co/functions/v1/hyros-sync (scripts/deploy-hyros.mjs:73)"}, "properties": {"repobilityId": "5bc54e6a5ead9f7e", "scanner": "scanner-primary", "fingerprint": "91c6450017bcba58", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c0cd77821f1d3c17", "level": "error", "message": {"text": "Dangling fetch: GET https://api.render.com/v1/services/${RENDER_SRV}/env-vars (scripts/deploy-edge-multipart.mjs:21)"}, "properties": {"repobilityId": "cddc7afaeb5b0871", "scanner": "scanner-primary", "fingerprint": "c0cd77821f1d3c17", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-51310986b4783089", "level": "error", "message": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/secrets (scripts/deploy-edge-multipart.mjs:34)"}, "properties": {"repobilityId": "a3981fe0cadd4052", "scanner": "scanner-primary", "fingerprint": "51310986b4783089", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7695087a006aedf1", "level": "error", "message": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/deploy?slug=${fn.slug} (scripts/deploy-edge-multipart.mjs:62)"}, "properties": {"repobilityId": "6f97e8aa229a995b", "scanner": "scanner-primary", "fingerprint": "7695087a006aedf1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-94fc1c4fddf15780", "level": "error", "message": {"text": "Dangling fetch: POST https://${PROJECT_REF}.supabase.co/functions/v1/ad-analyst (scripts/deploy-edge-multipart.mjs:78)"}, "properties": {"repobilityId": "d4dff4e1169c8ae6", "scanner": "scanner-primary", "fingerprint": "94fc1c4fddf15780", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-076e22f24473fa52", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (scripts/transcribe-ad-videos.mjs:154)"}, "properties": {"repobilityId": "c31c73000cc5808e", "scanner": "scanner-primary", "fingerprint": "076e22f24473fa52", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-21ca87171df835b8", "level": "error", "message": {"text": "Dangling fetch: GET https://graph.facebook.com/v21.0/act_${ACCOUNT_ID}/insights?${params} (scripts/sync-meta.mjs:55)"}, "properties": {"repobilityId": "eebea0512672461c", "scanner": "scanner-primary", "fingerprint": "21ca87171df835b8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c13bb622fe4f7ff6", "level": "error", "message": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions (scripts/deploy-edge-test.mjs:14)"}, "properties": {"repobilityId": "86e48a038e58895c", "scanner": "scanner-primary", "fingerprint": "c13bb622fe4f7ff6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-833291c2a798f5de", "level": "error", "message": {"text": "Dangling fetch: PATCH https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/hello-edge-test (scripts/deploy-edge-test.mjs:23)"}, "properties": {"repobilityId": "36cab36d1e494cf3", "scanner": "scanner-primary", "fingerprint": "833291c2a798f5de", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4f1a0dbd79978a95", "level": "error", "message": {"text": "Dangling fetch: POST https://${PROJECT_REF}.supabase.co/functions/v1/hello-edge-test (scripts/deploy-edge-test.mjs:35)"}, "properties": {"repobilityId": "45614da6fdf0af4e", "scanner": "scanner-primary", "fingerprint": "4f1a0dbd79978a95", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9739bc954a0e2b10", "level": "error", "message": {"text": "Dangling fetch: POST https://api.supabase.com/v1/projects/${PROJECT_REF}/functions/deploy?slug=fanbasis-webhook (scripts/deploy-fanbasis-webhook.mjs:35)"}, "properties": {"repobilityId": "1fbd4a32330830fd", "scanner": "scanner-primary", "fingerprint": "9739bc954a0e2b10", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d1cc8b1542f4b5b4", "level": "error", "message": {"text": "Dangling fetch: GET /version.json?t=${Date.now()} (src/App.jsx:202)"}, "properties": {"repobilityId": "da4b98896bfa1bff", "scanner": "scanner-primary", "fingerprint": "d1cc8b1542f4b5b4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a2e8559e51e23c0a", "level": "error", "message": {"text": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments?days=7&limit=100&resync=true (src/pages/CommissionPage.jsx:226)"}, "properties": {"repobilityId": "c75570f4946c20bf", "scanner": "scanner-primary", "fingerprint": "a2e8559e51e23c0a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-84be00df997bab37", "level": "error", "message": {"text": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments?days=90&limit=100&resync=true (src/pages/CommissionPage.jsx:326)"}, "properties": {"repobilityId": "0b1309643d0c4c75", "scanner": "scanner-primary", "fingerprint": "84be00df997bab37", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-22fca9b712e55566", "level": "error", "message": {"text": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-fanbasis-payments?days=90&limit=100 (src/pages/CommissionPage.jsx:345)"}, "properties": {"repobilityId": "f5af084418cda01e", "scanner": "scanner-primary", "fingerprint": "22fca9b712e55566", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fbfe67be04b1456a", "level": "error", "message": {"text": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-stripe-payments?days=14&limit=100&resync=false (src/services/autoSync.js:96)"}, "properties": {"repobilityId": "508eab16b1e26b11", "scanner": "scanner-primary", "fingerprint": "fbfe67be04b1456a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1020428ef177944a", "level": "error", "message": {"text": "Dangling fetch: GET https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-fanbasis-payments?days=14&limit=100 (src/services/autoSync.js:113)"}, "properties": {"repobilityId": "3325eec9c6be884f", "scanner": "scanner-primary", "fingerprint": "1020428ef177944a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-48c1afdcc566374b", "level": "error", "message": {"text": "Dangling fetch: POST https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-typeform (src/services/autoSync.js:240)"}, "properties": {"repobilityId": "0cb3c97dcd647cc4", "scanner": "scanner-primary", "fingerprint": "48c1afdcc566374b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b27547721ec341f5", "level": "error", "message": {"text": "Dangling fetch: POST https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/sync-ghl-contacts (src/services/autoSync.js:270)"}, "properties": {"repobilityId": "ee87d5a2dc2a5730", "scanner": "scanner-primary", "fingerprint": "b27547721ec341f5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4c399b16feef0c18", "level": "error", "message": {"text": "Dangling fetch: POST https://kjfaqhmllagbxjdxlopm.supabase.co/functions/v1/hyros-sync (src/services/autoSync.js:304)"}, "properties": {"repobilityId": "d8c809876b2a3f29", "scanner": "scanner-primary", "fingerprint": "4c399b16feef0c18", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-011abbc213b28618", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (supabase/functions/transcribe-library-clip/index.ts:96)"}, "properties": {"repobilityId": "dbf1f8028ee76082", "scanner": "scanner-primary", "fingerprint": "011abbc213b28618", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-19bbfc0bb890309c", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (supabase/functions/transcribe-uploaded-ad/index.ts:73)"}, "properties": {"repobilityId": "b417d7b2ae2ad678", "scanner": "scanner-primary", "fingerprint": "19bbfc0bb890309c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b288997ec7cba06e", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/triage-detect-bad-take/index.ts:93)"}, "properties": {"repobilityId": "976d9ab9a8d24895", "scanner": "scanner-primary", "fingerprint": "b288997ec7cba06e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ffc01b6ab0f45a92", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/contract-judge-amendment/index.ts:241)"}, "properties": {"repobilityId": "abf10c9cad0aa959", "scanner": "scanner-primary", "fingerprint": "ffc01b6ab0f45a92", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fc9a3a610065d111", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/notify-editor-email/index.ts:139)"}, "properties": {"repobilityId": "60992e99e57a8e46", "scanner": "scanner-primary", "fingerprint": "fc9a3a610065d111", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-df2ad49f874dea9f", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/contract-downsell-coach/index.ts:183)"}, "properties": {"repobilityId": "0fba4c33e1c90eac", "scanner": "scanner-primary", "fingerprint": "df2ad49f874dea9f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ba2520baaa2f78ac", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/send-editor-magic-link/index.ts:203)"}, "properties": {"repobilityId": "9fb8cd4d4d1797fc", "scanner": "scanner-primary", "fingerprint": "ba2520baaa2f78ac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6291e814b588fcab", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/sales-chat/index.ts:27)"}, "properties": {"repobilityId": "53b872fbef73849a", "scanner": "scanner-primary", "fingerprint": "6291e814b588fcab", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-eaf70748f5f58e58", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/invite-editor/index.ts:137)"}, "properties": {"repobilityId": "c8ec944e3e7e0620", "scanner": "scanner-primary", "fingerprint": "eaf70748f5f58e58", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dd9da040de2a294f", "level": "error", "message": {"text": "Dangling fetch: GET https://api.fathom.ai/external/v1/meetings?include_summary=true&limit=100 (supabase/functions/sync-fathom/index.ts:22)"}, "properties": {"repobilityId": "1a8964b9a408f5b1", "scanner": "scanner-primary", "fingerprint": "dd9da040de2a294f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-07e39b669eeab741", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-library-describe/index.ts:207)"}, "properties": {"repobilityId": "d4308d9ed131acd3", "scanner": "scanner-primary", "fingerprint": "07e39b669eeab741", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c486305e8e4cf807", "level": "error", "message": {"text": "Dangling fetch: GET https://www.googleapis.com/drive/v3/files/${fileId}?fields=name,mimeType (supabase/functions/ingest-external-submission/index.ts:250)"}, "properties": {"repobilityId": "2c003f6e0628731a", "scanner": "scanner-primary", "fingerprint": "c486305e8e4cf807", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a754814f00761ee5", "level": "error", "message": {"text": "Dangling fetch: GET https://www.googleapis.com/drive/v3/files/${fileId}?alt=media (supabase/functions/ingest-external-submission/index.ts:264)"}, "properties": {"repobilityId": "f5df256997c225b3", "scanner": "scanner-primary", "fingerprint": "a754814f00761ee5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-31fcc7330b090091", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (supabase/functions/ingest-external-submission/index.ts:307)"}, "properties": {"repobilityId": "d70ef4fe60f6063a", "scanner": "scanner-primary", "fingerprint": "31fcc7330b090091", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b927599ff253474e", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-tag-ad/index.ts:293)"}, "properties": {"repobilityId": "4e94642fb0f753a8", "scanner": "scanner-primary", "fingerprint": "b927599ff253474e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fb9c86d98374e291", "level": "error", "message": {"text": "Dangling fetch: GET https://api.stripe.com/v1/charges?limit=${limit}&created[gte]=${createdAfter}&expand[]=data.customer (supabase/functions/sync-stripe-payments/index.ts:32)"}, "properties": {"repobilityId": "d9ef54552ddceb1b", "scanner": "scanner-primary", "fingerprint": "fb9c86d98374e291", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8517fa9c51b81b92", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/identify-actor/index.ts:173)"}, "properties": {"repobilityId": "f3257c83eaf792c3", "scanner": "scanner-primary", "fingerprint": "8517fa9c51b81b92", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ce27714787ad50e4", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (supabase/functions/transcribe-ads/index.ts:115)"}, "properties": {"repobilityId": "8e5c31720a563e91", "scanner": "scanner-primary", "fingerprint": "ce27714787ad50e4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-99f3d2233b3f4fb7", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-parse-doc/index.ts:172)"}, "properties": {"repobilityId": "64678889063021d3", "scanner": "scanner-primary", "fingerprint": "99f3d2233b3f4fb7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6f1f0d7268aab6f0", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/analyze-objections/index.ts:75)"}, "properties": {"repobilityId": "bf3fb56380db657f", "scanner": "scanner-primary", "fingerprint": "6f1f0d7268aab6f0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1ff183cb047ebdc5", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/ad-analyst/index.ts:191)"}, "properties": {"repobilityId": "bee8fb9bf9e24152", "scanner": "scanner-primary", "fingerprint": "1ff183cb047ebdc5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6d54b518ab95465c", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/ad-analyst/index.ts:225)"}, "properties": {"repobilityId": "eefb89e527dfcefe", "scanner": "scanner-primary", "fingerprint": "6d54b518ab95465c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-07095dc9722d01bb", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/ad-analyst/index.ts:296)"}, "properties": {"repobilityId": "44b3d5c8da84fbe1", "scanner": "scanner-primary", "fingerprint": "07095dc9722d01bb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-de2ba8395453ee64", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/ad-analyst/index.ts:338)"}, "properties": {"repobilityId": "95550e927db738cf", "scanner": "scanner-primary", "fingerprint": "de2ba8395453ee64", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fe417ec376225978", "level": "error", "message": {"text": "Dangling fetch: POST https://google.serper.dev/search (supabase/functions/creative-generate-script/index.ts:757)"}, "properties": {"repobilityId": "4169781e2afdcb50", "scanner": "scanner-primary", "fingerprint": "fe417ec376225978", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ac1c5c6411e1b52e", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-generate-script/index.ts:1122)"}, "properties": {"repobilityId": "74c34a9ee1024619", "scanner": "scanner-primary", "fingerprint": "ac1c5c6411e1b52e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a36fd5f7b0151c25", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-generate-script/index.ts:1391)"}, "properties": {"repobilityId": "69b98d01bd40c4c4", "scanner": "scanner-primary", "fingerprint": "a36fd5f7b0151c25", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e22aa3148868d315", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-generate-script/index.ts:1818)"}, "properties": {"repobilityId": "8988f4ecb4508d28", "scanner": "scanner-primary", "fingerprint": "e22aa3148868d315", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-92981b81953a45c9", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (supabase/functions/creative-generate-script/index.ts:1946)"}, "properties": {"repobilityId": "ad83df5a122834a3", "scanner": "scanner-primary", "fingerprint": "92981b81953a45c9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-cb021b7084df013e", "level": "error", "message": {"text": "Dangling fetch: GET https://api.stripe.com/v1/customers?email=${encodeURIComponent(email)}&limit=1 (supabase/functions/create-portal-link/index.ts:72)"}, "properties": {"repobilityId": "9f8c430de1e3b919", "scanner": "scanner-primary", "fingerprint": "cb021b7084df013e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-60e9f3863efc20ba", "level": "error", "message": {"text": "Dangling fetch: POST https://api.stripe.com/v1/billing_portal/sessions (supabase/functions/create-portal-link/index.ts:92)"}, "properties": {"repobilityId": "6c28857b8d0daddd", "scanner": "scanner-primary", "fingerprint": "60e9f3863efc20ba", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-82d4e7269eb6da99", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/notify-admin-digest/index.ts:148)"}, "properties": {"repobilityId": "3a257643b2109029", "scanner": "scanner-primary", "fingerprint": "82d4e7269eb6da99", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a6362733cbaa7fa5", "level": "error", "message": {"text": "Dangling fetch: GET https://services.leadconnectorhq.com/contacts/?locationId=${ghlLocationId}&query=${encodeURIComponent(query!)}&limit=1 (supabase/functions/_shared/matchPayment.ts:94)"}, "properties": {"repobilityId": "92b6328ed01ec4ee", "scanner": "scanner-primary", "fingerprint": "a6362733cbaa7fa5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-aa11ba9351e569ed", "level": "note", "message": {"text": "Unused endpoint: POST /detect"}, "properties": {"repobilityId": "7d98129082834cec", "scanner": "scanner-primary", "fingerprint": "aa11ba9351e569ed", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-42f1206579309c68", "level": "note", "message": {"text": "Unused endpoint: POST /cut"}, "properties": {"repobilityId": "bc55d51495bd9372", "scanner": "scanner-primary", "fingerprint": "42f1206579309c68", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-beb60d9efe177a49", "level": "note", "message": {"text": "Unused endpoint: POST /merge"}, "properties": {"repobilityId": "c6118af5b7a6f2b9", "scanner": "scanner-primary", "fingerprint": "beb60d9efe177a49", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7178bd690027cca9", "level": "note", "message": {"text": "Unused endpoint: POST /selftest"}, "properties": {"repobilityId": "d7623642be51de4c", "scanner": "scanner-primary", "fingerprint": "7178bd690027cca9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}