{"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: thirstypig/TheFantasticLeagues", "shortDescription": {"text": "Foundry mined unresolved feedback: thirstypig/TheFantasticLeagues"}, "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: needs_more_evidence\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#8\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#8\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#8\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 8\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'iss"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues", "shortDescription": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#9\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: thirstypig/TheFantasticLeagues#9\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8eb025ce6cc04d1e\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": "}, "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: thirstypig/TheFantasticLeagues", "shortDescription": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "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: weak_supervision_needs_review\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#9\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#9\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#9\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 9\nGraph consistency label: weak_supervision_needs_review\nNodes: 11\nEdges: 13\nNode types: {'link_quality': 3, 'commit': 2, '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: thirstypig/TheFantasticLeagues", "shortDescription": {"text": "Foundry mined schema ui api mismatch: thirstypig/TheFantasticLeagues"}, "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: contradicted_by_ci_or_failure_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#401\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#401\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#401\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 401\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 28\nEdges: 54\nNode types: {'pr_file': 15, 'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, "}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: thirstypig/TheFantasticLeagues", "shortDescription": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#8\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: thirstypig/TheFantasticLeagues#8\nRepo: thirstypig/TheFantasticLeagues\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: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-46ad9a9df5bb7e49\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\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: thirstypig/TheFantasticLeagues", "shortDescription": {"text": "Foundry mined security auth guardrail gaps: thirstypig/TheFantasticLeagues"}, "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: needs_more_evidence\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#8\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#8\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#8\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 8\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': "}, "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: thirstypig/TheFantasticLeagues", "shortDescription": {"text": "Foundry mined mock as real or placeholder: thirstypig/TheFantasticLeagues"}, "fullDescription": {"text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#395\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#395\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#395\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 395\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 37\nNode types: {'pr_fi"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"id": "foundry_failing_ci_claim", "name": "Foundry mined claimed resolved with failing ci: thirstypig/TheFantasticLeagues", "shortDescription": {"text": "Foundry mined claimed resolved with failing ci: thirstypig/TheFantasticLeagues"}, "fullDescription": {"text": "Graph query export: Claimed resolved with failing CI\nQuery id: claimed_resolved_with_failing_ci\nQuery type: motif_query\nIntent: Hard negatives where CI/failure evidence contradicts a resolution claim.\nMotif: claimed_resolved_with_failing_ci\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#401\nEvidence:\nGraph motif: Claimed resolved while CI or failure evidence contradicts it\nMotif id: claimed_resolved_with_failing_ci\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#401\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#401\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 401\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 28\nEdges: 54\nNode types: {'pr_file': 15, '"}, "properties": {"scanner": "foundry_dataset", "category": "ci", "severity": "critical", "confidence": 0.86, "cwe": "", "owasp": ""}}, {"id": "scanner-431a8b8417d42d96", "name": "Stray `console.log` in TS/JS \u2014 inspect_xlsx.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 inspect_xlsx.ts:6"}, "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-c463b0a55ff2ee14", "name": "Stray `console.log` in TS/JS \u2014 recalc_2025.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 recalc_2025.ts:6"}, "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-d2a09793b42177d5", "name": "Stray `console.log` in TS/JS \u2014 fix_names.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 fix_names.ts:19"}, "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-c9704799a02eea6d", "name": "Stray `console.log` in TS/JS \u2014 sync_db_to_csv.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sync_db_to_csv.ts:27"}, "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-93662d9e29fe6dc4", "name": "Stray `console.log` in TS/JS \u2014 manual_fix.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 manual_fix.ts:8"}, "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-d2a2bc6ae0ed19dd", "name": "Stray `console.log` in TS/JS \u2014 restore_2025.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 restore_2025.ts:8"}, "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-1d2e9dfbadf99f2f", "name": "Stray `console.log` in TS/JS \u2014 sync_roster_entry.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sync_roster_entry.ts:6"}, "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-3c2a007c5aaa6358", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/components/GoogleSignInButton.tsx:41", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/components/GoogleSignInButton.tsx:41"}, "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-658c773b50ee366e", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/components/Sidebar.tsx:121", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/components/Sidebar.tsx:121"}, "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-1bb3152c5d70c7bc", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/components/shared/PlayerNameCell.tsx:30", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/components/shared/PlayerNameCell.tsx:30"}, "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-3106a179cbcbe137", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/components/shared/PlayerDetailModal.tsx:315", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/components/shared/PlayerDetailModal.tsx:315"}, "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-7dd6dcdc4b33ec3f", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/pages/Docs.tsx:354", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/pages/Docs.tsx:354"}, "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-a551f335b0e5b2e3", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/pages/Changelog.tsx:1398", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/pages/Changelog.tsx:1398"}, "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-b630f7d818cbad1c", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/pages/Analytics.tsx:116", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/pages/Analytics.tsx:116"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-11495a4eb53e3785", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/roster/components/RosterGrid.tsx:241", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/roster/components/RosterGrid.tsx:241"}, "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-e70efc231ce65190", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/ai/pages/DraftReportPage.tsx:94", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/ai/pages/DraftReportPage.tsx:94"}, "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-bc14e3257cae0cf3", "name": "TODO/FIXME marker in shipping code \u2014 client/src/features/players/pages/InjuredListPage.tsx:12", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 client/src/features/players/pages/InjuredListPage.tsx:12"}, "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-ee03fa229d238019", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/draft/components/DraftBoard.tsx:118", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/draft/components/DraftBoard.tsx:118"}, "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-8f6c2d83e7929239", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/draft/pages/Draft.tsx:423", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/draft/pages/Draft.tsx:423"}, "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-05a45dbe0651b3eb", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/teams/pages/TeamsIndex.tsx:100", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/teams/pages/TeamsIndex.tsx:100"}, "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-5801d6accb3c3a55", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/auction/components/AuctionStageLegacy.tsx:209", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/auction/components/AuctionStageLegacy.tsx:209"}, "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-215f322494525588", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/auction/components/BidHistoryChart.tsx:181", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/auction/components/BidHistoryChart.tsx:181"}, "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-6176eeeb8fff2f64", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/admin/components/AdminLeagueTools.tsx:126", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/admin/components/AdminLeagueTools.tsx:126"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8b8bb5ad16639f3", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/admin/pages/Admin.tsx:225", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/admin/pages/Admin.tsx:225"}, "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-e5ed70fc29832eae", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/admin/pages/AdminReports.tsx:92", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/admin/pages/AdminReports.tsx:92"}, "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-d122d49939ee21de", "name": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/admin/pages/AdminUsers.tsx:546", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/admin/pages/AdminUsers.tsx:546"}, "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-851fc3662b3450b0", "name": "Stray `console.log` in TS/JS \u2014 scripts/clear-2025-owners.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/clear-2025-owners.ts:20"}, "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-c8a2cd5b384ebf16", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-memberships.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-memberships.ts:10"}, "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-c0eb5ea1d25c2262", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrate-franchises.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-franchises.ts:18"}, "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-7fafc2e0322972b5", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-ohtani-auction-price.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-ohtani-auction-price.ts:18"}, "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-7786fd7fa0cb4ce3", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-mlb-players.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-mlb-players.ts:13"}, "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-045f681ab520a3ad", "name": "Stray `console.log` in TS/JS \u2014 scripts/merge-roster-values.ts:317", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/merge-roster-values.ts:317"}, "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-550c005bd111441c", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed-local-db.ts:159", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-local-db.ts:159"}, "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-e0bd470e98a5f57f", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_auth_config.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_auth_config.ts:8"}, "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-3b69adb7df76a17f", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-keeper-tests.js:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-keeper-tests.js:33"}, "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-a8e24a8310f5f068", "name": "Stray `console.log` in TS/JS \u2014 scripts/strip-league-year-names.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/strip-league-year-names.ts:17"}, "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-ebdf6ad3e1622ef6", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-league2-rosters.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-league2-rosters.ts:33"}, "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-581151852ac2b63d", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-franchise-names.ts:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-franchise-names.ts:40"}, "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-4478048c2a771f11", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-predraft-trade.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-predraft-trade.ts:22"}, "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-b68604c357d60a87", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-unmatched-2025.ts:103", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-unmatched-2025.ts:103"}, "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-a8a7e11cfc419c78", "name": "Stray `console.log` in TS/JS \u2014 server/check-db.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/check-db.js:7"}, "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-465c15a392dbd75e", "name": "Stray `console.log` in TS/JS \u2014 server/scripts/test_mapping.js:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/test_mapping.js:45"}, "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-44588f130276a9db", "name": "Stray `console.log` in TS/JS \u2014 server/scripts/audit_teams.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/audit_teams.ts:7"}, "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-9aa3d69d61d008f9", "name": "Stray `console.log` in TS/JS \u2014 server/scripts/generate_v2.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/generate_v2.js:44"}, "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-7d6bca5b57130872", "name": "Stray `console.log` in TS/JS \u2014 server/scripts/reset_rosters.ts:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/reset_rosters.ts:5"}, "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-f482c697ad7bbefc", "name": "Stray `console.log` in TS/JS \u2014 server/scripts/test_gs_fetch.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/test_gs_fetch.ts:17"}, "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-3df3762bdb85d24c", "name": "Stray `console.log` in TS/JS \u2014 server/scripts/check_db_state.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/check_db_state.ts:9"}, "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-663f00f678359435", "name": "Stray `console.log` in TS/JS \u2014 server/scripts/test_stats_fields.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/test_stats_fields.ts:8"}, "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-9f6a8831fb50cba8", "name": "Stray `console.log` in TS/JS \u2014 server/scripts/test_career_stats.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/test_career_stats.ts:14"}, "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-2c6446c14002716e", "name": "Stray `console.log` in TS/JS \u2014 server/src/seed.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/seed.ts:6"}, "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-75883944ef5130f8", "name": "TODO/FIXME marker in shipping code \u2014 server/src/index.ts:240", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/index.ts:240"}, "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-da4041f6d6136267", "name": "Stray `console.log` in TS/JS \u2014 server/src/seedFakeStats.ts:4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/seedFakeStats.ts:4"}, "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-88690f05138ec429", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/backfill-player-mlb-status.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/backfill-player-mlb-status.ts:33"}, "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-0a01c323fb62bce9", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/verify_standings.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/verify_standings.ts: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-a3735b00a1921970", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/auction-e2e-test.ts:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/auction-e2e-test.ts:90"}, "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-0ccdb8328bd6a1bf", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/assign-roster-slots.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/assign-roster-slots.ts: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-008908f85a18fd01", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/populate_players_from_archive.ts:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/populate_players_from_archive.ts:5"}, "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-e94395380c008852", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/populate_mlb_ids.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/populate_mlb_ids.ts:22"}, "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-914ffbf078e921c6", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/audit_period.ts:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/audit_period.ts:46"}, "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-f0cff3d1837bc860", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/inspect_xlsx.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/inspect_xlsx.ts: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-740213bbcf78c1d2", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/regen-draft-report.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/regen-draft-report.ts: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-98d7804bb993ac24", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/fangraphs-audit.ts:174", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/fangraphs-audit.ts:174"}, "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-d8a92ea95a193bb5", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/validate_nl_players.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/validate_nl_players.ts:17"}, "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-c8405546d29bb7fd", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/safe_fix_template.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/safe_fix_template.ts:17"}, "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-2167a99ac22f9eb1", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/propagate_mlb_data.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/propagate_mlb_data.ts:22"}, "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-98025d4b111feb95", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/monitor_resources.ts:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/monitor_resources.ts:44"}, "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-56629246eda805a1", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/test_unroll_logic.ts:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/test_unroll_logic.ts:5"}, "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-ec62785f3e85cbf9", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/export_mlb_id_reference.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/export_mlb_id_reference.ts:16"}, "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-05fbac7b4ece3171", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/export_archive.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/export_archive.ts:31"}, "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-b1fa21b2627c5d82", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/test_mlb_gs.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/test_mlb_gs.ts:10"}, "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-294b15bb9b3e7170", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/fetch_period_stats.ts:80", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/fetch_period_stats.ts:80"}, "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-aa62ffaf7ffa9f18", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/spot_check_team.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/spot_check_team.ts:45"}, "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-49d15773e75eff59", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/check_db_status.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/check_db_status.ts:35"}, "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-5bf1e8d270575a67", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/match_players.ts:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/match_players.ts:79"}, "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-0b023740d93d4458", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/populate_period1_mlb_ids.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/populate_period1_mlb_ids.ts:35"}, "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-735105ad4354794f", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/populate_full_names.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/populate_full_names.ts:34"}, "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-b49d809a54afc454", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/find_mid_period_trades.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/find_mid_period_trades.ts:16"}, "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-159b749f593d7c47", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/import_historical_archive.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/import_historical_archive.ts: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-afa62ca28f6b0a4c", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/setup-auction-test.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/setup-auction-test.ts:10"}, "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-940f92888f549156", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/cleanup_non_mlb_teams.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/cleanup_non_mlb_teams.ts:19"}, "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-f43127be5147605c", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/import_onroto_transactions.ts:224", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/import_onroto_transactions.ts:224"}, "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-a8beebca58795034", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/testRoster.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/testRoster.ts:10"}, "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-a09632b24d588919", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/fetch_mlb_teams.ts:86", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/fetch_mlb_teams.ts:86"}, "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-b79bd24a5724741a", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/link_historical_players.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/link_historical_players.ts:18"}, "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-e9f6e989eca2cb74", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/test_auth_logic.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/test_auth_logic.ts:6"}, "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-61dc7c833549cffa", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/auditRosterRules.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/auditRosterRules.ts:39"}, "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-4a61f2cba0ce5a18", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/update_from_mlb_api.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/update_from_mlb_api.ts:58"}, "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-0cba82fc66d5fb7d", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/backfill-daily-stats.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/backfill-daily-stats.ts:22"}, "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-48585a4ceb8d1228", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/fix_null_teams.ts:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/fix_null_teams.ts:49"}, "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-cee9caaac68bd08d", "name": "Stray `console.log` in TS/JS \u2014 server/src/scripts/normalize_positions.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/normalize_positions.ts:34"}, "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-007a796135a41cc9", "name": "Stray `console.log` in TS/JS \u2014 server/src/lib/logger.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/lib/logger.ts:7"}, "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-b22a20c9ea08a6ed", "name": "TODO/FIXME marker in shipping code \u2014 server/src/features/transactions/routes.ts:612", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/transactions/routes.ts:612"}, "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-6dd773a3cb31ac6a", "name": "TODO/FIXME marker in shipping code \u2014 server/src/features/transactions/lib/freeAgent.ts:24", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/transactions/lib/freeAgent.ts:24"}, "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-d4c862673d024d31", "name": "TODO/FIXME marker in shipping code \u2014 server/src/features/standings/__tests__/routes.test.ts:223", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/standings/__tests__/routes.test.ts:223"}, "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-db7cee06ed13e9a9", "name": "Stray `console.log` in TS/JS \u2014 server/src/features/archive/services/archiveImportService.ts:127", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/src/features/archive/services/archiveImportService.ts:127"}, "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-152ade1079f5b8b4", "name": "TODO/FIXME marker in shipping code \u2014 server/src/features/players/__tests__/routes.test.ts:340", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/players/__tests__/routes.test.ts:340"}, "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-9f862b26a492d3b5", "name": "TODO/FIXME marker in shipping code \u2014 server/src/features/admin/routes.ts:917", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/admin/routes.ts:917"}, "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-7232418efcd512ec", "name": "TODO/FIXME marker in shipping code \u2014 server/src/features/wire-list/processor.ts:292", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/wire-list/processor.ts:292"}, "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-6d83af8de789ac28", "name": "TODO/FIXME marker in shipping code \u2014 server/src/features/wire-list/routes.ts:307", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/wire-list/routes.ts:307"}, "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-9424c2fda868584e", "name": "Insecure pattern 'node_child_process' in client/vite.config.ts:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in client/vite.config.ts:3"}, "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-05c572003f7a3fa8", "name": "Insecure pattern 'direct_innerhtml_assignment' in client/src/components/MermaidDiagram.tsx:20", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in client/src/components/MermaidDiagram.tsx:20"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6b15be8f4d15c427", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9002fa0714cbe925", "name": "Very large file: client/src/pages/Roadmap.tsx (1014 lines)", "shortDescription": {"text": "Very large file: client/src/pages/Roadmap.tsx (1014 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-0b5afefe9f83d1e6", "name": "Very large file: client/src/pages/Tech.tsx (1474 lines)", "shortDescription": {"text": "Very large file: client/src/pages/Tech.tsx (1474 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-792cdb8bbc4b97b2", "name": "Very large file: client/src/pages/Changelog.tsx (1554 lines)", "shortDescription": {"text": "Very large file: client/src/pages/Changelog.tsx (1554 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8129c29ec381d46f", "name": "Very large file: client/src/features/commissioner/pages/Commissioner.tsx (1800 lines)", "shortDescription": {"text": "Very large file: client/src/features/commissioner/pages/Commissioner.tsx (1800 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-2ae5f192a77d302b", "name": "Very large file: client/src/features/archive/pages/ArchivePage.tsx (1112 lines)", "shortDescription": {"text": "Very large file: client/src/features/archive/pages/ArchivePage.tsx (1112 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-de4f4715e4bc9c69", "name": "Very large file: client/src/features/teams/pages/TeamLegacy.tsx (1065 lines)", "shortDescription": {"text": "Very large file: client/src/features/teams/pages/TeamLegacy.tsx (1065 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-e28715d1ab94a6a2", "name": "Very large file: client/src/features/teams/pages/Team.tsx (1895 lines)", "shortDescription": {"text": "Very large file: client/src/features/teams/pages/Team.tsx (1895 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-a6e02c01f0c8ce15", "name": "Very large file: server/src/services/aiAnalysisService.ts (1465 lines)", "shortDescription": {"text": "Very large file: server/src/services/aiAnalysisService.ts (1465 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-db8b5c25020fe076", "name": "Very large file: server/src/features/transactions/routes.ts (1722 lines)", "shortDescription": {"text": "Very large file: server/src/features/transactions/routes.ts (1722 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-d7d62b01a1121936", "name": "Very large file: server/src/features/transactions/__tests__/routes.test.ts (1298 lines)", "shortDescription": {"text": "Very large file: server/src/features/transactions/__tests__/routes.test.ts (1298 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-9e60e469a38d87df", "name": "Very large file: server/src/features/commissioner/routes.ts (1450 lines)", "shortDescription": {"text": "Very large file: server/src/features/commissioner/routes.ts (1450 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-dc3a26ad446bd9ba", "name": "Very large file: server/src/features/auction/routes.ts (2017 lines)", "shortDescription": {"text": "Very large file: server/src/features/auction/routes.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-92ab56ebafdfde73", "name": "282 TODO/FIXME markers", "shortDescription": {"text": "282 TODO/FIXME markers"}, "fullDescription": {"text": "High count of TODO/FIXME/HACK markers \u2014 track them as issues so they're not forgotten."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 790 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 162 placeholder/mock markers across 81 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-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. 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-cc55229a7a3c078d", "name": "Agent authority lacks a verifier contract: .mcp.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .mcp.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5a61b7b9adb825be", "name": "Agent authority lacks a verifier contract: .claude/commands/db.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/db.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e53bc5e7758016b8", "name": "Agent authority lacks a verifier contract: .claude/commands/feature-test.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/feature-test.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2a3fa0634f620c79", "name": "Agent authority lacks a verifier contract: .claude/commands/audit-data.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/audit-data.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d1f58265cb0141e1", "name": "Commented-code block (15 lines) in sync_db_to_csv.ts:6", "shortDescription": {"text": "Commented-code block (15 lines) in sync_db_to_csv.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-315bec53c41f814c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sync_db_to_csv.ts:86", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sync_db_to_csv.ts:86"}, "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-41e3707e1be2183f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 client/public/sw.js:35", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 client/public/sw.js: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-c200db4642409f0a", "name": "Legacy-named symbol `AuctionLegacy` in client/src/App.tsx:8", "shortDescription": {"text": "Legacy-named symbol `AuctionLegacy` in client/src/App.tsx:8"}, "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-4a5a8efd632a42cc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/api/base.ts:258", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/api/base.ts:258"}, "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-25a71e9b975f56ff", "name": "Commented-code block (5 lines) in client/src/test/setup.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/test/setup.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-8862715431c5dd49", "name": "Commented-code block (5 lines) in client/src/components/GoogleSignInButton.tsx:11", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/components/GoogleSignInButton.tsx:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3283b0c63aaaad9f", "name": "Commented-code block (8 lines) in client/src/components/AppShell.tsx:107", "shortDescription": {"text": "Commented-code block (8 lines) in client/src/components/AppShell.tsx: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-b1ff54c21f73d16e", "name": "Commented-code block (6 lines) in client/src/components/Sidebar.tsx:345", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/components/Sidebar.tsx:345"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7cd769c30fcbf67f", "name": "Commented-code block (5 lines) in client/src/components/ui/ThemedTable.tsx:49", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/components/ui/ThemedTable.tsx:49"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c9ae68415e3a4482", "name": "Commented-code block (5 lines) in client/src/lib/extractServerError.ts:45", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/lib/extractServerError.ts: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-b9eda8ab7dd9a18c", "name": "Commented-code block (5 lines) in client/src/lib/__tests__/mlbStatus.test.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/lib/__tests__/mlbStatus.test.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-397bb80b0b7908fe", "name": "Commented-code block (5 lines) in client/src/mobile/pages/MobileTeamMoveSheet.tsx:63", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/mobile/pages/MobileTeamMoveSheet.tsx:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ea8a8f856e7feb4", "name": "Commented-code block (5 lines) in client/src/mobile/pages/MobileTeam.tsx:440", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/mobile/pages/MobileTeam.tsx:440"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bb9fbe259dbf28c7", "name": "Legacy-named symbol `TeamLegacy` in client/src/pages/Changelog.tsx:99", "shortDescription": {"text": "Legacy-named symbol `TeamLegacy` in client/src/pages/Changelog.tsx:99"}, "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-d659f81df953929a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/pages/Changelog.tsx:384", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/pages/Changelog.tsx:384"}, "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-471edea9b1c3c4c7", "name": "Legacy-named symbol `HomeLegacy` in client/src/pages/Home.tsx:16", "shortDescription": {"text": "Legacy-named symbol `HomeLegacy` in client/src/pages/Home.tsx:16"}, "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-babd3c7a0ce7bd3b", "name": "Commented-code block (7 lines) in client/src/pages/MyTeamRedirect.tsx:23", "shortDescription": {"text": "Commented-code block (7 lines) in client/src/pages/MyTeamRedirect.tsx:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-280886e442426e3e", "name": "Commented-code block (12 lines) in client/src/pages/components/MyTeamTodayPanel.tsx:38", "shortDescription": {"text": "Commented-code block (12 lines) in client/src/pages/components/MyTeamTodayPanel.tsx: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-62466de260506921", "name": "Legacy-named symbol `HomeLegacy` in client/src/pages/components/HistoricalInsightsTab.tsx:5", "shortDescription": {"text": "Legacy-named symbol `HomeLegacy` in client/src/pages/components/HistoricalInsightsTab.tsx:5"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-00806cdb08307230", "name": "Legacy-named symbol `HomeLegacy` in client/src/pages/components/NewsFeedsPanel.tsx:5", "shortDescription": {"text": "Legacy-named symbol `HomeLegacy` in client/src/pages/components/NewsFeedsPanel.tsx:5"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e1e031b4fd072c56", "name": "Commented-code block (5 lines) in client/src/pages/design/ManualSlotAssignmentPreview.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/pages/design/ManualSlotAssignmentPreview.tsx: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-a63a1774a1dc3f0c", "name": "Commented-code block (7 lines) in client/src/pages/design/RosterHubV3Preview.tsx:3", "shortDescription": {"text": "Commented-code block (7 lines) in client/src/pages/design/RosterHubV3Preview.tsx: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-7a84690fe011bf55", "name": "Commented-code block (7 lines) in client/src/pages/design/DesignRosterHubDeferred.tsx:7", "shortDescription": {"text": "Commented-code block (7 lines) in client/src/pages/design/DesignRosterHubDeferred.tsx:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1b01891246b34b7e", "name": "Commented-code block (5 lines) in client/src/pages/design/rosterHubScenarios/DesignScenarioIL.tsx:7", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/pages/design/rosterHubScenarios/DesignScenarioIL.tsx:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3240df1610646f9a", "name": "Commented-code block (5 lines) in client/src/pages/design/rosterHubScenarios/DesignScenarioComplex.tsx:15", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/pages/design/rosterHubScenarios/DesignScenarioComplex.tsx:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6e05514c9c5da5ee", "name": "Commented-code block (6 lines) in client/src/pages/design/rosterHubScenarios/DesignScenarioFA.tsx:5", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/pages/design/rosterHubScenarios/DesignScenarioFA.tsx:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b1002c81bf86fb45", "name": "Commented-code block (5 lines) in client/src/pages/design/rosterHubScenarios/mockData.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/pages/design/rosterHubScenarios/mockData.ts: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-d98a9781b2ad492a", "name": "Commented-code block (8 lines) in client/src/pages/design/rosterHubScenarios/DesignScenarioWaiver.tsx:10", "shortDescription": {"text": "Commented-code block (8 lines) in client/src/pages/design/rosterHubScenarios/DesignScenarioWaiver.tsx:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-45e5e5c6aa286e08", "name": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/hooks/useSessionHeartbeat.ts:43", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/hooks/useSessionHeartbeat.ts: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-e0cea79002954d2b", "name": "Commented-code block (8 lines) in client/src/features/transactions/components/TransactionResultModal.tsx:15", "shortDescription": {"text": "Commented-code block (8 lines) in client/src/features/transactions/components/TransactionResultModal.tsx:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-401a86542c3b620e", "name": "Commented-code block (8 lines) in client/src/features/transactions/components/RosterMovesTab/AddDropPanel.tsx:672", "shortDescription": {"text": "Commented-code block (8 lines) in client/src/features/transactions/components/RosterMovesTab/AddDropPanel.tsx:672"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ca9a1739548fec7b", "name": "Commented-code block (8 lines) in client/src/features/transactions/components/RosterMovesTab/types.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in client/src/features/transactions/components/RosterMovesTab/types.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-f223d7f07930ec4b", "name": "Commented-code block (6 lines) in client/src/features/transactions/components/RosterMovesTab/__tests__/AddDropPanel.test", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/transactions/components/RosterMovesTab/__tests__/AddDropPanel.test.tsx:224"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-154056d58fadeb94", "name": "Commented-code block (5 lines) in client/src/features/transactions/components/SwapMode/types.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/transactions/components/SwapMode/types.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-4c572932bb467784", "name": "Legacy-named symbol `TeamLegacy` in client/src/features/transactions/lib/loadRosterMovePlayers.ts:14", "shortDescription": {"text": "Legacy-named symbol `TeamLegacy` in client/src/features/transactions/lib/loadRosterMovePlayers.ts:14"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f07242d80008ee5", "name": "Commented-code block (5 lines) in client/src/features/transactions/lib/loadRosterMovePlayers.ts:61", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/transactions/lib/loadRosterMovePlayers.ts:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-706dca8d634ac2a6", "name": "Commented-code block (6 lines) in client/src/features/transactions/lib/__tests__/permissions.test.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/transactions/lib/__tests__/permissions.test.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5233df14630e4fd0", "name": "Commented-code block (6 lines) in client/src/features/transactions/lib/__tests__/loadRosterMovePlayers.test.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/transactions/lib/__tests__/loadRosterMovePlayers.test.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e915d2a6e9be355a", "name": "Legacy-named symbol `ActivityPageLegacy` in client/src/features/transactions/pages/ActivityPage.tsx:15", "shortDescription": {"text": "Legacy-named symbol `ActivityPageLegacy` in client/src/features/transactions/pages/ActivityPage.tsx:15"}, "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-9df3352224ac1478", "name": "Commented-code block (6 lines) in client/src/features/transactions/pages/ActivityPage.tsx:371", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/transactions/pages/ActivityPage.tsx:371"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-713179fe460ad707", "name": "Commented-code block (6 lines) in client/src/features/commissioner/__tests__/enrichPlayersWithRosterState.test.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/commissioner/__tests__/enrichPlayersWithRosterState.test.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3be5a4e5017b64a2", "name": "Legacy-named symbol `SeasonLegacy` in client/src/features/periods/components/CategoryStandingsView.tsx:20", "shortDescription": {"text": "Legacy-named symbol `SeasonLegacy` in client/src/features/periods/components/CategoryStandingsView.tsx:20"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d76697204ed8a06b", "name": "Commented-code block (5 lines) in client/src/features/periods/components/CategoryStandingsView.tsx:135", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/periods/components/CategoryStandingsView.tsx:135"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-39e2030a87aca4c1", "name": "Commented-code block (6 lines) in client/src/features/roster/__tests__/RosterGrid.test.tsx:140", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/roster/__tests__/RosterGrid.test.tsx:140"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-93ddd5329afb2162", "name": "Commented-code block (5 lines) in client/src/features/archive/__tests__/ArchivePage.test.tsx:318", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/archive/__tests__/ArchivePage.test.tsx:318"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6e50d692b5ec44f5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/features/archive/pages/ArchivePage.tsx:312", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/features/archive/pages/ArchivePage.tsx:312"}, "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-52add063c8c5268e", "name": "Commented-code block (5 lines) in client/src/features/players/api.ts:246", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/players/api.ts:246"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-47e7c7a2e6851ef4", "name": "Commented-code block (8 lines) in client/src/features/players/pages/InjuredListPage.tsx:6", "shortDescription": {"text": "Commented-code block (8 lines) in client/src/features/players/pages/InjuredListPage.tsx:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-703c868cc3425e58", "name": "Legacy-named symbol `PlayersLegacy` in client/src/features/players/pages/Players.tsx:25", "shortDescription": {"text": "Legacy-named symbol `PlayersLegacy` in client/src/features/players/pages/Players.tsx:25"}, "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-211aa7d9c86a959b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/features/chat/components/ChatPanel.tsx:146", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/features/chat/components/ChatPanel.tsx:146"}, "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-0c138bd80a10ea80", "name": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/__tests__/Team.IL.test.tsx:80", "shortDescription": {"text": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/__tests__/Team.IL.test.tsx:80"}, "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-3a951d602a1df735", "name": "Commented-code block (10 lines) in client/src/features/teams/__tests__/Team.aurora-additions.test.tsx:7", "shortDescription": {"text": "Commented-code block (10 lines) in client/src/features/teams/__tests__/Team.aurora-additions.test.tsx:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cde48f0481233f92", "name": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/__tests__/Team.test.tsx:63", "shortDescription": {"text": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/__tests__/Team.test.tsx:63"}, "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-cb7ccaf9127c908d", "name": "Commented-code block (6 lines) in client/src/features/teams/__tests__/Team.test.tsx:61", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/teams/__tests__/Team.test.tsx:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-61c4d51a4dbeb1c9", "name": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/__tests__/Team.ghostIl.test.tsx:13", "shortDescription": {"text": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/__tests__/Team.ghostIl.test.tsx:13"}, "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-6f3d1346e4a42fe1", "name": "Commented-code block (6 lines) in client/src/features/teams/__tests__/Team.ghostIl.test.tsx:3", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/teams/__tests__/Team.ghostIl.test.tsx: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-3417805c61070797", "name": "Commented-code block (9 lines) in client/src/features/teams/components/TeamRosterManager.tsx:208", "shortDescription": {"text": "Commented-code block (9 lines) in client/src/features/teams/components/TeamRosterManager.tsx:208"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7ec15f3714fd8e5f", "name": "Commented-code block (7 lines) in client/src/features/teams/components/RosterHub/ManagePanel.tsx:3", "shortDescription": {"text": "Commented-code block (7 lines) in client/src/features/teams/components/RosterHub/ManagePanel.tsx: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-1454b4090f0d9111", "name": "Commented-code block (12 lines) in client/src/features/teams/components/RosterHub/FreeAgentPanel.tsx:6", "shortDescription": {"text": "Commented-code block (12 lines) in client/src/features/teams/components/RosterHub/FreeAgentPanel.tsx:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b08f3e5ec1e0b1b5", "name": "Commented-code block (6 lines) in client/src/features/teams/components/RosterHub/SubroutePanelMocks.tsx:3", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/teams/components/RosterHub/SubroutePanelMocks.tsx: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-04e9f98756247c85", "name": "Commented-code block (5 lines) in client/src/features/teams/components/RosterHub/PositionPill.tsx:7", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/teams/components/RosterHub/PositionPill.tsx:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-90bfbc3c6aacce68", "name": "Commented-code block (9 lines) in client/src/features/teams/components/RosterHub/rowShared.tsx:3", "shortDescription": {"text": "Commented-code block (9 lines) in client/src/features/teams/components/RosterHub/rowShared.tsx: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-4ad62125f79c2f5d", "name": "Commented-code block (5 lines) in client/src/features/teams/components/RosterHub/DropPool.tsx:6", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/teams/components/RosterHub/DropPool.tsx:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-85593a65f9631ad6", "name": "Commented-code block (14 lines) in client/src/features/teams/components/RosterHub/RosterHubV3.tsx:7", "shortDescription": {"text": "Commented-code block (14 lines) in client/src/features/teams/components/RosterHub/RosterHubV3.tsx:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0a0d393a9e54d721", "name": "Commented-code block (5 lines) in client/src/features/teams/components/RosterHub/SaveDiffPreviewModal.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/teams/components/RosterHub/SaveDiffPreviewModal.tsx: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-94f640a47b45ce36", "name": "Commented-code block (6 lines) in client/src/features/teams/components/RosterHub/RosterRowV3.tsx:6", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/teams/components/RosterHub/RosterRowV3.tsx:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-342791070389cdf9", "name": "Commented-code block (7 lines) in client/src/features/teams/components/RosterHub/IlSectionV3.tsx:8", "shortDescription": {"text": "Commented-code block (7 lines) in client/src/features/teams/components/RosterHub/IlSectionV3.tsx:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8f266b262fdb22d7", "name": "Commented-code block (8 lines) in client/src/features/teams/components/RosterHub/MobileRowV3.tsx:8", "shortDescription": {"text": "Commented-code block (8 lines) in client/src/features/teams/components/RosterHub/MobileRowV3.tsx:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-be8b03ee39068062", "name": "Commented-code block (6 lines) in client/src/features/teams/components/RosterHub/PendingChangeBar.tsx:3", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/teams/components/RosterHub/PendingChangeBar.tsx: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-943b79c18422dffa", "name": "Commented-code block (7 lines) in client/src/features/teams/components/RosterHub/PositionEligibilityCell.tsx:10", "shortDescription": {"text": "Commented-code block (7 lines) in client/src/features/teams/components/RosterHub/PositionEligibilityCell.tsx:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-10a7c690337a558a", "name": "Commented-code block (5 lines) in client/src/features/teams/components/RosterHub/SubrouteContainer.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/teams/components/RosterHub/SubrouteContainer.tsx: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-278634cf3039a924", "name": "Commented-code block (6 lines) in client/src/features/teams/components/RosterHub/__tests__/FreeAgentPanel.virtualization", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/teams/components/RosterHub/__tests__/FreeAgentPanel.virtualization.test.tsx:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8bfbdb006b55fab7", "name": "Commented-code block (5 lines) in client/src/features/teams/lib/toHubPlayer.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/teams/lib/toHubPlayer.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-33536c1fb09abe84", "name": "Commented-code block (5 lines) in client/src/features/teams/lib/__tests__/toHubPlayer.test.ts:329", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/teams/lib/__tests__/toHubPlayer.test.ts:329"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-821fb383ceb8b30a", "name": "Commented-code block (5 lines) in client/src/features/teams/pages/TeamsIndex.tsx:73", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/teams/pages/TeamsIndex.tsx:73"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa124c2f95fde8b0", "name": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/pages/Team.tsx:1258", "shortDescription": {"text": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/pages/Team.tsx:1258"}, "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-e19cf9cac23452e8", "name": "Commented-code block (6 lines) in client/src/features/teams/pages/Team.tsx:62", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/teams/pages/Team.tsx:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c3c0e69f54070bf", "name": "Commented-code block (7 lines) in client/src/features/teams/pages/teamManageContext.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in client/src/features/teams/pages/teamManageContext.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-7fe482b479049007", "name": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/pages/__tests__/TeamLegacy.test.tsx:2", "shortDescription": {"text": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/pages/__tests__/TeamLegacy.test.tsx:2"}, "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-ec3e591729f5b383", "name": "Commented-code block (15 lines) in client/src/features/teams/hooks/usePendingChanges.ts:8", "shortDescription": {"text": "Commented-code block (15 lines) in client/src/features/teams/hooks/usePendingChanges.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-44afbcde861091c0", "name": "Commented-code block (5 lines) in client/src/features/teams/hooks/useFreeAgents.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/teams/hooks/useFreeAgents.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f6162ae72586399a", "name": "Commented-code block (15 lines) in client/src/features/teams/hooks/useRosterHubDrag.tsx:3", "shortDescription": {"text": "Commented-code block (15 lines) in client/src/features/teams/hooks/useRosterHubDrag.tsx: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-f679885f035268b9", "name": "Commented-code block (6 lines) in client/src/features/teams/hooks/__tests__/useRosterHubDrag.test.tsx:80", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/teams/hooks/__tests__/useRosterHubDrag.test.tsx:80"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c000f96feb03e767", "name": "Commented-code block (7 lines) in client/src/features/teams/hooks/__tests__/usePendingChanges.atomic.integration.test.ts", "shortDescription": {"text": "Commented-code block (7 lines) in client/src/features/teams/hooks/__tests__/usePendingChanges.atomic.integration.test.tsx: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-09dfd31b285c2555", "name": "Commented-code block (6 lines) in client/src/features/teams/hooks/__tests__/usePendingChanges.test.tsx:454", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/teams/hooks/__tests__/usePendingChanges.test.tsx:454"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-80ae8fb6e21c7ed5", "name": "Commented-code block (6 lines) in client/src/features/teams/hooks/__tests__/usePendingChanges.complex.test.tsx:3", "shortDescription": {"text": "Commented-code block (6 lines) in client/src/features/teams/hooks/__tests__/usePendingChanges.complex.test.tsx: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-5ad3452ecd322851", "name": "Legacy-named symbol `AuctionLayoutLegacy` in client/src/features/auction/components/AuctionLayoutLegacy.tsx:16", "shortDescription": {"text": "Legacy-named symbol `AuctionLayoutLegacy` in client/src/features/auction/components/AuctionLayoutLegacy.tsx:16"}, "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-cd8738e90343b34f", "name": "Legacy-named symbol `AuctionStageLegacy` in client/src/features/auction/components/AuctionStageLegacy.tsx:48", "shortDescription": {"text": "Legacy-named symbol `AuctionStageLegacy` in client/src/features/auction/components/AuctionStageLegacy.tsx:48"}, "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-74c4f326ef3b9e60", "name": "Legacy-named symbol `TeamListTabLegacy` in client/src/features/auction/components/TeamListTabLegacy.tsx:57", "shortDescription": {"text": "Legacy-named symbol `TeamListTabLegacy` in client/src/features/auction/components/TeamListTabLegacy.tsx:57"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0fbf2688979d6c6f", "name": "Legacy-named symbol `PlayerPoolTabLegacy` in client/src/features/auction/components/PlayerPoolTabLegacy.tsx:43", "shortDescription": {"text": "Legacy-named symbol `PlayerPoolTabLegacy` in client/src/features/auction/components/PlayerPoolTabLegacy.tsx:43"}, "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-5fd8e53db4ccc583", "name": "Legacy-named symbol `NominationQueueLegacy` in client/src/features/auction/components/NominationQueueLegacy.tsx:18", "shortDescription": {"text": "Legacy-named symbol `NominationQueueLegacy` in client/src/features/auction/components/NominationQueueLegacy.tsx:18"}, "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-c0933242fa0e6a0b", "name": "Legacy-named symbol `ChatTabLegacy` in client/src/features/auction/components/ChatTabLegacy.tsx:11", "shortDescription": {"text": "Legacy-named symbol `ChatTabLegacy` in client/src/features/auction/components/ChatTabLegacy.tsx:11"}, "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-7150e8c116c05ded", "name": "Legacy-named symbol `ContextDeckLegacy` in client/src/features/auction/components/ContextDeckLegacy.tsx:16", "shortDescription": {"text": "Legacy-named symbol `ContextDeckLegacy` in client/src/features/auction/components/ContextDeckLegacy.tsx:16"}, "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-c8119716c84f4fb8", "name": "Legacy-named symbol `AuctionSettingsTabLegacy` in client/src/features/auction/components/AuctionSettingsTabLegacy.tsx:24", "shortDescription": {"text": "Legacy-named symbol `AuctionSettingsTabLegacy` in client/src/features/auction/components/AuctionSettingsTabLegacy.tsx:24"}, "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-8220ffa907353da2", "name": "Legacy-named symbol `AuctionCompleteLegacy` in client/src/features/auction/components/AuctionCompleteLegacy.tsx:43", "shortDescription": {"text": "Legacy-named symbol `AuctionCompleteLegacy` in client/src/features/auction/components/AuctionCompleteLegacy.tsx:43"}, "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-c7801690fd20e609", "name": "Legacy-named symbol `MyNominationQueueLegacy` in client/src/features/auction/components/MyNominationQueueLegacy.tsx:17", "shortDescription": {"text": "Legacy-named symbol `MyNominationQueueLegacy` in client/src/features/auction/components/MyNominationQueueLegacy.tsx:17"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9edfda1a8ee2fb3f", "name": "Legacy-named symbol `AuctionStageLegacy` in client/src/features/auction/components/AuctionStage.tsx:25", "shortDescription": {"text": "Legacy-named symbol `AuctionStageLegacy` in client/src/features/auction/components/AuctionStage.tsx:25"}, "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-34cd3c7444d13cf8", "name": "Legacy-named symbol `AuctionResultsLegacy` in client/src/features/auction/pages/AuctionResults.tsx:13", "shortDescription": {"text": "Legacy-named symbol `AuctionResultsLegacy` in client/src/features/auction/pages/AuctionResults.tsx:13"}, "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-83ba94167b6eabaa", "name": "Legacy-named symbol `AuctionValuesLegacy` in client/src/features/auction/pages/AuctionValues.tsx:16", "shortDescription": {"text": "Legacy-named symbol `AuctionValuesLegacy` in client/src/features/auction/pages/AuctionValues.tsx:16"}, "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-9754e63c499f6a5c", "name": "Legacy-named symbol `AuctionLegacy` in client/src/features/auction/pages/AuctionLegacy.tsx:26", "shortDescription": {"text": "Legacy-named symbol `AuctionLegacy` in client/src/features/auction/pages/AuctionLegacy.tsx:26"}, "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-3dd9807690392aa8", "name": "Legacy-named symbol `MatchupLegacy` in client/src/features/matchups/pages/Matchup.tsx:10", "shortDescription": {"text": "Legacy-named symbol `MatchupLegacy` in client/src/features/matchups/pages/Matchup.tsx:10"}, "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-0cacf1ca86379304", "name": "Commented-code block (5 lines) in client/src/features/watchlist/components/WatchlistPanel.tsx:68", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/watchlist/components/WatchlistPanel.tsx:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f9d09b836786c87b", "name": "Commented-code block (5 lines) in client/src/features/wire-list/pages/WireListCommissionerPage.tsx:130", "shortDescription": {"text": "Commented-code block (5 lines) in client/src/features/wire-list/pages/WireListCommissionerPage.tsx: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-56596c52ecfe04b1", "name": "Commented-code block (7 lines) in shared/api/rosterMoves.ts:401", "shortDescription": {"text": "Commented-code block (7 lines) in shared/api/rosterMoves.ts:401"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-120e4e694fd7c9a7", "name": "Commented-code block (5 lines) in shared/api/playerSeasonStats.ts:36", "shortDescription": {"text": "Commented-code block (5 lines) in shared/api/playerSeasonStats.ts: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-9da18bba4de32b0f", "name": "Legacy-named symbol `ogba_player_season_totals_2025_with_meta_v2` in server/scripts/generate_v2.js:10", "shortDescription": {"text": "Legacy-named symbol `ogba_player_season_totals_2025_with_meta_v2` in server/scripts/generate_v2.js:10"}, "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-df27f0fbd55498ec", "name": "Commented-code block (5 lines) in server/src/index.ts:136", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/index.ts:136"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9c9d61ec85726164", "name": "Commented-code block (9 lines) in server/src/__tests__/integration/auction-simulation.test.ts:888", "shortDescription": {"text": "Commented-code block (9 lines) in server/src/__tests__/integration/auction-simulation.test.ts:888"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9086650323ae6f5b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/auction-e2e-test.ts:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/auction-e2e-test.ts:31"}, "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-f698c0a03896a562", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/populate_mlb_ids.ts:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/populate_mlb_ids.ts:31"}, "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-dd8945efdc44da82", "name": "Commented-code block (8 lines) in server/src/scripts/fangraphs-audit.ts:116", "shortDescription": {"text": "Commented-code block (8 lines) in server/src/scripts/fangraphs-audit.ts:116"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-27c0c0d0b17ac9a0", "name": "Commented-code block (5 lines) in server/src/scripts/safe_fix_template.ts:21", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/scripts/safe_fix_template.ts: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-f0d33934417cab19", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/fetch_period_stats.ts:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/fetch_period_stats.ts: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-6fceecc257b8d180", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/testRoster.ts:38", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/testRoster.ts:38"}, "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-112451fcbd72db43", "name": "Commented-code block (9 lines) in server/src/scripts/auditRosterRules.ts:4", "shortDescription": {"text": "Commented-code block (9 lines) in server/src/scripts/auditRosterRules.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-86e308181a334840", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/fix_null_teams.ts:55", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/fix_null_teams.ts: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-58900eb40cc61922", "name": "Commented-code block (7 lines) in server/src/lib/leagueRuleCache.ts:4", "shortDescription": {"text": "Commented-code block (7 lines) in server/src/lib/leagueRuleCache.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-8059f43cdc4f0c61", "name": "Commented-code block (10 lines) in server/src/lib/ilSlotGuard.ts:4", "shortDescription": {"text": "Commented-code block (10 lines) in server/src/lib/ilSlotGuard.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-1aebd09c2665b47d", "name": "Commented-code block (5 lines) in server/src/lib/rosterWindow.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/lib/rosterWindow.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-5dce8461e2930f25", "name": "Commented-code block (5 lines) in server/src/lib/__tests__/leagueRuleCache.test.ts:168", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/lib/__tests__/leagueRuleCache.test.ts:168"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ba47d369af73b576", "name": "Commented-code block (8 lines) in server/src/lib/sports/baseball.ts:83", "shortDescription": {"text": "Commented-code block (8 lines) in server/src/lib/sports/baseball.ts:83"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9105607aaea35480", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/services/aiAnalysisService.ts:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/services/aiAnalysisService.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-4c4a626d4a320dd8", "name": "Commented-code block (6 lines) in server/src/db/prisma.ts:10", "shortDescription": {"text": "Commented-code block (6 lines) in server/src/db/prisma.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-b1b0e39fb6c061f1", "name": "Commented-code block (6 lines) in server/src/db/__tests__/prisma.test.ts:9", "shortDescription": {"text": "Commented-code block (6 lines) in server/src/db/__tests__/prisma.test.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5f09e7810b53737c", "name": "Commented-code block (5 lines) in server/src/features/transactions/routes.ts:313", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/transactions/routes.ts:313"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7526e1012d647a9", "name": "Commented-code block (6 lines) in server/src/features/transactions/__tests__/routes.test.ts:226", "shortDescription": {"text": "Commented-code block (6 lines) in server/src/features/transactions/__tests__/routes.test.ts:226"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3d1050674d6483e2", "name": "Commented-code block (6 lines) in server/src/features/transactions/__tests__/schemas.test.ts:16", "shortDescription": {"text": "Commented-code block (6 lines) in server/src/features/transactions/__tests__/schemas.test.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-4b8f8cc7811b117f", "name": "Commented-code block (7 lines) in server/src/features/transactions/lib/slotMatcher.ts:5", "shortDescription": {"text": "Commented-code block (7 lines) in server/src/features/transactions/lib/slotMatcher.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-80e54d0cff2cca41", "name": "Commented-code block (5 lines) in server/src/features/transactions/lib/freeAgent.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/transactions/lib/freeAgent.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-d5ae3d1c428d7198", "name": "Commented-code block (5 lines) in server/src/features/transactions/lib/positionInherit.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/transactions/lib/positionInherit.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-16eaffe8efc860e4", "name": "Commented-code block (5 lines) in server/src/features/transactions/lib/autoResolveLineup.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/transactions/lib/autoResolveLineup.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-c02bf5b4eea2d741", "name": "Commented-code block (5 lines) in server/src/features/transactions/lib/__tests__/slotMatcher.test.ts:271", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/transactions/lib/__tests__/slotMatcher.test.ts:271"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9687b50a1ff3a28a", "name": "Commented-code block (9 lines) in server/src/features/transactions/services/ilFeeService.ts:9", "shortDescription": {"text": "Commented-code block (9 lines) in server/src/features/transactions/services/ilFeeService.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-179293e0fe5946d6", "name": "Commented-code block (5 lines) in server/src/features/commissioner/routes.ts:816", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/commissioner/routes.ts:816"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9823de3a6ccfcf2d", "name": "Commented-code block (7 lines) in server/src/features/commissioner/services/CommissionerService.ts:150", "shortDescription": {"text": "Commented-code block (7 lines) in server/src/features/commissioner/services/CommissionerService.ts:150"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-887d5e0943e387e1", "name": "Commented-code block (6 lines) in server/src/features/standings/routes.ts:140", "shortDescription": {"text": "Commented-code block (6 lines) in server/src/features/standings/routes.ts:140"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-35b9c8795da6f1a7", "name": "Commented-code block (5 lines) in server/src/features/standings/__tests__/standingsService.IL.test.ts:279", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/standings/__tests__/standingsService.IL.test.ts:279"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-11ee9df9cd4c5611", "name": "Commented-code block (5 lines) in server/src/features/standings/__tests__/routes.test.ts:223", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/standings/__tests__/routes.test.ts:223"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f9e7b7925fcdd1e4", "name": "Commented-code block (6 lines) in server/src/features/standings/__tests__/standingsService.releaseAt.test.ts:117", "shortDescription": {"text": "Commented-code block (6 lines) in server/src/features/standings/__tests__/standingsService.releaseAt.test.ts:117"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9e98a41c2d5d0d22", "name": "Commented-code block (5 lines) in server/src/features/standings/__tests__/standingsService.differential.test.ts:210", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/standings/__tests__/standingsService.differential.test.ts:210"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-885dacfe5671ad16", "name": "Commented-code block (6 lines) in server/src/features/standings/services/standingsService.ts:425", "shortDescription": {"text": "Commented-code block (6 lines) in server/src/features/standings/services/standingsService.ts:425"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d1405c3213de55ca", "name": "Commented-code block (5 lines) in server/src/features/awards/services/awardsService.ts:212", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/awards/services/awardsService.ts:212"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-60701954b62dd80a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/features/archive/routes.ts:434", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/features/archive/routes.ts:434"}, "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-a1c494dcbfcd621d", "name": "Commented-code block (5 lines) in server/src/features/archive/__tests__/routes.test.ts:406", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/archive/__tests__/routes.test.ts:406"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-34981f83c1404f2a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/features/archive/services/archiveStatsService.ts:84", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/features/archive/services/archiveStatsService.ts:84"}, "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-1dd558057a3482cb", "name": "Commented-code block (7 lines) in server/src/features/ai/lib/checkpoints.ts:8", "shortDescription": {"text": "Commented-code block (7 lines) in server/src/features/ai/lib/checkpoints.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-930eb531ba14a221", "name": "Commented-code block (7 lines) in server/src/features/ai/services/draftReportCardService.ts:14", "shortDescription": {"text": "Commented-code block (7 lines) in server/src/features/ai/services/draftReportCardService.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-252bae6891bdb991", "name": "Legacy-named symbol `TeamLegacy` in server/src/features/players/routes.ts:167", "shortDescription": {"text": "Legacy-named symbol `TeamLegacy` in server/src/features/players/routes.ts:167"}, "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-83d5b69eb6d0b109", "name": "Commented-code block (5 lines) in server/src/features/players/routes.ts:140", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/players/routes.ts:140"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7aa7ffd73ab7433f", "name": "Commented-code block (6 lines) in server/src/features/players/__tests__/mlbSyncService.test.ts:162", "shortDescription": {"text": "Commented-code block (6 lines) in server/src/features/players/__tests__/mlbSyncService.test.ts:162"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5795029e1dfd1e59", "name": "Commented-code block (5 lines) in server/src/features/players/services/mlbSyncService.ts:384", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/players/services/mlbSyncService.ts:384"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f18ac73943807dd2", "name": "Commented-code block (5 lines) in server/src/features/players/services/mlbStatsSyncService.ts:295", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/players/services/mlbStatsSyncService.ts:295"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8691a32e191a5c8", "name": "Commented-code block (6 lines) in server/src/features/mlb-feed/digestRoutes.ts:103", "shortDescription": {"text": "Commented-code block (6 lines) in server/src/features/mlb-feed/digestRoutes.ts:103"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9e1c6a54f19d931c", "name": "Commented-code block (6 lines) in server/src/features/teams/routes.ts:17", "shortDescription": {"text": "Commented-code block (6 lines) in server/src/features/teams/routes.ts:17"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea119b14169d71ea", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/features/teams/routes.ts:824", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/features/teams/routes.ts:824"}, "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-fabed1bc6e03385c", "name": "Commented-code block (14 lines) in server/src/features/teams/__tests__/routes.test.ts:493", "shortDescription": {"text": "Commented-code block (14 lines) in server/src/features/teams/__tests__/routes.test.ts:493"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e103a0ba73474ffb", "name": "Commented-code block (5 lines) in server/src/features/auction/routes.ts:638", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/auction/routes.ts:638"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3395ba783c8769be", "name": "Commented-code block (6 lines) in server/src/features/auction/lib/auctionDaySnapshot.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in server/src/features/auction/lib/auctionDaySnapshot.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-2387d919af84a744", "name": "Commented-code block (5 lines) in server/src/features/auction/services/auctionImport.ts:83", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/auction/services/auctionImport.ts:83"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e88cc5207586b00f", "name": "Commented-code block (5 lines) in server/src/features/admin/services/dashboardService.ts:130", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/admin/services/dashboardService.ts: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-8e5dff622741f1c7", "name": "Commented-code block (6 lines) in server/src/features/wire-list/processor.ts:54", "shortDescription": {"text": "Commented-code block (6 lines) in server/src/features/wire-list/processor.ts:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1706929cc7f87f0c", "name": "Commented-code block (7 lines) in server/src/features/wire-list/routes.ts:45", "shortDescription": {"text": "Commented-code block (7 lines) in server/src/features/wire-list/routes.ts: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-49c2e1781af22961", "name": "Commented-code block (5 lines) in server/src/features/wire-list/__tests__/processor.test.ts:120", "shortDescription": {"text": "Commented-code block (5 lines) in server/src/features/wire-list/__tests__/processor.test.ts:120"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a6f1ea65d610d47f", "name": "Commented-code block (7 lines) in server/src/features/wire-list/__tests__/reducer.test.ts:336", "shortDescription": {"text": "Commented-code block (7 lines) in server/src/features/wire-list/__tests__/reducer.test.ts:336"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-802f753e08d7136d", "name": "Commented-code block (11 lines) in server/src/features/wire-list/services/processorService.ts:152", "shortDescription": {"text": "Commented-code block (11 lines) in server/src/features/wire-list/services/processorService.ts:152"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5dfd339f6133dddb", "name": "Commented-code block (9 lines) in server/src/features/trades/routes.ts:242", "shortDescription": {"text": "Commented-code block (9 lines) in server/src/features/trades/routes.ts:242"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-39d636b3e4a12d5f", "name": "Commented-code block (6 lines) in server/src/features/waivers/routes.ts:382", "shortDescription": {"text": "Commented-code block (6 lines) in server/src/features/waivers/routes.ts:382"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9cac7ce15e72817b", "name": "31 env vars used in code but missing from .env.example", "shortDescription": {"text": "31 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ADMIN_EMAILS`, `ANTHROPIC_API_KEY`, `APP_URL`, `CACHE_PATH`, `CI`, `DEBUG`, `DEV`, `DEV_LOGIN_PASSWORD` + 23 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/stats-worker/parse_onroto_transactions_html.py:norm, scripts/stats-worker/parse_onroto_transactions_html.py:n\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-270bca32d3c6d67a", "name": "Frontend route `/reset-password` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/reset-password` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-2e2bcf5007bf7314", "name": "Frontend route `/*` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/*` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-e977e1b72969e6a7", "name": "Frontend route `/teams/:teamCode/classic` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/teams/:teamCode/classic` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-3138bdfd25794917", "name": "Frontend route `/teams/:teamCode` has no Link/navigate to it \u2014 client/src/features/teams/pages/__tests__/TeamLegacy.test", "shortDescription": {"text": "Frontend route `/teams/:teamCode` has no Link/navigate to it \u2014 client/src/features/teams/pages/__tests__/TeamLegacy.test.tsx"}, "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-124da0bc168d9c55", "name": "Frontend route `manage/:mode` has no Link/navigate to it \u2014 client/src/features/teams/components/RosterHub/__tests__/Mana", "shortDescription": {"text": "Frontend route `manage/:mode` has no Link/navigate to it \u2014 client/src/features/teams/components/RosterHub/__tests__/ManagePanel.test.tsx"}, "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-c41b23c314574327", "name": "Frontend route `/teams/:teamCode/wire-list` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/teams/:teamCode/wire-list` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-ba69164e180eeec6", "name": "Frontend route `/commissioner/:leagueId/wire-list` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/commissioner/:leagueId/wire-list` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-282b38723f966f8e", "name": "Frontend route `/players/:mlbId` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/players/:mlbId` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-b04642a6a482be90", "name": "Frontend route `/trades` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/trades` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-14c581a2fafeaabe", "name": "Frontend route `/trading-block` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/trading-block` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-5b1c24078f6fd87c", "name": "Frontend route `/chat` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/chat` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-ba8bd57831c6408c", "name": "Frontend route `/leagues/:id/keepers` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/leagues/:id/keepers` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-6fddac3be5db9c1b", "name": "Frontend route `/auction-classic` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/auction-classic` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-1982220c31d009de", "name": "Frontend route `/commissioner/:leagueId` has no Link/navigate to it \u2014 client/src/features/commissioner/__tests__/Commiss", "shortDescription": {"text": "Frontend route `/commissioner/:leagueId` has no Link/navigate to it \u2014 client/src/features/commissioner/__tests__/Commissioner.test.tsx"}, "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-c1f9d9b26014b3b8", "name": "Frontend route `/admin/reports/:slug` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/admin/reports/:slug` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-f68f0ced071ff9d7", "name": "Frontend route `/join/:inviteCode` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/join/:inviteCode` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-51710f70f30b0cf2", "name": "Frontend route `/profile/:userId` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/profile/:userId` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-d5e1f3b654d9502f", "name": "Frontend route `/profile/legacy` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/profile/legacy` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-fbc28bbc7700d343", "name": "Frontend route `/draft-report-card` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/draft-report-card` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-710451612323a6f6", "name": "Frontend route `/design/manual-slot-assignment` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/design/manual-slot-assignment` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-e99dc0716fdad5a6", "name": "Frontend route `/design/roster-hub` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/design/roster-hub` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-16ae9aec325ad0a7", "name": "Frontend route `/design/roster-hub-deferred` has no Link/navigate to it \u2014 client/src/App.tsx", "shortDescription": {"text": "Frontend route `/design/roster-hub-deferred` has no Link/navigate to it \u2014 client/src/App.tsx"}, "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-eca1d0609162d781", "name": "Frontend route `/keeper-prep/:id` has no Link/navigate to it \u2014 client/src/features/keeper-prep/__tests__/KeeperSelection", "shortDescription": {"text": "Frontend route `/keeper-prep/:id` has no Link/navigate to it \u2014 client/src/features/keeper-prep/__tests__/KeeperSelection.test.tsx"}, "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-1384870b15162054", "name": "Frontend route `/teams/:teamCode/manage/claim` has no Link/navigate to it \u2014 client/src/features/teams/__tests__/Team.gho", "shortDescription": {"text": "Frontend route `/teams/:teamCode/manage/claim` has no Link/navigate to it \u2014 client/src/features/teams/__tests__/Team.ghostIl.test.tsx"}, "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-2f97d49540cf81e3", "name": "Frontend route `/teams/:teamCode/manage/il-stash` has no Link/navigate to it \u2014 client/src/features/teams/__tests__/Team.", "shortDescription": {"text": "Frontend route `/teams/:teamCode/manage/il-stash` has no Link/navigate to it \u2014 client/src/features/teams/__tests__/Team.ghostIl.test.tsx"}, "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-ae5a187283baee4f", "name": "Frontend route `/teams/:teamCode/manage/il-activate` has no Link/navigate to it \u2014 client/src/features/teams/__tests__/Te", "shortDescription": {"text": "Frontend route `/teams/:teamCode/manage/il-activate` has no Link/navigate to it \u2014 client/src/features/teams/__tests__/Team.ghostIl.test.tsx"}, "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-67d5c78cc59320ea", "name": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/people/search?names=${encodeURIComponent(q)} (fix_names.ts:107)", "shortDescription": {"text": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/people/search?names=${encodeURIComponent(q)} (fix_names.ts:107)"}, "fullDescription": {"text": "`fix_names.ts:107` calls `GET https://statsapi.mlb.com/api/v1/people/search?names=${encodeURIComponent(q)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/statsapi.mlb.com/api/v1/people/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-118c8b57f852e677", "name": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/people/${r.player.mlbId}/stats?stats=season&season=2025&group=hittin", "shortDescription": {"text": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/people/${r.player.mlbId}/stats?stats=season&season=2025&group=hitting,pitching (sync_db_to_csv.ts:73)"}, "fullDescription": {"text": "`sync_db_to_csv.ts:73` calls `GET https://statsapi.mlb.com/api/v1/people/${r.player.mlbId}/stats?stats=season&season=2025&group=hitting,pitching` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/statsapi.mlb.com/api/v1/people/<p>/stats`\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-a7ae3620574e1064", "name": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/teams/${t.id} (sync_db_to_csv.ts:86)", "shortDescription": {"text": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/teams/${t.id} (sync_db_to_csv.ts:86)"}, "fullDescription": {"text": "`sync_db_to_csv.ts:86` calls `GET https://statsapi.mlb.com/api/v1/teams/${t.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/statsapi.mlb.com/api/v1/teams/<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-6d29e371fca9d9f8", "name": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/sports/1 (client/src/pages/Status.tsx:86)", "shortDescription": {"text": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/sports/1 (client/src/pages/Status.tsx:86)"}, "fullDescription": {"text": "`client/src/pages/Status.tsx:86` calls `GET https://statsapi.mlb.com/api/v1/sports/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:/statsapi.mlb.com/api/v1/sports/<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-91d138a0a25963a2", "name": "Dangling fetch: POST /api/auth/dev-login (client/src/features/auth/pages/Login.tsx:376)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/dev-login (client/src/features/auth/pages/Login.tsx:376)"}, "fullDescription": {"text": "`client/src/features/auth/pages/Login.tsx:376` calls `POST /api/auth/dev-login` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/dev-login`\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-0478501a317f773f", "name": "Dangling fetch: DELETE /api/chat/${leagueId}/messages/${messageId} (client/src/features/chat/components/ChatPanel.tsx:14", "shortDescription": {"text": "Dangling fetch: DELETE /api/chat/${leagueId}/messages/${messageId} (client/src/features/chat/components/ChatPanel.tsx:146)"}, "fullDescription": {"text": "`client/src/features/chat/components/ChatPanel.tsx:146` calls `DELETE /api/chat/${leagueId}/messages/${messageId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/chat/<p>/messages/<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-fbc9ab807e0f2439", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (server/src/services/aiAnalysisService.ts:36)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (server/src/services/aiAnalysisService.ts:36)"}, "fullDescription": {"text": "`server/src/services/aiAnalysisService.ts:36` 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-58974bf498134e6b", "name": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/people/search?names=${encodeURIComponent(name)} (server/src/features", "shortDescription": {"text": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/people/search?names=${encodeURIComponent(name)} (server/src/features/archive/services/archiveStatsService.ts:24)"}, "fullDescription": {"text": "`server/src/features/archive/services/archiveStatsService.ts:24` calls `GET https://statsapi.mlb.com/api/v1/people/search?names=${encodeURIComponent(name)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/statsapi.mlb.com/api/v1/people/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-63dab08f8a384d36", "name": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/teams?sportId=1&season=${year} (server/src/features/archive/services", "shortDescription": {"text": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/teams?sportId=1&season=${year} (server/src/features/archive/services/archiveStatsService.ts:84)"}, "fullDescription": {"text": "`server/src/features/archive/services/archiveStatsService.ts:84` calls `GET https://statsapi.mlb.com/api/v1/teams?sportId=1&season=${year}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/statsapi.mlb.com/api/v1/teams`\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-f20a32f4dc02a4d2", "name": "Dangling fetch: GET https://www.youtube.com/feeds/videos.xml?channel_id=${channel.id} (server/src/features/mlb-feed/rout", "shortDescription": {"text": "Dangling fetch: GET https://www.youtube.com/feeds/videos.xml?channel_id=${channel.id} (server/src/features/mlb-feed/routes.ts:263)"}, "fullDescription": {"text": "`server/src/features/mlb-feed/routes.ts:263` calls `GET https://www.youtube.com/feeds/videos.xml?channel_id=${channel.id}` 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.youtube.com/feeds/videos.xml`\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-66f554233544837c", "name": "Dangling fetch: GET https://www.reddit.com/r/baseball/hot.json?limit=20 (server/src/features/mlb-feed/routes.ts:403)", "shortDescription": {"text": "Dangling fetch: GET https://www.reddit.com/r/baseball/hot.json?limit=20 (server/src/features/mlb-feed/routes.ts:403)"}, "fullDescription": {"text": "`server/src/features/mlb-feed/routes.ts:403` calls `GET https://www.reddit.com/r/baseball/hot.json?limit=20` 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.reddit.com/r/baseball/hot.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-e842543ab3fd3531", "name": "Dangling fetch: GET https://www.reddit.com/r/fantasybaseball/hot.json?limit=10 (server/src/features/mlb-feed/routes.ts:4", "shortDescription": {"text": "Dangling fetch: GET https://www.reddit.com/r/fantasybaseball/hot.json?limit=10 (server/src/features/mlb-feed/routes.ts:407)"}, "fullDescription": {"text": "`server/src/features/mlb-feed/routes.ts:407` calls `GET https://www.reddit.com/r/fantasybaseball/hot.json?limit=10` 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.reddit.com/r/fantasybaseball/hot.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-dde3adb27bf7eebe", "name": "Unused endpoint: USE /api", "shortDescription": {"text": "Unused endpoint: USE /api"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api` 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-6eb452fbfb454d20", "name": "Unused endpoint: USE /api/auth", "shortDescription": {"text": "Unused endpoint: USE /api/auth"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/auth` 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-4756b4c4da7d2088", "name": "Unused endpoint: GET /api/health", "shortDescription": {"text": "Unused endpoint: GET /api/health"}, "fullDescription": {"text": "`server/src/index.ts` declares `GET /api/health` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-213aa53474f58cca", "name": "Unused endpoint: USE /api/trades", "shortDescription": {"text": "Unused endpoint: USE /api/trades"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/trades` 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-022c380f369e922e", "name": "Unused endpoint: USE /api/waivers", "shortDescription": {"text": "Unused endpoint: USE /api/waivers"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/waivers` 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-96480d7f5f5b9643", "name": "Unused endpoint: USE /api/wire-list", "shortDescription": {"text": "Unused endpoint: USE /api/wire-list"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/wire-list` 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-6e88b7f8e1bd8604", "name": "Unused endpoint: USE /api/leagues", "shortDescription": {"text": "Unused endpoint: USE /api/leagues"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/leagues` 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-302ec653e6643b63", "name": "Unused endpoint: USE /api/auction", "shortDescription": {"text": "Unused endpoint: USE /api/auction"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/auction` 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-3bc28356e03c582f", "name": "Unused endpoint: USE /api/draft", "shortDescription": {"text": "Unused endpoint: USE /api/draft"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/draft` 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-3dee00dff1dc5d6e", "name": "Unused endpoint: USE /api/matchups", "shortDescription": {"text": "Unused endpoint: USE /api/matchups"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/matchups` 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-95d83ea4b1a04d3d", "name": "Unused endpoint: USE /api/teams", "shortDescription": {"text": "Unused endpoint: USE /api/teams"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/teams` 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-8f7d12bdfdb40116", "name": "Unused endpoint: USE /api/roster", "shortDescription": {"text": "Unused endpoint: USE /api/roster"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/roster` 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-f32afb8ee8869a99", "name": "Unused endpoint: USE /api/periods", "shortDescription": {"text": "Unused endpoint: USE /api/periods"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/periods` 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-d7072cd3426f56bd", "name": "Unused endpoint: USE /api/seasons", "shortDescription": {"text": "Unused endpoint: USE /api/seasons"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/seasons` 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-cae8d29b811b0ff9", "name": "Unused endpoint: USE /api/players", "shortDescription": {"text": "Unused endpoint: USE /api/players"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/players` 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-c14c643da9497dd6", "name": "Unused endpoint: USE /api/mlb", "shortDescription": {"text": "Unused endpoint: USE /api/mlb"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/mlb` 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-316c43db307befc3", "name": "Unused endpoint: USE /api/ai", "shortDescription": {"text": "Unused endpoint: USE /api/ai"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/ai` 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-126c84a660596653", "name": "Unused endpoint: USE /api/watchlist", "shortDescription": {"text": "Unused endpoint: USE /api/watchlist"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/watchlist` 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-520cf6b218ae5cb4", "name": "Unused endpoint: USE /api/trading-block", "shortDescription": {"text": "Unused endpoint: USE /api/trading-block"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/trading-block` 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-d47da3fe1917e646", "name": "Unused endpoint: USE /api/board", "shortDescription": {"text": "Unused endpoint: USE /api/board"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/board` 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-c3a8b7932f72b92f", "name": "Unused endpoint: USE /api/notifications", "shortDescription": {"text": "Unused endpoint: USE /api/notifications"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/notifications` 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-2b92dc87a4256298", "name": "Unused endpoint: USE /api/chat", "shortDescription": {"text": "Unused endpoint: USE /api/chat"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/chat` 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-8636dd48e48d1da9", "name": "Unused endpoint: USE /api/sessions", "shortDescription": {"text": "Unused endpoint: USE /api/sessions"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/sessions` 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-f22cf013c13a7f0c", "name": "Unused endpoint: GET /sw.js", "shortDescription": {"text": "Unused endpoint: GET /sw.js"}, "fullDescription": {"text": "`server/src/index.ts` declares `GET /sw.js` 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-b8073f7bf758f6d0", "name": "Unused endpoint: USE /api/*", "shortDescription": {"text": "Unused endpoint: USE /api/*"}, "fullDescription": {"text": "`server/src/index.ts` declares `USE /api/*` 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-509f18408e249e6e", "name": "Unused endpoint: GET /public/leagues", "shortDescription": {"text": "Unused endpoint: GET /public/leagues"}, "fullDescription": {"text": "`server/src/routes/public.ts` declares `GET /public/leagues` 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-a7c6a3da6ea1da4f", "name": "Unused endpoint: GET /public/leagues/:slug/standings", "shortDescription": {"text": "Unused endpoint: GET /public/leagues/:slug/standings"}, "fullDescription": {"text": "`server/src/routes/public.ts` declares `GET /public/leagues/:slug/standings` 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-193848f39e7f8c85", "name": "Unused endpoint: POST /transactions/claim/preview", "shortDescription": {"text": "Unused endpoint: POST /transactions/claim/preview"}, "fullDescription": {"text": "`server/src/features/transactions/routes.ts` declares `POST /transactions/claim/preview` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-52f939032aab887f", "name": "Unused endpoint: GET /transactions", "shortDescription": {"text": "Unused endpoint: GET /transactions"}, "fullDescription": {"text": "`server/src/features/transactions/routes.ts` declares `GET /transactions` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c92a7f7e20feb912", "name": "Unused endpoint: POST /transactions/claim", "shortDescription": {"text": "Unused endpoint: POST /transactions/claim"}, "fullDescription": {"text": "`server/src/features/transactions/routes.ts` declares `POST /transactions/claim` 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-e61cb7a8bea3c5f9", "name": "Unused endpoint: POST /transactions/drop", "shortDescription": {"text": "Unused endpoint: POST /transactions/drop"}, "fullDescription": {"text": "`server/src/features/transactions/routes.ts` declares `POST /transactions/drop` 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-b4ad3193f969e8ad", "name": "Unused endpoint: POST /transactions/il-stash/preview", "shortDescription": {"text": "Unused endpoint: POST /transactions/il-stash/preview"}, "fullDescription": {"text": "`server/src/features/transactions/routes.ts` declares `POST /transactions/il-stash/preview` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-53d659283047977f", "name": "Unused endpoint: POST /transactions/il-stash", "shortDescription": {"text": "Unused endpoint: POST /transactions/il-stash"}, "fullDescription": {"text": "`server/src/features/transactions/routes.ts` declares `POST /transactions/il-stash` 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-6df114814a2b3555", "name": "Unused endpoint: POST /transactions/il-activate/preview", "shortDescription": {"text": "Unused endpoint: POST /transactions/il-activate/preview"}, "fullDescription": {"text": "`server/src/features/transactions/routes.ts` declares `POST /transactions/il-activate/preview` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46bb8b6da1ba323e", "name": "Unused endpoint: POST /transactions/il-activate", "shortDescription": {"text": "Unused endpoint: POST /transactions/il-activate"}, "fullDescription": {"text": "`server/src/features/transactions/routes.ts` declares `POST /transactions/il-activate` 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-0451af2900f971be", "name": "Unused endpoint: POST /transactions/sync-il-status", "shortDescription": {"text": "Unused endpoint: POST /transactions/sync-il-status"}, "fullDescription": {"text": "`server/src/features/transactions/routes.ts` declares `POST /transactions/sync-il-status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5475338e0e473288", "name": "Unused endpoint: POST /commissioner/create-season", "shortDescription": {"text": "Unused endpoint: POST /commissioner/create-season"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `POST /commissioner/create-season` 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-07848b38498ced17", "name": "Unused endpoint: GET /commissioner/:leagueId", "shortDescription": {"text": "Unused endpoint: GET /commissioner/:leagueId"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `GET /commissioner/:leagueId` 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-738e3ba40cc780b3", "name": "Unused endpoint: GET /commissioner/:leagueId/available-users", "shortDescription": {"text": "Unused endpoint: GET /commissioner/:leagueId/available-users"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `GET /commissioner/:leagueId/available-users` 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-4e993773b1924ac6", "name": "Unused endpoint: GET /commissioner/:leagueId/prior-teams", "shortDescription": {"text": "Unused endpoint: GET /commissioner/:leagueId/prior-teams"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `GET /commissioner/:leagueId/prior-teams` 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-0ef0ac3d86046bfe", "name": "Unused endpoint: PATCH /commissioner/:leagueId", "shortDescription": {"text": "Unused endpoint: PATCH /commissioner/:leagueId"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `PATCH /commissioner/:leagueId` 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-e1395c0acbda2d9c", "name": "Unused endpoint: GET /commissioner/:leagueId/locked-fields", "shortDescription": {"text": "Unused endpoint: GET /commissioner/:leagueId/locked-fields"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `GET /commissioner/:leagueId/locked-fields` 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-7b86b13fd8251bee", "name": "Unused endpoint: POST /commissioner/:leagueId/teams", "shortDescription": {"text": "Unused endpoint: POST /commissioner/:leagueId/teams"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `POST /commissioner/:leagueId/teams` 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-97b833e55d45fde4", "name": "Unused endpoint: DELETE /commissioner/:leagueId/teams/:teamId", "shortDescription": {"text": "Unused endpoint: DELETE /commissioner/:leagueId/teams/:teamId"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `DELETE /commissioner/:leagueId/teams/:teamId` 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-5815ea071d4b73fa", "name": "Unused endpoint: POST /commissioner/:leagueId/members", "shortDescription": {"text": "Unused endpoint: POST /commissioner/:leagueId/members"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `POST /commissioner/:leagueId/members` 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-3fe4bf50d3374a85", "name": "Unused endpoint: PATCH /commissioner/:leagueId/members/:membershipId", "shortDescription": {"text": "Unused endpoint: PATCH /commissioner/:leagueId/members/:membershipId"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `PATCH /commissioner/:leagueId/members/:membershipId` 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-1e6f78c55c2c3daf", "name": "Unused endpoint: DELETE /commissioner/:leagueId/members/:membershipId", "shortDescription": {"text": "Unused endpoint: DELETE /commissioner/:leagueId/members/:membershipId"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `DELETE /commissioner/:leagueId/members/:membershipId` 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-553d5f63c17aeb40", "name": "Unused endpoint: GET /commissioner/:leagueId/invites", "shortDescription": {"text": "Unused endpoint: GET /commissioner/:leagueId/invites"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `GET /commissioner/:leagueId/invites` 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-7cf6361ceff7c14b", "name": "Unused endpoint: DELETE /commissioner/:leagueId/invites/:inviteId", "shortDescription": {"text": "Unused endpoint: DELETE /commissioner/:leagueId/invites/:inviteId"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `DELETE /commissioner/:leagueId/invites/:inviteId` 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-248ae9ddd9ed2665", "name": "Unused endpoint: POST /commissioner/:leagueId/teams/:teamId/owner", "shortDescription": {"text": "Unused endpoint: POST /commissioner/:leagueId/teams/:teamId/owner"}, "fullDescription": {"text": "`server/src/features/commissioner/routes.ts` declares `POST /commissioner/:leagueId/teams/:teamId/owner` 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/21225"}, "properties": {"repository": "thirstypig/TheFantasticLeagues", "repoUrl": "https://github.com/thirstypig/TheFantasticLeagues", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 467389, "scanner": "foundry_dataset", "fingerprint": "7f9ca19bbdc847197192ad56c7f41b51a479b2a94d98f8b3a653fc8286847f59", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"security_auth_secret": 1, "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": "thirstypig/TheFantasticLeagues#8", "issue_number": "8", "quality_tiers": {"unresolved": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-263dcd46efa7f053", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#8\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#8\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#8\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 8\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, 'security_auth_secret': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-8649b3dc3cdde53d", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 467388, "scanner": "foundry_dataset", "fingerprint": "f17050cc57d016d4ae5235493969a550a3000b48dc99ef905b5457b42ad9cc81", "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": "thirstypig/TheFantasticLeagues#318", "issue_number": "318", "quality_tiers": {"unresolved": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-7e3771f1d9f5ab94", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#318\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#318\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#318\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 318\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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-7b8787b48b5b45cf", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 467387, "scanner": "foundry_dataset", "fingerprint": "03650e2bfb3e53e7073d695b1db57eec157af694156db4c067a11d05ece4b708", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"human_feedback_general": 1, "unlinked_human_feedback": 1, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#187", "issue_number": "187", "quality_tiers": {"unresolved": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-ec726b1da560502f", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#187\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#187\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#187\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 187\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-836da0fa33e7c1b8", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439662, "scanner": "foundry_dataset", "fingerprint": "159f4cda5aaa26a1e2f7c771299076379fcdf9fa8e52553307479461962cfa10", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#9", "human_labels": ["test_ci_gap"], "issue_number": "9", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.61, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-e6a0135de6f5762c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#9\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: thirstypig/TheFantasticLeagues#9\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8eb025ce6cc04d1e\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/9#issuecomment-4373785715\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/9#issuecomment-4373785715\\nTitle: \\nBody:\\nSuperseded by Aurora design system rollout (which went the opposite direction from shadcn defaults) and Vitest infrastructure that landed separately. Closing as stale.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-8ef4e8bde65c7483\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-2b8a7a881b567e64", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439661, "scanner": "foundry_dataset", "fingerprint": "9d5ebd978652f74b9db9168e398aa69e5e4fc84440faadc01c62f5f1882defe6", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#401", "human_labels": ["api_or_backend", "schema_or_data", "test_ci_gap", "ui_or_frontend"], "issue_number": "401", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-b6f71a6713c759c6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 15, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 12, "schema_or_data": 1, "ui_or_frontend": 2}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 1, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#401\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: thirstypig/TheFantasticLeagues#401\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 1\nLinked CI labels: {'ci_failure_signal': 1}\nChanged file count: 15\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 2, 'api_or_backend': 12, 'schema_or_data': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9d17d3805d2cc21c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/401\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/401\\nTitle: refactor: split auction/routes.ts (2017 lines) into focused sub-modules\\nBody:\\n## Summary\\n\\n- Extracts shared mutable state + helpers into `auction/lib/auctionStateManager.ts` \u2014 the 4 in-memory Maps (`auctionStates`, timers, `finishLocks`) plus all helper functions and `finishCurrentLot` live here as the single source of truth\\n- Extracts 4 Zod schemas into `auction/lib/schemas.ts`\\n- Splits 21 route handlers into 4 focused sub-routers: `stateRoutes`, `biddingRoutes`, `lifecycleRoutes`, `analyticsRoutes`\\n- `routes.ts` becomes an 18-line thin composition that preserves all prior exports (`createDefaultState`, `calculateMaxBid`, `checkPositionLimit`, type re-exports, `auctionRouter`)\\n\\n**No behavior change.** All 96 auction tests pass (58 unit + 38 integration). Server tsc clean.\\n\\n## Test plan\\n- [x] `npx vitest run src/features/auction/__tests__/` \u2014 58/58 pass\\n- [x] `npx vitest run src/__tests__/integration/auction` \u2014 38/38 pass  \\n- [x] `cd server && npx tsc --noEmit` \u2014 clean\\n\\n\ud83e\udd16 Generated wi\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-d43e552d21f32726\",\n    \"filename\": \"client/src/features/transactions/components/RosterMovesTab/AddDropPanel.tsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 5,\n    \"changes\": 11,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/b2daf93d586402e1061a5b09fe2b460bf81e3fe7/client%2Fsrc%2Ffeatures%2Ftransactions%2Fcomponents%2FRosterMovesTab%2FAddDropPanel.tsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-b6b2e30f98a94664\",\n    \"filename\": \"client/src/\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-66a8654fb52caa42", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439660, "scanner": "foundry_dataset", "fingerprint": "ac16c53d93e18edb61b5c78820ad12a337e43ffe6bba0ec33fdc03d199c83e00", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#399", "human_labels": ["agent_instruction_gap", "docs_or_claims"], "issue_number": "399", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.912, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c8aac49ade0704b7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"docs_or_claims": 4}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#399\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: thirstypig/TheFantasticLeagues#399\nRepo: thirstypig/TheFantasticLeagues\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: {'docs_or_claims': 4}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-02491cb7014dfdce\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/399\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/399\\nTitle: docs: session sync 2026-06-10 (audit arc wrap-up)\\nBody:\\nDoc sweep after the stats-correctness arc: CLAUDE.md cron + ADR-013 sections updated for hybrid attribution (manual path-switching guidance was stale), test counts 2196\u21922279 (verified by live runs), TESTING.md baseline refreshed, decisions.md #260 consequence annotated resolved, FEEDBACK.md session entry incl. the prod-build incident (#398).\\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-48aee5a921108436\",\n    \"filename\": \"CLAUDE.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 3,\n    \"deletions\": 3,\n    \"changes\": 6,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/b703c8feeabc3bf2354a6733917e4f5cf2a3a056/CLAUDE.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-da2a67806de5331b\",\n    \"filename\": \"FEEDBACK.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 33,\n    \"deletions\": 0,\n    \"changes\": 33,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/b703c8feeabc3bf2354a6733917e4f5cf2a3a056/FEEDBACK.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-5f78b8dea8acef4a\",\n    \"filename\": \"docs/TESTING.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 4,\n    \"deletions\": 4,\n    \"changes\": 8,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/b703c8feeabc3bf2354a6733917e4f5cf2a3a056/docs%2FTESTING.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-14e82640245fe537\",\n    \"filename\": \"docs/decisions.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-f144a2ab374730e4", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439659, "scanner": "foundry_dataset", "fingerprint": "daa94aa6771ed46efff9496cffe93c2c155ed5b2a8c801e5c4f0f93d83a91aac", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#397", "human_labels": ["agent_instruction_gap", "docs_or_claims"], "issue_number": "397", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.842, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-114c55fb92e03a45", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 3, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"docs_or_claims": 3}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#397\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: thirstypig/TheFantasticLeagues#397\nRepo: thirstypig/TheFantasticLeagues\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: 3\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b2e3d0ccac20b378\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/397\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/397\\nTitle: chore(todos): close #285\u2013#287 (shipped in #393/#394/#395)\\nBody:\\nRename pending\u2192complete with resolution notes for the three standings-hardening todos shipped this week: #285 date-normalized mid-period check (PR #393), #286 hybrid attribution (PR #394), #287 \u2192 ADR-014 continuous reconciliation (PR #395).\\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-bf817f32c9ed8736\",\n    \"filename\": \"todos/285-complete-p2-hasmidperiodpickup-date-normalize.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"renamed\",\n    \"additions\": 5,\n    \"deletions\": 1,\n    \"changes\": 6,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/a0d0f497bc73bb72b3fe16fc3b04bc92140368d8/todos%2F285-complete-p2-hasmidperiodpickup-date-normalize.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-6bf3bb7f9e9181cd\",\n    \"filename\": \"todos/286-complete-p2-hybrid-psp-daily-attribution-mid-period.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"renamed\",\n    \"additions\": 5,\n    \"deletions\": 1,\n    \"changes\": 6,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/a0d0f497bc73bb72b3fe16fc3b04bc92140368d8/todos%2F286-complete-p2-hybrid-psp-daily-attribution-mid-period.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-9e833cf5956dbb53\",\n    \"filename\": \"todos/287-complete-p2-post-close-period-psp-resync.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"renamed\",\n    \"additions\": 5,\n    \"deletions\": 1,\n    \"changes\": 6,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/a0d0f497bc73bb72b3fe16fc3b04bc92140368d8/todos%2F287-complete-p2-post-close-period-psp-resyn\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-a2d2ca4b124eb88c", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439658, "scanner": "foundry_dataset", "fingerprint": "f7d9136e0b041fd7f072d1cb6ea9af74378d7c6d26ba1e95c0ef8af98ce84668", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#396", "human_labels": ["docs_or_claims", "test_ci_gap", "test_or_ci"], "issue_number": "396", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-987049e8e5c74192", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 3, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 2, "docs_or_claims": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#396\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: thirstypig/TheFantasticLeagues#396\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 3\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'test_or_ci': 2, 'docs_or_claims': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2639051fa8adcf47\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/396\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/396\\nTitle: fix(test): root-cause client CI flakes (Home panel races + RTL async timeout)\\nBody:\\nThree CI-only failures in 24h \u2014 `Home.test.tsx` \u00d73 (same \\\"Trade block chatter\\\" assertion, including the rerun that just failed PR #394) and `ArchivePage.test.tsx` \u00d71 \u2014 all passing locally every time.\\n\\n**Root causes, both fixed:**\\n1. **Cross-fetch ordering race**: the Home dashboard test anchored on the my-team fetch then synchronously asserted board/trades/activity content \u2014 three *independent* fetches whose render commits can land after the anchor on slow runners. Each panel's first data-driven assertion now uses `findByText`.\\n2. **1000ms RTL async ceiling**: too tight for multi-step cascades on shared CI runners (the ArchivePage failure was inside a `waitFor`). `asyncUtilTimeout` raised to 4000ms globally in `src/test/setup.ts` \u2014 `waitFor`/`findBy*` poll, so green tests don't get slower.\\n\\nValidation: both files 5\u00d7 green; full client suite 893 passing; convention documented in `docs/TESTING.md`.\\n\\nUnbl\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-6ee3704fdcbc24bb\",\n    \"filename\": \"client/src/pages/__tests__/Home.test.tsx\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 7,\n    \"deletions\": 3,\n    \"changes\": 10,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/9daaf93b72480ea91f1f34ed3064866cba510518/client%2Fsrc%2Fpages%2F__tests__%2FHome.test.tsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-8a27f76142d24a97\",\n    \"filename\": \"client/src/test/setup.ts\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 8,\n    \"deletions\": 0,\n    \"changes\": 8,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-6d741f0a43fbe4b1", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439657, "scanner": "foundry_dataset", "fingerprint": "9d777a0b8e2e391405dc0164e3a7e92f1e8cf67f020be13ba51877bd42268cb1", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#389", "human_labels": ["docs_or_claims", "human_feedback_general"], "issue_number": "389", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-b0f719629694ab54", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"docs_or_claims": 1}, "linked_commit_count": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#389\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: thirstypig/TheFantasticLeagues#389\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'docs_or_claims': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c9059d34b9a85383\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/389\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/389\\nTitle: docs(audit): replace FG Total with FanGraphs Total in tables\\nBody:\\nFinal consistency pass \u2014 two column headers still used FG abbreviation.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-129697077d735e34\",\n    \"filename\": \"docs/reports/onroto-audit-2026-06-08.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 2,\n    \"changes\": 4,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/d4163f642ebdc9d629d3f239fe9afa0a3dc4416c/docs%2Freports%2Fonroto-audit-2026-06-08.md\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-1f336c1d343bb4c3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-0816c720b436ca29", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439656, "scanner": "foundry_dataset", "fingerprint": "33f04a16b0043554b4b7332df75ae962cdd2bd5ff76c75c992e5ca68995c8283", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#387", "human_labels": ["agent_instruction_gap", "docs_or_claims"], "issue_number": "387", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-de33755ae67031f2", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"docs_or_claims": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#387\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: thirstypig/TheFantasticLeagues#387\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-dddc81e0fee6cf37\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/387\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/387\\nTitle: docs(audit): add FanGraphs on Roto raw stats for Period 1\\nBody:\\n## Summary\\nAdds actual FanGraphs raw stat numbers to the Period 1 stats section (retrieved from team stats pages). Previously we only had rank points; now we have the underlying R/HR/RBI/SB/AVG/W/SV/ERA/WHIP/K for both systems.\\n\\nNew content:\\n- FanGraphs Raw Stats table (all 8 teams)\\n- Raw Stats Delta table (FG \u2212 TFL per category)\\n- Simplified rank points comparison (totals only, cleaner to read)\\n\\nKey finding documented: FanGraphs records higher R, HR, RBI, and K for every team in Period 1 (+6 to +31 K per team). No transactions occurred in P1 so this is purely a data-source difference.\\n\\n## Test plan\\n- [ ] Visit `/docs` \u2192 audit report \u2192 Period 1 section shows 3 tables (TFL raw, FG raw, delta)\\n- [ ] Verify delta row for Dodger Dawgs K shows +31\\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-024efdd7e4ff4cf1\",\n    \"filename\": \"docs/reports/onroto-audit-2026-06-08.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 44,\n    \"deletions\": 12,\n    \"changes\": 56,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/91d36b96efa8bb54b33bfc69c0e59827f0288e79/docs%2Freports%2Fonroto-audit-2026-06-08.md\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-0b01d45ddbfb96c9\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artif\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-75359d0a967ed624", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439655, "scanner": "foundry_dataset", "fingerprint": "e07b065fc6693118007f2f31d04fed29405498971c3bef0c7c4071085ec5d235", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#386", "human_labels": ["agent_instruction_gap", "docs_or_claims"], "issue_number": "386", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-322fbfce7c2d44fc", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"docs_or_claims": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#386\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: thirstypig/TheFantasticLeagues#386\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-67a0d0625ae449f5\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/386\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/386\\nTitle: docs(audit): rewrite audit report \u2014 full names, cleaner structure, no FBST\\nBody:\\n## Summary\\n- All FBST \u2192 The Fantastic Leagues, all team abbreviations removed from prose/tables\\n- Two-section structure: **Roster Verification** (4 checkpoints) + **Stats Audit** (3 periods)\\n- Full rosters displayed at each checkpoint with italicized period-over-period changes\\n- Roster gap analysis table with \u2705 / \u2610 verification status per team per period\\n- TFL raw stats + rank points side-by-side with FanGraphs on Roto per period\\n- Consolidated YTD delta table at bottom\\n- Removed ~200 lines of verbose prose, SQL appendix, and redundant captions\\n\\n## Test plan\\n- [ ] Visit `/docs` \u2192 FG/OnRoto vs TFL Audit \u2192 verify document renders cleanly\\n- [ ] Confirm rosters are readable (hitters/pitchers format, italicized changes)\\n- [ ] Confirm stats tables render with correct column headers\\n- [ ] Confirm gap analysis tables visible at bottom of each section\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/cl\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-eadf432977e3c33b\",\n    \"filename\": \"docs/reports/onroto-audit-2026-06-08.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 249,\n    \"deletions\": 542,\n    \"changes\": 791,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/9a7fa35f470a32f329345f4576ea229c31892a3d/docs%2Freports%2Fonroto-audit-2026-06-08.md\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-026f75c9fe0b14ad\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-68470e00256a0932", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439654, "scanner": "foundry_dataset", "fingerprint": "3edfaae09d9f9e932dff16f4aa8d00fdfbd91053a21fbb0ea7973a6d8278bda7", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#385", "human_labels": ["dependency_or_build", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "385", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-6d99832d73ce8c9a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "ui_or_frontend": 2, "dependency_or_build": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#385\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: thirstypig/TheFantasticLeagues#385\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'test_or_ci': 1, 'ui_or_frontend': 2, 'dependency_or_build': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-91555906fbbe2fdd\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/385\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/385\\nTitle: test(admin): renderMarkdown unit tests + extract to lib\\nBody:\\n## Summary\\n- Extracts `renderMarkdown` from `AdminReports.tsx` into `features/admin/lib/renderMarkdown.tsx` \u2014 isolates the pure function from the Vite `?raw` import so tests can import it directly\\n- Adds 17 unit tests covering all parser branches: table structure, separator-row exclusion, inline bold/code/link, h1\u2013h3 headings, blockquote, fenced code block, hr, bullet list\\n- Adds `server.fs.allow` for `../docs` and `../shared` to `vitest.config.ts` (needed for future `?raw` import handling)\\n\\n## Test plan\\n- [ ] `npx vitest run src/features/admin/__tests__/AdminReports.renderMarkdown.test.tsx` \u2192 17 pass\\n- [ ] Full suite (`npx vitest run`) \u2192 874 pass, no regressions\\n- [ ] Visit `/admin/reports/onroto-audit-2026-06-08` \u2192 audit report renders correctly (tables, bold, headings all present)\\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-bf7cafddc18af926\",\n    \"filename\": \"client/src/features/admin/__tests__/AdminReports.renderMarkdown.test.tsx\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"added\",\n    \"additions\": 144,\n    \"deletions\": 0,\n    \"changes\": 144,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/2e1b313071e5147e6406527405566652f6f2d6d1/client%2Fsrc%2Ffeatures%2Fadmin%2F__tests__%2FAdminReports.renderMarkdown.test.tsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-6f4750d4f15cb1c6\",\n    \"filename\": \"client/src/features/admin/lib/renderMarkdown.tsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"added\",\n    \"additions\": 140,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-9d90e53c4a6c782e", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439653, "scanner": "foundry_dataset", "fingerprint": "bc76499ca9c0795d4c5a8d650c3803330eaded7ac2221fb0147c00f0de4d4c80", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#381", "human_labels": ["api_integration_gap", "api_or_backend", "test_or_ci", "ui_or_frontend"], "issue_number": "381", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-f87c41e13efe97dd", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 8, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 1, "ui_or_frontend": 3}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#381\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: thirstypig/TheFantasticLeagues#381\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 8\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 3, 'test_or_ci': 4, 'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-028ef54fbccdafbe\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/381\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/381\\nTitle: feat(hub): drop player directly from IL slot\\nBody:\\n## Summary\\n- Adds `drop()` client API function using existing `DropRequestSchema` (server endpoint already allowed IL drops)\\n- New `DropFromIlPanel` \u2014 simple confirm form that calls `POST /transactions/drop` for IL-slotted players\\n- Wires `\\\"il-release\\\"` mode into `ManagePanel` router\\n- Adds \\\"Release from IL\\\" (destructive) action to per-row `\u2026` menu for IL players in the roster hub\\n\\n## Test plan\\n- [ ] Open the roster hub for a team with an IL player \u2014 verify the `\u2026` menu shows both \\\"Activate from IL\\\" and \\\"Release from IL\\\"\\n- [ ] Click \\\"Release from IL\\\" \u2014 verify panel opens with the player pre-selected\\n- [ ] Confirm release \u2014 verify the player disappears from the IL slot and an activity log entry appears\\n- [ ] Verify the active roster count is unchanged (IL player was outside the active cap)\\n- [ ] Verify active-player `\u2026` menu is unchanged (claim + Place on IL only)\\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-7a618098bb2e1aeb\",\n    \"filename\": \"client/src/features/teams/components/RosterHub/ManagePanel.tsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 23,\n    \"deletions\": 5,\n    \"changes\": 28,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/a3d3b0acaa87781676717a16fcdaa0b721b8b77a/client%2Fsrc%2Ffeatures%2Fteams%2Fcomponents%2FRosterHub%2FManagePanel.tsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-c3445829ac267805\",\n    \"filename\": \"client/src/features/teams/components/Ros\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-ae36c6db4520dea6", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439652, "scanner": "foundry_dataset", "fingerprint": "dd581f31e1c13f1af4487482d889bdf10a3cbd4642bb3406bd5acd8de106a7a0", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#373", "human_labels": ["api_integration_gap"], "issue_number": "373", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.86, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-30f0c7f9a450796d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#373\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: thirstypig/TheFantasticLeagues#373\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f7ca09ca20224382\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/373\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/373\\nTitle: fix(types): dedup RosterItem \u2014 import from commissioner/api (#221)\\nBody:\\n## Summary\\n- Removes duplicate `RosterItem` local interface from `RosterGrid.tsx` (lines 33\u201345)\\n- Adds import from `../../commissioner/api` \u2014 the canonical single source\\n- Both definitions had the same fields; canonical definition already included `assignedPosition` and `player.posList`\\n\\n## Test plan\\n- [ ] `cd client && npx tsc --noEmit` clean\\n- [ ] Roster hub renders correctly for all slot types\\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-e5915c4cf4dfd17b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-cf5ca0e037991079", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439651, "scanner": "foundry_dataset", "fingerprint": "4ffa92cda4d9b21184cc6926f1158625a1a0945e0e119ba1a3ab400fa55215a1", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#371", "human_labels": ["api_integration_gap"], "issue_number": "371", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-e726543a661dbac5", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#371\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: thirstypig/TheFantasticLeagues#371\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-22b3b79b394c7475\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/371\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/371\\nTitle: feat(ai): Draft Report Card \u2014 auction-day values & busts at 1/3, 2/3, EOS checkpoints\\nBody:\\n## Summary\\n\\nPer-team **values** (top 3 by surplus) and **busts** (bottom 3 by surplus) anchored to **auction-day prices** and scored against actual stats at one of three season checkpoints.\\n\\n### Surplus formula\\n- `composite_z` = \u03a3 per-category z-scores within pool (hitter / pitcher pools z-scored separately; ERA / WHIP sign-flipped so lower-is-better \u2192 positive z)\\n- `price_z` = standardize(log(auction_price + 1)) league-wide\\n- `surplus = composite_z \u2212 price_z`\\n\\nHitter cats: R, HR, RBI, SB, AVG. Pitcher cats: W, SV, K, ERA, WHIP. Min-sample floor: AB\u226530 / IP\u226510.\\n\\n### Three checkpoints + preview mode\\n- `one_third` \u2192 periods 1..3 (\\\"1/3 Season\\\")\\n- `two_thirds` \u2192 periods 1..5 (\\\"2/3 Season\\\")\\n- `end` \u2192 periods 1..7 (\\\"Final\\\")\\n\\nCheckpoints whose **last period hasn't started yet** are LOCKED (409 with `unlocksAt = lastPeriod.startDate`) \u2014 without this guard, 2/3 and end would return duplicate 1/3\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-30582e2363d12e1c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_vie\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-d14ea37ccdea875e", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439650, "scanner": "foundry_dataset", "fingerprint": "762caf12d6a749df663b40b352aa4b6d042a96860f7a707bb949c48e424a7b04", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#366", "human_labels": ["agent_instruction_gap"], "issue_number": "366", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-a1f9b7f25c36837c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#366\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: thirstypig/TheFantasticLeagues#366\nRepo: thirstypig/TheFantasticLeagues\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-c361beacb8c59389\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/366\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/366\\nTitle: docs(feedback): Session 2026-06-02 entry \u2014 6-PR audit session\\nBody:\\nAppends FEEDBACK.md entry for the 2026-06-02 session: 6 PRs in flight, 4-layer trust hierarchy, FG cutoff convention finding, /ce:review of #365 P1 caught + fixed.\\n\\nNo code changes. Doc-only.\\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-ed5c52433a8498f0\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-72df8295350ccbc5", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439649, "scanner": "foundry_dataset", "fingerprint": "6b8fe67a6fd6bf14d1dc4cbd10ce79fe93fac9753b7bc2ad2b169745f8a4151e", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#353", "human_labels": ["security_auth_secret"], "issue_number": "353", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-7e847aa2c7325894", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#353\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: thirstypig/TheFantasticLeagues#353\nRepo: thirstypig/TheFantasticLeagues\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-8b40a3ac1379a28f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/353\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/353\\nTitle: chore: gitignore ad-hoc audit-*.mjs / audit-*.ts at repo root\\nBody:\\n## Summary\\nPattern guard to keep ad-hoc DB audit scripts out of git. They tend to hardcode `DATABASE_URL` for convenience (pointing at the prod-shared Supabase), which makes them a credential-leak risk if accidentally committed via \\\\`git add .\\\\`.\\n\\n## Why\\nBackground security review flagged \\\\`audit-fangraphs.mjs\\\\` at session start: the file (a one-off OGBA period-2 audit) hardcoded the Supabase pooler password. The file was untracked, never reached git history, and has since been deleted. This PR adds the pattern guard so the next ad-hoc audit script can't slip through.\\n\\n## What's ignored\\n- \\\\`/audit-*.mjs\\\\`\\n- \\\\`/audit-*.ts\\\\`\\n\\n(Both root-anchored. If a script is worth keeping, move it into \\\\`scripts/\\\\` and read \\\\`DATABASE_URL\\\\` from \\\\`process.env\\\\`.)\\n\\n## Test plan\\n- [x] N/A \u2014 gitignore-only change. \\\\`git status\\\\` no longer surfaces \\\\`audit-fangraphs.mjs\\\\` (also because it's deleted).\\n\\n\ud83e\udd16 Generated with [Claude Co\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-aa02a2b9d224664c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helic\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-38079d0723d7bb1c", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439648, "scanner": "foundry_dataset", "fingerprint": "c2431037b45f51072cf20b39aff308c37c781142066e42deb87acf03b46bd8a4", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#344", "human_labels": ["human_feedback_general", "test_ci_gap"], "issue_number": "344", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-5910da04510c2070", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 6, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#344\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: thirstypig/TheFantasticLeagues#344\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a745da8802a5fb9b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/344\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/344\\nTitle: fix: settlement auth guard, cache period-category standings, fmt3Avg re-export, standings MCP tools\\nBody:\\n## Summary\\n\\n- **#196** `fmt3Avg` in `client/src/api/base.ts` was a local copy; replaced with re-export from `../lib/sports/baseball` (already shipped in PR #337)\\n- **#198** `/period-category-standings` was calling `computeTeamStatsFromDb` directly, bypassing the 2-min shared cache; now routes through `getSeasonStandings` (already shipped in PR #336)\\n- **#199** `GET /standings/settlement/:leagueId` exposed payment handles (email, venmo, zelle, paypal) to any league member; added `requireCommissionerOrAdmin()` guard (already shipped in PR #336)\\n- **#205** New `standings_get_waiver_priority`, `standings_get_period`, and `standings_get_season` MCP tools in `mcp-servers/fbst-app/src/tools/standings.ts`; registered in `index.ts`; 5 smoke tests in `__tests__/standings.test.ts`\\n\\n## Test plan\\n- [ ] `cd mcp-servers/fbst-app && npx vitest run` \u2014 all tests pass including new standings suite (\"\n  },\n  {\n    \"id\": \"github-feedback-comment-18e6dea4d2d6692c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/344#issuecomment-4482973357\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/344#issuecomment-4482973357\\nTitle: \\nBody:\\nSuperseded by #345 which resolves merge conflict with commissioner tools (#339)\"\n  }\n]\nChanged files:\n[]\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-d7c79975d724cce1", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439647, "scanner": "foundry_dataset", "fingerprint": "f110177f8b6fcc95168cc5356d7b02434bd2d8372e9480cc2199b3b06b012a81", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#342", "human_labels": ["api_integration_gap"], "issue_number": "342", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-a8c1e21f57c72dcf", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#342\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: thirstypig/TheFantasticLeagues#342\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6d59f5d70dd25783\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/342\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/342\\nTitle: Fix ghost IL blocker + expand add/drop eligible drop candidates\\nBody:\\n## Summary\\n\\n- **Ghost IL**: Removes `assertNoGhostIl` from `preview-claim` and `claim` endpoints. A player stashed on the IL slot whose MLB status is no longer an active IL designation no longer blocks add/drop transactions \u2014 there is no league rule requiring forced activation.\\n- **Add/drop position slots**: Expands the client-side drop candidate filter (`filteredDropCandidates`) to include players eligible via `posList` for any of the new player's slots (indirect fit), not just players whose current `assignedPosition` directly matches. A 2B/SS player sitting in an SS slot now correctly shows up when adding a 2B-eligible player.\\n- **Server slot negotiation**: Adds `negotiateInheritedSlot` to `positionInherit.ts` \u2014 when the dropped player's current slot isn't one the new player can fill, finds the best shared eligible slot from the intersection of both players' eligible slots. Avoids an unnecessary bipartite \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c617c2138f85003c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_s\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-a1170d6fc551e17f", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439646, "scanner": "foundry_dataset", "fingerprint": "9f8c34b8670a23400f97bba9338b62c8c1bf1ef8c1f331fd963e93408f5dfdc3", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#334", "human_labels": ["data_schema_persistence"], "issue_number": "334", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-e4124eed3842bdfb", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#334\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: thirstypig/TheFantasticLeagues#334\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5ee526db5a0d797b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/334\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/334\\nTitle: test(mcp): contract tests for 4 new wire-list owner tools + fix VS Code TypeScript tsdk\\nBody:\\n## Summary\\n- Adds 14 contract tests to `mcp-servers/fbst-app/__tests__/contract.test.ts` for the four owner-write tools shipped in #334 (`delete_add`, `delete_drop`, `update_drop`, `revert_add`): input-schema validation, HTTP method/URL/body shape, and `WaiverDropModeSchema` drift detection\\n- Fixes VS Code TypeScript plugin by pointing `typescript.tsdk` at the project's TS 5.9.3 (`client/node_modules/typescript/lib`) instead of VS Code's bundled version\\n\\n## Test plan\\n- [ ] MCP fbst-app suite: 67/67 passing (was 53)\\n- [ ] Client suite: 751/751 passing (unchanged)\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-6fe372e8efc9de18\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verificat\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-5e3195b19b0e846b", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439645, "scanner": "foundry_dataset", "fingerprint": "e3ed1ad4dd33c31b111422754961252c5577a3f82d8fd9fd1e7de77eba7a03c8", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#254", "human_labels": ["data_schema_persistence"], "issue_number": "254", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-6be8ea68aadff5f0", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#254\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: thirstypig/TheFantasticLeagues#254\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d9f8a7c88b39ebe5\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/254#issuecomment-4392796453\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_comment\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/254#issuecomment-4392796453\\nTitle: \\nBody:\\nSuperseded \u2014 schema needs to model two independent lists (WaiverAddEntry + WaiverDropEntry) instead of a paired WaiverClaim row. Will follow once new design preview is signed off.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e89239197b8c45e3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-5ee522bcb19b601c", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439644, "scanner": "foundry_dataset", "fingerprint": "4100d549409d08a99ed54f39e115b88779c8d1ee6a344c6c293cfa6900b5fbaa", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#253", "human_labels": ["human_feedback_general"], "issue_number": "253", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.938, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-ca4cd9e9221facc6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#253\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: thirstypig/TheFantasticLeagues#253\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b7982e9d0c7b79c1\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/253#issuecomment-4392796209\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/253#issuecomment-4392796209\\nTitle: \\nBody:\\nSuperseded by upcoming preview rebuild for the two-list (independent Add + Drop) model. Old paired ADD+DROP design is no longer the spec.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-dfeb150cc1dcf1d0\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-2dbb84deacabb42e", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439643, "scanner": "foundry_dataset", "fingerprint": "40e43f5caf332c2f82370531c5e31c461bc8266c4e31703296f9316986cb8350", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#208", "human_labels": ["human_feedback_general"], "issue_number": "208", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.72, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a0b19749bc15a470", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#208\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: thirstypig/TheFantasticLeagues#208\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-84cc29a18eff0b5d\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/208#issuecomment-4357855863\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/208#issuecomment-4357855863\\nTitle: \\nBody:\\nRecovered as PR #210 (merged). Closing original \u2014 content shipped via cherry-pick recovery.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-1b2b93b716be61e7\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-86bff0e531b63a01", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439642, "scanner": "foundry_dataset", "fingerprint": "86593a5685d00181d4c6c316417c381624546246024298b55bd5d37868107f95", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#205", "human_labels": ["human_feedback_general"], "issue_number": "205", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.62, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-4895688f6fc401fa", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#205\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: thirstypig/TheFantasticLeagues#205\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-49ba7163c6f4ce9e\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/205#issuecomment-4357449384\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/205#issuecomment-4357449384\\nTitle: \\nBody:\\nDirection lock posted at PR #206 \u2014 answers to all 28 questions across 4 scenarios. Hub wiring proceeding now; FA/IL/complex deferred until Hub validates the architecture.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-a3deb45c27562fe2\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-471e17315980c7c3", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439641, "scanner": "foundry_dataset", "fingerprint": "089b2752ef58e932be937c670357d41f8135bab52164a483e4b254e34c773b3a", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#198", "human_labels": ["deployment_env_gap"], "issue_number": "198", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.581, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-9a8d50a0e576059f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#198\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: thirstypig/TheFantasticLeagues#198\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'deployment_env_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f4e03f2e925aaebd\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/198#issuecomment-4357449325\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/198#issuecomment-4357449325\\nTitle: \\nBody:\\nDirection lock posted at PR #206 \u2014 all 7 Hub questions answered. Production wiring agent dispatched same session.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-71a9082faefb4d65\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-ca81173dbb8085a1", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439640, "scanner": "foundry_dataset", "fingerprint": "b9a12da908e6b3c2d610033ab38494348183e563b41366fc9b03c015955826d4", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#187", "human_labels": ["human_feedback_general"], "issue_number": "187", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-b44a96623649fc8a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#187\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: thirstypig/TheFantasticLeagues#187\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-0b3c63a8c3691f45\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/187#issuecomment-4357882256\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/187#issuecomment-4357882256\\nTitle: \\nBody:\\nClosing \u2014 content needs re-recovery on a clean branch off current main. Conflicts with the post-stack-cascade state are too tangled for in-place rebase. Will reopen as recover/dos-hardening.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-f8428af43c76f596\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-52c23e682f805195", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 439639, "scanner": "foundry_dataset", "fingerprint": "28cfd92d2dca45275fa509dc81919e1ccc12cb7cfd7b6d2fc9a0f2578336b7f4", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "thirstypig/TheFantasticLeagues#120", "human_labels": ["ui_workflow_gap"], "issue_number": "120", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.592, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-f53fb947c31185e3", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: assumption_checks\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#120\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: thirstypig/TheFantasticLeagues#120\nRepo: thirstypig/TheFantasticLeagues\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: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4b82ba569c8211c7\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/120#issuecomment-4301578593\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/120#issuecomment-4301578593\\nTitle: \\nBody:\\nSuperseded by PR #117. The /now page block landed on main via #117's CLAUDE.md (identical content). Closing this PR to avoid a noise merge commit.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e7d0f1df671791de\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-assumption_checks-fc52822817f7c503", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460585, "scanner": "foundry_dataset", "fingerprint": "6447aef0c61581199927b7894b1eb32f1e4ecd48ed776209e7256d5e0d15c375", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 13, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 11, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#9", "issue_number": "9", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-a6f303e9160259b6", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#9\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#9\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#9\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 9\nGraph consistency label: weak_supervision_needs_review\nNodes: 11\nEdges: 13\nNode types: {'link_quality': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-70137471c30ba4fb", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460584, "scanner": "foundry_dataset", "fingerprint": "2d149b4880c90ecc0fac4e6f0cf2def7e666dabe9be17f0c9031f587f4282733", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "api_or_backend": 12, "schema_or_data": 1, "ui_or_frontend": 2, "ci_failure_signal": 1, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 54, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 15, "comment_chain_has_ci": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 3, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 28, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 1, "pr_file": 15, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#401", "issue_number": "401", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-ed17e57b823b82b2", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {"api_or_backend": 48, "schema_or_data": 4, "ui_or_frontend": 8}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#401\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#401\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#401\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 401\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 28\nEdges: 54\nNode types: {'pr_file': 15, 'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 15, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 3, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'api_or_backend': 12, 'verification_or_tests': 3, 'ambiguous_needs_more_evidence': 3, 'ui_or_frontend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'schema_or_data': 1, 'comment_has_related_commit_context': 1, 'ci_failure_signal': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-b07665d4a2fbb9f5", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460583, "scanner": "foundry_dataset", "fingerprint": "0d250278f35c5a90bb61f7ef9530e6948c403fb49d6becbc53294996856273b5", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_or_ci": 1, "test_ci_gap": 1, "api_or_backend": 1, "ui_or_frontend": 1, "verification_or_tests": 4, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 3, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#400", "issue_number": "400", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6a0ccdc278797c5e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 4, "ui_or_frontend": 4}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#400\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#400\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#400\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 400\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 25\nNode types: {'commit': 5, 'pr_file': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'thread_touches_file': 3, 'comment_chain_touches_file': 3, 'chain_has_link_quality': 3, 'issue_chain_touches_file': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'ui_or_frontend': 1, 'test_or_ci': 1, 'api_or_backend': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-bd8f55b3cae2c77c", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460582, "scanner": "foundry_dataset", "fingerprint": "52272a0a7613b090977b36837acd84b090bfb82fc5e7cc9e23b829ea182832c5", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "dependency_or_build": 1, "verification_or_tests": 4, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 19, "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": 5, "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": 5, "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": "thirstypig/TheFantasticLeagues#398", "issue_number": "398", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-78056ef495345099", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"dependency_or_build": 4}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#398\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#398\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#398\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 398\nGraph consistency label: supported_by_verification_signal\nNodes: 15\nEdges: 19\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 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_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: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'dependency_or_build': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-d69b1d5218e526b3", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460581, "scanner": "foundry_dataset", "fingerprint": "fba599c9217fc2ea3dce812219a5ec30697d969f4ef40240110772adc6a0ceb7", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 2, "test_ci_gap": 1, "docs_or_claims": 1, "verification_or_tests": 5, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 3, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#396", "issue_number": "396", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-20466a8919647c12", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 8, "docs_or_claims": 4}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#396\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#396\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#396\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 396\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 25\nNode types: {'commit': 5, 'pr_file': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'thread_touches_file': 3, 'comment_chain_touches_file': 3, 'chain_has_link_quality': 3, 'issue_chain_touches_file': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'docs_or_claims': 1, 'comment_has_related_commit_context': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-1be7b8cd8d329139", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460580, "scanner": "foundry_dataset", "fingerprint": "44339d212073e66440d3f631b2427a066ae0d1821a5dbb917f579ca1d8dc35f4", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "ui_or_frontend": 2, "dependency_or_build": 1, "verification_or_tests": 5, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 28, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 4, "chain_has_link_quality": 3, "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": 18, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#385", "issue_number": "385", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-81d0971cb40d519b", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 4, "ui_or_frontend": 8, "dependency_or_build": 4}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#385\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#385\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#385\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 385\nGraph consistency label: supported_by_high_confidence_link\nNodes: 18\nEdges: 28\nNode types: {'commit': 5, 'pr_file': 4, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'thread_touches_file': 4, 'comment_chain_touches_file': 4, 'issue_chain_touches_file': 4, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'ui_or_frontend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'test_or_ci': 1, 'dependency_or_build': 1, 'comment_has_related_commit_context': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-864d27f53cac5e31", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460579, "scanner": "foundry_dataset", "fingerprint": "942722d143ad155b0fafea626ca81b09871193d953e43fcc5e77c6566d4cd3ed", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "verification_or_tests": 4, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 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": "thirstypig/TheFantasticLeagues#368", "issue_number": "368", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-44bbc0df553aa533", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#368\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#368\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#368\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 368\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-4de224b056ec7818", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460578, "scanner": "foundry_dataset", "fingerprint": "497f9ac173bf41029962caa7171ce43d1d65f4ef46b185d42ae0297c6e260ae6", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "deployment_env_gap": 1, "verification_or_tests": 4, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 19, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#364", "issue_number": "364", "quality_tiers": {"high_confidence": 4}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-01e0ddd944617520", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#364\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#364\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#364\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 364\nGraph consistency label: supported_by_verification_signal\nNodes: 19\nEdges: 26\nNode types: {'commit': 7, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 4, 'bug_fix': 3, 'human_reported_issue_then_verified_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 4}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-642dfb621c923b78", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460577, "scanner": "foundry_dataset", "fingerprint": "d7f86f24d371e6f39cb196b409bd252cc498ec78ec3e763b7efc0a0a45e39e61", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 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": "thirstypig/TheFantasticLeagues#355", "issue_number": "355", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-4170c36fb5fc16b2", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#355\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#355\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#355\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 355\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-1fded89b01b1cde1", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460576, "scanner": "foundry_dataset", "fingerprint": "929699262a301cc6b9ecbbd75c95159557d0d486c0c57dc3134b51eb31e48844", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "ui_workflow": 1, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "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": 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": "thirstypig/TheFantasticLeagues#352", "issue_number": "352", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-0ae31aa84dbe6710", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#352\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#352\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#352\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 352\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, '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, 'ui_workflow': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-24bce636778bc5c4", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460575, "scanner": "foundry_dataset", "fingerprint": "ff51ab3f1ec7750aad1e3293daa85b67a73a982577d2985047ecbfb53b7f1902", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "verification_or_tests": 5, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#344", "issue_number": "344", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-84688b236891e53b", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#344\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#344\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#344\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 344\nGraph consistency label: weak_supervision_needs_review\nNodes: 18\nEdges: 22\nNode types: {'commit': 6, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 6, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'bug_fix': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-a53eafc953226be2", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460574, "scanner": "foundry_dataset", "fingerprint": "0de2fe3e4734ed854ce9995bcabd82fe02bd7d74b700b7640a474ad0aa1590a4", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 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": "thirstypig/TheFantasticLeagues#339", "issue_number": "339", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-609fa54c237021fd", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#339\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#339\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#339\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 339\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-202235ae59a1294c", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460573, "scanner": "foundry_dataset", "fingerprint": "073204f193a631d10e0cd23a26abbb7eb47dac340f122c40c95fda43ecda80ff", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "dependency_or_build": 1, "verification_or_tests": 4, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 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": "thirstypig/TheFantasticLeagues#331", "issue_number": "331", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-4be287beb903f1a1", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#331\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#331\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#331\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 331\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-0c9ef4bdad83b0ac", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460572, "scanner": "foundry_dataset", "fingerprint": "a404f69c05d3ff8637c96b3aff8cdce9fce7f4abdc3f068431367826e970f9a0", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "dependency_or_build": 1, "verification_or_tests": 4, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 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": "thirstypig/TheFantasticLeagues#330", "issue_number": "330", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-3064784c12fdb2d3", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#330\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#330\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#330\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 330\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-fbb6df8445819d9c", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460571, "scanner": "foundry_dataset", "fingerprint": "d36dd47913ef6e6ac2f2c3fc8d7742c06267acf70e5e0b4eece839f9df466223", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "dependency_or_build": 1, "verification_or_tests": 4, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 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": "thirstypig/TheFantasticLeagues#326", "issue_number": "326", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-85db7e958666b658", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#326\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#326\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#326\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 326\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-be5482e5e2f9f679", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460570, "scanner": "foundry_dataset", "fingerprint": "579d0d0b17a7787f43dd23b95943f42fc5bb0f62db5c1935dee03bd0326174cb", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "dependency_or_build": 1, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "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": 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": "thirstypig/TheFantasticLeagues#325", "issue_number": "325", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-fae771040ecb64b8", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#325\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#325\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#325\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 325\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, '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, 'dependency_or_build': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-45b90c970ac1ac74", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460569, "scanner": "foundry_dataset", "fingerprint": "fc0fff024c6f537c207f56a470fce61339e63eb584d174aba1eb15cbe2f63e9b", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "dependency_or_build": 1, "verification_or_tests": 4, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 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": "thirstypig/TheFantasticLeagues#324", "issue_number": "324", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-2151462f9dd26b46", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#324\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#324\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#324\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 324\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-4205d36d9f58b29b", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460568, "scanner": "foundry_dataset", "fingerprint": "0957b4e668da1a809838ee04a71a05b65fac93a295746b25941c140722f5231b", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "dependency_or_build": 1, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "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": 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": "thirstypig/TheFantasticLeagues#323", "issue_number": "323", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f01509d4e573d2ce", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#323\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#323\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#323\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 323\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, '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, 'dependency_or_build': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-d48290c6540adb39", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460567, "scanner": "foundry_dataset", "fingerprint": "99e7fe17fb30f57c37d0e77e8d6c551d5473d07272430bbe1af21ca6657d7d5e", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "dependency_or_build": 1, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "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": 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": "thirstypig/TheFantasticLeagues#322", "issue_number": "322", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-571e9b45b410a042", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#322\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#322\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#322\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 322\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, '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, 'dependency_or_build': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-8d5a40c490f6a95a", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 460566, "scanner": "foundry_dataset", "fingerprint": "88beafdae90035c6e56b0a50fd17f755b5d67fe0116c1b3eb8af1e9b840ae423", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "dependency_or_build": 1, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "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": 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": "thirstypig/TheFantasticLeagues#321", "issue_number": "321", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-ec0ddf42b6b8f0a2", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#321\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#321\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#321\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 321\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, '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, 'dependency_or_build': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-7783fbb59ad748cb", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 453902, "scanner": "foundry_dataset", "fingerprint": "2ccddede2ea6683998c2fbe0ac19799d6d4f341c22fa6eb9388e6acc2a25093b", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"test_ci_gap": 1, "api_or_backend": 12, "schema_or_data": 1, "ui_or_frontend": 2, "ci_failure_signal": 1, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 54, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 15, "comment_chain_has_ci": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 3, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 28, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 1, "pr_file": 15, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#401", "issue_number": "401", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-0501c51fafe65699", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {"api_or_backend": 48, "schema_or_data": 4, "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: contradicted_by_ci_or_failure_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#401\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#401\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#401\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 401\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 28\nEdges: 54\nNode types: {'pr_file': 15, 'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 15, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 3, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'api_or_backend': 12, 'verification_or_tests': 3, 'ambiguous_needs_more_evidence': 3, 'ui_or_frontend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'schema_or_data': 1, 'comment_has_related_commit_context': 1, 'ci_failure_signal': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {'ci_failure_signal': 2}\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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-6a23d740bb12bb49", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 453901, "scanner": "foundry_dataset", "fingerprint": "9eebceda33085bbfd8e070c47410a06be88d936c7ce53e784436630a34233bdc", "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, "verification_or_tests": 3, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "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": 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": "thirstypig/TheFantasticLeagues#347", "issue_number": "347", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-af293074c75d47a8", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#347\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#347\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#347\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 347\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, '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, 'data_schema': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-24b3fbbc97ba228f", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 453900, "scanner": "foundry_dataset", "fingerprint": "20ffdf864483ac69d19ac1f016b61ed9003ccaf4f0686dfe35a0ed1de3087355", "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": {"data_schema": 1, "verification_or_tests": 4, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "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": 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": "thirstypig/TheFantasticLeagues#343", "issue_number": "343", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-c4f3e4abc8a9bd4e", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#343\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#343\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#343\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 343\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 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, 'data_schema': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-ebea5ebb7bc1025e", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 453899, "scanner": "foundry_dataset", "fingerprint": "d4b0842d1623d4f201faade5f9800145b295a960471def407a58b6c606c358ae", "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": {"data_schema": 1, "verification_or_tests": 4, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "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": 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": "thirstypig/TheFantasticLeagues#338", "issue_number": "338", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-a619b0dc4401641c", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#338\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#338\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#338\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 338\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 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, 'data_schema': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-a3fd17654de2647b", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 453898, "scanner": "foundry_dataset", "fingerprint": "dd0b5b93f432195546da261e58dfe8dacbed3389e8f79a17935281a6d3287e3b", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"verification_or_tests": 5, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 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": "thirstypig/TheFantasticLeagues#334", "issue_number": "334", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-8f3a1868d20ad893", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#334\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#334\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#334\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 334\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: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-255cdb723cd00019", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 453897, "scanner": "foundry_dataset", "fingerprint": "8229dcf05c00a8191032d048efd899ad5d4c11715914497443c7008363b005e9", "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": {"data_schema": 1, "verification_or_tests": 4, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "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": 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": "thirstypig/TheFantasticLeagues#317", "issue_number": "317", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-093175a9769a1fb5", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#317\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#317\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#317\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 317\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 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, 'data_schema': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-99cb9622226c1813", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 453896, "scanner": "foundry_dataset", "fingerprint": "ec77bf9bbdec570b32da3101fd2515191f474d815082468a301f5065f6e8ab9f", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"verification_or_tests": 2, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 13, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 11, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#254", "issue_number": "254", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-ad9ed1bae25a18aa", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#254\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#254\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#254\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 254\nGraph consistency label: supported_by_high_confidence_link\nNodes: 11\nEdges: 13\nNode types: {'link_quality': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-58bcdb09a50ea29a", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445093, "scanner": "foundry_dataset", "fingerprint": "7c4b5b39bb6c8994eafbcf822fa7e87dabcc7125dc6f8b89df9990ef07e9891e", "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": "thirstypig/TheFantasticLeagues#8", "human_labels": ["security_auth_secret"], "issue_number": "8", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-9964e186d81c927f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#8\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: thirstypig/TheFantasticLeagues#8\nRepo: thirstypig/TheFantasticLeagues\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: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-46ad9a9df5bb7e49\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/8#issuecomment-4373785451\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/8#issuecomment-4373785451\\nTitle: \\nBody:\\nSuperseded by incremental work since Feb 2026. Route tests for standings/auth/trades already exist; modules have been refactored multiple times in the interim. Closing as stale.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-de1ba80a78b0069f\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-3ed4d434ae536155", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445092, "scanner": "foundry_dataset", "fingerprint": "850a858b20c05a508ac4bd9703ed1c97e4181faa1432bf018d4307da5437f34f", "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": "thirstypig/TheFantasticLeagues#392", "human_labels": ["api_or_backend", "docs_or_claims", "mock_placeholder"], "issue_number": "392", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-44a0f821e43bcef6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 9, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 1, "docs_or_claims": 8}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#392\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: thirstypig/TheFantasticLeagues#392\nRepo: thirstypig/TheFantasticLeagues\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: 9\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 8, 'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2b33016def072b90\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/392\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/392\\nTitle: docs(audit): definitive FG/TFL/BBRef reconciliation \u2014 P1 boundary-inflation root cause\\nBody:\\n## Summary\\n\\nPlayer-level re-investigation of the residual FG-vs-TFL divergence (continues the June 8 audit). The \\\"MLB API lag\\\" and \\\"retroactive scorer revisions\\\" explanations are **withdrawn** \u2014 every closed period now reconciles **exactly** across BBRef, FanGraphs, and TFL once TFL-side defects are corrected.\\n\\n### Findings (report Section 5)\\n- **P1 root cause:** stored `PlayerStatsPeriod` rows include **April 19** (P2's first day) \u2014 last sync ran under the old boundary; closed periods never re-sync. Per-team `stored \u2212 fresh MLB fetch` reproduces the TFL\u2212FG delta cell-for-cell (e.g. Robbie Ray +7 K = his 4/19 start). Fresh recompute = FG exactly, 8/8 teams.\\n- **P2:** 100% exact match. TSH's apparent +11 RBI / \u22121 W / \u22121 K were subtraction-derivation artifacts (P4 games already inside \\\"Accumulated\\\"); proven via FG's own YTD page.\\n- **BBRef (LDY P2):** re-verified with **pitcher decisions**:\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-1e7e2691d363396d\",\n    \"filename\": \"docs/reports/onroto-audit-2026-06-08.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 157,\n    \"deletions\": 36,\n    \"changes\": 193,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/b491571a259be486f1bf7dc21e287f7f6be0b5af/docs%2Freports%2Fonroto-audit-2026-06-08.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-2683335c09c8eb1d\",\n    \"filename\": \"docs/solutions/logic-errors/closed-period-psp-frozen-with-stale-boundary.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"added\",\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-6341d0196709d1fb", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445091, "scanner": "foundry_dataset", "fingerprint": "4a82900c12861a21aa21e0f65ac0b5f7a3af493da2edeb4dfc70359ab27d1635", "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": "thirstypig/TheFantasticLeagues#388", "human_labels": ["docs_or_claims", "mock_placeholder"], "issue_number": "388", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-7d30b1001cfaf490", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"docs_or_claims": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#388\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: thirstypig/TheFantasticLeagues#388\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-60fa561478b48c6a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/388\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/388\\nTitle: docs(audit): add P2/P3 FG raw stats + correct P3 methodology finding\\nBody:\\n## Summary\\n- **P2**: All 8 teams now complete with FG raw stats. Los Doyers shows FG W=15 vs TFL W=9, FG K=166 vs TFL K=102 \u2014 explains the \u22126.0 rank gap exactly.\\n- **P3**: Exact match confirmed. All 80 data points are identical between FG and TFL for Period 3. Corrects the previous DMK +16.5 / DLC \u221212.0 finding \u2014 those compared TFL period-3 ranks vs FG cumulative season standings (wrong comparison).\\n- **Root cause clarified**: MLB Stats API lag closes as stats finalize. P3 is fully converged; P1/P2 divergence is real-time lag, not a system error.\\n- Executive summary, P2 table, P3 section, and gap analysis summary all updated.\\n\\n## Test plan\\n- [ ] Period 3 section shows single combined table with all-zero delta column\\n- [ ] Period 2 FG raw stats table has all 8 teams (no more \u207b placeholders)\\n- [ ] Executive summary bullet 3 reads \\\"Exact match \u2014 zero divergence\\\"\\n- [ ] Gap analysis table Period 3 column shows \"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-113a20b538075d4e\",\n    \"filename\": \"docs/reports/onroto-audit-2026-06-08.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 94,\n    \"deletions\": 51,\n    \"changes\": 145,\n    \"blob_url\": \"https://github.com/thirstypig/TheFantasticLeagues/blob/6b6763e209decf52caddcda1809ddaf5c89dc0bb/docs%2Freports%2Fonroto-audit-2026-06-08.md\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-388a9f3d4b47f980\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdge\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-c0701a9ebab484da", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445090, "scanner": "foundry_dataset", "fingerprint": "2ac4add12a7c26410eb2786f061fb51752bed6863c17257ec8ce54c2ce93e97f", "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": "thirstypig/TheFantasticLeagues#382", "human_labels": ["mock_placeholder"], "issue_number": "382", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.849, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c5cee29a3a75d0a0", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#382\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: thirstypig/TheFantasticLeagues#382\nRepo: thirstypig/TheFantasticLeagues\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-2aaf23788daf6fce\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/382\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/382\\nTitle: fix(teamService): include rosterVersion in getTeamRosterHub response\\nBody:\\n## Summary\\n- `getTeamRosterHub()` declares `Promise<RosterHubResponse>` but was returning an object without `rosterVersion`\\n- `RosterHubResponseSchema` has required `rosterVersion: z.number().int()` since the rosterVersion etag feature (todo #181) was merged\\n- Fix: fetch `team.rosterVersion` in parallel with `getTeamSummary` and include it in the return\\n\\n## Root cause\\nThe rosterVersion feature added `rosterVersion` to `RosterHubResponseSchema` (shared/api/teams.ts) but didn't update `teamService.getTeamRosterHub()` to populate it. PRs created before that merge passed CI with the old schema; PR #381 was the first to run CI against the full current main.\\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-f68dd79592cd25be\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle lab\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-243c922cfe9be46c", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445089, "scanner": "foundry_dataset", "fingerprint": "47421920f79203760a60485fd484d4003cbf277ca72c7346b1f2aa8afbfe39db", "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": "thirstypig/TheFantasticLeagues#380", "human_labels": ["mock_placeholder"], "issue_number": "380", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-b89e5b920b7e4f66", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 4, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#380\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: thirstypig/TheFantasticLeagues#380\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 4\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-587b32209986fe6a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/380\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/380\\nTitle: fix(security+schema): IDOR period scope + AppliedReassignment mlbId (#263 #267)\\nBody:\\n## Summary\\n\\nFixes two pre-existing issues in main-branch code surfaced by the 2026-06-05 code-review session:\\n\\n- **#263 (P2 Security \u2014 IDOR):** `GET /api/standings/period-category-standings` resolved `periodId` via `findUnique({ where: { id: pid } })` with no `leagueId` scope. An authenticated member of League A could probe any integer `periodId` to learn whether it exists in another league. Fixed with `findFirst({ where: { id: pid, leagueId } })` + 403 guard when the period doesn't belong to the authenticated league.\\n\\n- **#267 (P2 Schema drift):** `AppliedReassignmentSchema` in `shared/api/rosterMoves.ts` was missing `mlbId`. PR #377 added `mlbId: number | null` to the server-side `AppliedReassignment` interface, but the shared Zod schema wasn't updated. Client and MCP consumers couldn't use `reassignment.mlbId` without a TS error. Added `mlbId: z.number().nullable().optional()` (optional for b\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-def60f70c1513c10\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-2d254cdfa21d8763", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445088, "scanner": "foundry_dataset", "fingerprint": "56c097d7526614acf4f87ea284b4734c78f720ade1ef6bcaa291ce35e2ca20f0", "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": "thirstypig/TheFantasticLeagues#379", "human_labels": ["mock_placeholder"], "issue_number": "379", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c573f5c18486b8c1", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#379\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: thirstypig/TheFantasticLeagues#379\nRepo: thirstypig/TheFantasticLeagues\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-78b29826fd5f5db2\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/379\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/379\\nTitle: feat(hub): partial-success save semantics via commitChange (#183)\\nBody:\\n## Summary\\n\\nImplements Option 2 of todo #183 \u2014 per-change commit semantics that give users accurate real-time feedback during a save.\\n\\n**The problem:** When saving a 5-change batch and change #3 fails, the pending bar still shows \\\"5 changes\\\" \u2014 including the 2 that already committed to the server. Users can't tell what's left vs. what landed.\\n\\n**The fix:** `usePendingChanges` now exposes `commitChange(id)` which `saveFn` callers invoke after each individual mutation succeeds. The queue shrinks in real time. On failure, only the uncommitted changes remain.\\n\\n**Changes:**\\n- `commitItem` action + reducer case \u2014 removes a single change by id (like `revertItem` but semantically \\\"committed, not cancelled\\\")\\n- `UsePendingChangesOptions.saveFn` grows an optional 3rd `commitChange?: (id: string) => void` parameter \u2014 optional so existing callers compile without changes\\n- `save()` passes a dispatcher as the 3rd argument to\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-72c4f13dcc8f76e3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-93f9adf8d449ffe9", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445087, "scanner": "foundry_dataset", "fingerprint": "b1b3e75117945946385140daf67b44d28e83da79ed71028f268caea43bf8c482", "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": "thirstypig/TheFantasticLeagues#377", "human_labels": ["mock_placeholder"], "issue_number": "377", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-258d857c57b93707", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 4, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#377\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: thirstypig/TheFantasticLeagues#377\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 4\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-25b0cfea5c02d184\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/377\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/377\\nTitle: fix(api): agent-native polish \u2014 mlbId in reassignments, fetchJsonPublic AbortSignal, eligible-slots note (#126)\\nBody:\\n## Summary\\n\\n- **Item 1 \u2014 `mlbId` in `appliedReassignments`**: Adds `mlbId: number | null` to the `AppliedReassignment` interface. Extends `buildCandidatesForTeam` to fetch and return a `playerMlbIds: Map<number, number | null>` alongside `playerNames`. Updates `applyAssignments` with an optional `playerMlbIds` parameter included in each output row. All three mutation routes (claim, il-stash, il-activate) now populate and pass the map through \u2014 covering both the bipartite-matcher path and the owner-directed slotChanges path.\\n- **Item 2 \u2014 `fetchJsonPublic` AbortSignal**: Adds `init?: RequestInit` second parameter. Merges caller signal via `init?.signal ?? AbortSignal.timeout(DEFAULT_TIMEOUT_MS)` so callers can pass `{ signal }` for abort control (e.g., React `useEffect` cleanup) without losing the default 30s timeout.\\n- **Item 3 \u2014 eligible-slots `requireLeagueMember\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-244f4bb1e427fbc3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\":\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-f817366c6b11b78b", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445086, "scanner": "foundry_dataset", "fingerprint": "adac84bc3aba7e89a19de1cf7f74b6845d83c6f14bc11f85a953b2348ae02b8f", "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": "thirstypig/TheFantasticLeagues#363", "human_labels": ["mock_placeholder"], "issue_number": "363", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-cb584d1894bcb7b0", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#363\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: thirstypig/TheFantasticLeagues#363\nRepo: thirstypig/TheFantasticLeagues\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-000a213adf09f04f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/363\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/363\\nTitle: feat(roster-moves): TransactionResultModal a11y \u2014 portal + focus trap + return-focus + scoped ESC\\nBody:\\n## Summary\\n\\n`TransactionResultModal` previously declared \\\\`aria-modal=\\\\\\\"true\\\\\\\"\\\\` but didn't enforce the contract. This PR brings it to parity with the \\\\`SaveDiffPreviewModal\\\\` precedent. Closes **#235** (P2) and **#237** (P3) \u2014 the dedicated test file folded in.\\n\\n**\u26a0\ufe0f Stacked on PR #361** (\\\\`chore/pr-359-cleanup-typing\\\\`). Will retarget base to \\\\`main\\\\` after #361 squash-merges (memory \\\\`feedback_stacked_pr_squash_merge.md\\\\`).\\n\\n## What changed\\n\\n- **\\\\`createPortal\\\\`** to \\\\`document.body\\\\` \u2014 modal escapes ancestor stacking contexts; \\\\`z-index: 1000\\\\` can never be sandwiched under a sibling with \\\\`transform\\\\` / \\\\`filter\\\\` / \\\\`will-change\\\\`.\\n- **Focus trap** \u2014 \\\\`onKeyDown\\\\` on the dialog div intercepts Tab and Shift+Tab and cycles between the first and last focusable inside the dialog.\\n- **Return-focus on dismiss** \u2014 \\\\`useLayoutEffect\\\\` captures \\\\`document.activeElement\\\\` BEFORE mo\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e2fec4c78c9c7595\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-fa8d071a4004fd66", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445085, "scanner": "foundry_dataset", "fingerprint": "ec8a4b8ce6b06d0743d687bcfebbfe90208d69e2c22b2d187940968d5f2c5489", "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": "thirstypig/TheFantasticLeagues#350", "human_labels": ["mock_placeholder"], "issue_number": "350", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.842, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-1c4083d826a09efd", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#350\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: thirstypig/TheFantasticLeagues#350\nRepo: thirstypig/TheFantasticLeagues\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-9fbd2fa3b8870acf\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/350\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/350\\nTitle: feat(commissioner,admin): redesign hub pages with job-shaped IA\\nBody:\\n## Summary\\n\\n- **Commissioner Hub**: Restructures 5 ad-hoc tabs (league/members/season/manage-rosters/health) \u2192 6 job-shaped sections matching the design handoff IA\\n  - **Overview**: Quick-stat cards + LeagueHealthTab\\n  - **Teams & People**: Teams list, create/assign forms, invite code, members, pending invites\\n  - **Settings**: League settings, waiver config, trade settings, commissioner controls, auction link\\n  - **Operations**: Ghost-IL banner, KeeperPrepDashboard, RosterControls, CommissionerRosterTool, BulkOpsPanel\\n  - **Finances**: Entry fee section + placeholder\\n  - **Archive**: SeasonManager only\\n  - Hash redirects: `#league\u2192#settings`, `#members\u2192#people`, `#season\u2192#archive`, `#manage-rosters\u2192#ops`, `#health\u2192#overview`\\n\\n- **Admin Hub**: Flat dashboard \u2192 5-tab chrome (Overview / Leagues / Users / Errors / Maintenance)\\n  - League Tools promoted from collapsible `<details>` to dedicated Leagues tab\\n  - Erro\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-a5f40d977d5d8268\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_ar\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-ec296ff6886d2822", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445084, "scanner": "foundry_dataset", "fingerprint": "5836dc7e0ccb9adabf74fd7718ddd692bed1e7f1e67004f49eab7e004a6c4c4d", "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": "thirstypig/TheFantasticLeagues#348", "human_labels": ["mock_placeholder"], "issue_number": "348", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-e0bbd3b65c66196b", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#348\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: thirstypig/TheFantasticLeagues#348\nRepo: thirstypig/TheFantasticLeagues\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-043ee349b5445ccb\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/348\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/348\\nTitle: feat(wire-list): slot rearrangement on Add and Drop entries\\nBody:\\n## Summary\\n\\n- Owners can now specify slot rearrangements at the time they add or drop entries on their Wire List\\n- Two new nullable `slotChanges Json?` columns on `WaiverAddEntry` and `WaiverDropEntry` store owner-directed position moves\\n- `finalizePeriod` applies drop-entry slot changes first, then add-entry changes (add wins on conflict), with per-row eligibility validation inside the existing transaction\\n- `succeedAdd` skips the `POSITION_INCOMPATIBLE` check when the add entry carries non-empty `slotChanges` (owner has pre-arranged a slot)\\n- `SlotEditor` \u2014 new collapsible Score Sheet component (inline `--am-*` styles, no Tailwind) showing Player / Eligible / Current / Move-to table; renders below each row in `WireListOwnerPage`\\n\\n## Test plan\\n\\n- [ ] `npm run test:server` \u2014 `processorService` fixture updated with `slotChanges: null`; all 1110 server tests green\\n- [ ] `npm run test:client` \u2014 `useWireListOwner.test.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-cead3413036e1643\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_arti\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-8f2851d88bdc3d6d", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445083, "scanner": "foundry_dataset", "fingerprint": "bde8f2ac74ec30fa70fdeecd388d5677729013fb6a6147965819439c111c61e2", "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": "thirstypig/TheFantasticLeagues#345", "human_labels": ["mock_placeholder"], "issue_number": "345", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-5ce5798a76620197", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 4, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#345\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: thirstypig/TheFantasticLeagues#345\nRepo: thirstypig/TheFantasticLeagues\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 4\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-11c504e9efbfed1a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/345\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/345\\nTitle: feat(mcp): add standings tools to fbst-app MCP server (todo #205)\\nBody:\\n## Summary\\n- Adds `standings_get_waiver_priority`, `standings_get_period`, and `standings_get_season` tools to the fbst-app MCP server\\n- 5 smoke tests included\\n- Rebased on main after PR #339 (commissioner tools) to resolve `index.ts` conflict\\n\\n## Test plan\\n- [x] `npx vitest run` in `mcp-servers/fbst-app/` \u2014 72 tests pass\\n\\nCloses todo #205\\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-764eb448bd6a4ad8\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-53a7cfa96e94d8c6", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445082, "scanner": "foundry_dataset", "fingerprint": "3680bdc200c9a9c2bf33d12734068404426ff0d87197f5f873b61350780e284d", "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": "thirstypig/TheFantasticLeagues#337", "human_labels": ["mock_placeholder"], "issue_number": "337", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-33441fdda540b467", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#337\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: thirstypig/TheFantasticLeagues#337\nRepo: thirstypig/TheFantasticLeagues\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-7f474ad56e4fbcf2\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/337\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/337\\nTitle: fix(client,standings): fmt3Avg canonical re-export + orphaned IL_ACTIVATE warning\\nBody:\\n## Summary\\n\\n- **`client/src/api/base.ts`** (todo #196): Replaced the local copy of `fmt3Avg` (lines 285\u2013289) with a single combined re-export `export { fmt3Avg, fmtRate } from \\\"../lib/sports/baseball\\\"`. The local copy was an independent duplicate of the canonical implementation in `lib/sports/baseball.ts` and would silently diverge on any future update. `fmtRate` was already a re-export; this consolidates both into one statement.\\n- **`server/src/lib/ilWindows.ts`** (todo #202): Added a `console.warn` for orphaned `IL_ACTIVATE` events (those with no matching `IL_STASH`). Previously these were silently discarded, producing incorrect IL windows with no diagnostic signal when data-integrity violations occurred (manual DB edits, migration gaps, etc.).\\n- Todo files #196 and #202 renamed from `pending` to `complete`.\\n\\n## Test plan\\n\\n- [x] `cd client && npx tsc --noEmit` \u2014 clean\\n- [x] `cd server && npx\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ded40db4d685cce0\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_art\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-4d801f82ee839998", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445081, "scanner": "foundry_dataset", "fingerprint": "34ac4eb4c7f9607ec6674e9b88789bbbd5d23723d0453899b95392ab4e6568c8", "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": "thirstypig/TheFantasticLeagues#336", "human_labels": ["mock_placeholder"], "issue_number": "336", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-c47e3e4411089880", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#336\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: thirstypig/TheFantasticLeagues#336\nRepo: thirstypig/TheFantasticLeagues\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-651731e81f02a1be\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/336\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/336\\nTitle: fix(standings): commissioner-only settlement endpoint + cache period-category-standings\\nBody:\\n## Summary\\n\\n- **Security (todo #199, p2):** `GET /standings/settlement/:leagueId` now uses `requireCommissionerOrAdmin()` instead of `requireLeagueMember`. Any league member could previously call this endpoint and enumerate all other owners' `email`, `venmoHandle`, `zelleHandle`, and `paypalHandle`. Now only commissioners and admins can access it.\\n\\n- **Performance (todo #198, p1):** `/period-category-standings` now routes through the existing 2-minute `getSeasonStandings` cache instead of calling `computeTeamStatsFromDb` directly N times per request (up to 25 raw DB queries per Season page load with 5 periods). Falls back to a direct DB call only when the requested period isn't in the cache (e.g., a period that postdates the last cache fill).\\n\\n## Files changed\\n- `server/src/features/standings/routes.ts` \u2014 the two fixes\\n- `server/src/features/standings/__tests__/routes.test.ts` \u2014 3 new se\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e83429e00d8e687d\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifa\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-fd69e898b1b5247d", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445080, "scanner": "foundry_dataset", "fingerprint": "953a541ec12084e1c81d9d7ed171eab27ec1c4de38ce1bf3e4b799b316916123", "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": "thirstypig/TheFantasticLeagues#335", "human_labels": ["mock_placeholder"], "issue_number": "335", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-b2f760f6af54b64e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#335\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: thirstypig/TheFantasticLeagues#335\nRepo: thirstypig/TheFantasticLeagues\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-c36fc614f79a73ec\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/335\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/335\\nTitle: fix(standings): countedPlayers ordering bug, attribution docs, parallelize ilEvents query\\nBody:\\n## Summary\\n\\n- **#195 (P1):** Move `countedPlayers.add` to after all attribution guards in `computeWithPeriodStats`. Previously it fired before the IL check and `currentTeam !== t.id` check, so a released entry returned first by Prisma could claim the dedup slot and silently block the active entry (e.g. a same-team re-acquisition in the same period would credit nothing to either team).\\n- **#203 (P2):** Fix `statsMap.get(roster.player.id)` \u2192 `statsMap.get(roster.playerId)` \u2014 inconsistent with how `statsMap` is keyed; harmless when `player.id === playerId` but semantically wrong.\\n- **#200 (P2):** Parallelize `ilEvents` and `periodStatCount` queries with `Promise.all` \u2014 no data dependency between them.\\n- **#197 (P1):** Replace the terse \\\"Prefer PlayerStatsPeriod\\\" comment with full two-path attribution semantics documentation, including the known ~13h retroactive-shift risk when a trade hap\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b9d2702d1f1815f0\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifac\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-bfea661ff4910b71", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445079, "scanner": "foundry_dataset", "fingerprint": "d51217a36ebb5d40bdc99d22a63b0b9ccb044d1981fa78024b8b412af45d062d", "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": "thirstypig/TheFantasticLeagues#328", "human_labels": ["mock_placeholder"], "issue_number": "328", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-46f3f92622bc760d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#328\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: thirstypig/TheFantasticLeagues#328\nRepo: thirstypig/TheFantasticLeagues\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-e32eeb8b8a5879af\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/328\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/328\\nTitle: docs(claude.md): append behavioral rules for how Claude answers\\nBody:\\n## Summary\\n\\nAppends a **How to Answer (Behavioral Rules)** section to CLAUDE.md with 13 universal rules (no flattery, steelman counterarguments before agreeing, label confidence, say \\\"I don't know\\\" when you don't, recency caveats on stale training data, etc.) plus a Memory Loop sub-section formalizing Claude's role as co-maintainer of project knowledge.\\n\\n## What was intentionally NOT pasted\\n\\nThe source template had a \\\"PROJECT CONTEXT\\\" section with bracket placeholders (`[your role...]`, `[Decision 1]`, `[Area 1...]`). Pasting that verbatim would land literal `[your role...]` strings into project memory \u2014 not useful. Holding those for a follow-up commit once the user fills them in.\\n\\n## Why this is a separate PR\\n\\nStacking behavioral changes onto an in-flight feature branch (slice 5b PR-3 lineup edit, #327) would conflate two unrelated diffs. Docs-only changes deserve their own audit trail. Targets `main` directly\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-680d726aebd94893\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-8147b17164cfab7e", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445078, "scanner": "foundry_dataset", "fingerprint": "35c00f131f080ad7e9dd761b14608c050851bcf481c187bf5e9e9b402621450f", "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": "thirstypig/TheFantasticLeagues#327", "human_labels": ["mock_placeholder"], "issue_number": "327", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-f70df7170bf0dde6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#327\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: thirstypig/TheFantasticLeagues#327\nRepo: thirstypig/TheFantasticLeagues\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-5c7b9b26b6a246b8\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/327\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/327\\nTitle: feat(mobile): lineup edit via per-row move sheet (slice 5b PR-3)\\nBody:\\n## Summary\\n\\nSlice 5b PR-3 \u2014 lineup edit on MobileTeam. Stacks on top of #326. Wires per-row position changes to the existing `updateRosterPosition` endpoint via a per-row \\\"\u2026\\\" button \u2192 bottom sheet flow.\\n\\n## Design tradeoff: button vs. long-press\\n\\nThe spec said \\\"drag-to-bench replaced with long-press menu.\\\" Shipped an **explicit per-row \\\"\u2026\\\" affordance** instead because long-press has poor discoverability on web (no touch hint) and the gesture detection needs touch+mouse parity that's prone to flakiness. The action sheet itself matches the spec's design \u2014 bottom-up, eligible-slots grid, current slot highlighted iridescent.\\n\\n## What ships\\n\\n- **Per-row move button** on MobileTeam \u2014 visible only when `canEdit` (own team OR admin) and not on the IL tab (IL stash/activate is slice 5b PR-4).\\n- **`MobileTeamMoveSheet`** \u2014 bottom sheet with backdrop overlay, slot buttons in `POS_ORDER` + Bench. Current slot highlighted \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-25fac04072cbeb47\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_sour\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-31e0e4d21e4d7a5e", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445077, "scanner": "foundry_dataset", "fingerprint": "bc55e38bb0dc98604230f9716f7e12e19e6d03f6bdecd710c88147b48a297fd0", "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": "thirstypig/TheFantasticLeagues#320", "human_labels": ["mock_placeholder"], "issue_number": "320", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-ae65c9f57881bb30", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#320\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: thirstypig/TheFantasticLeagues#320\nRepo: thirstypig/TheFantasticLeagues\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-c93e07ad2c77c25f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/320\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/320\\nTitle: feat(mobile): aurora mobile gate + shell + MobileStandings (slice 1 of 5)\\nBody:\\n## Summary\\n\\nFirst slice of the Aurora Mobile rollout per `docs/design/aurora-mobile/Mobile Handoff Prompt.md`. Ships the chrome (gate + shell + atoms + dock) plus the **first wired mobile page** (Standings). Desktop is untouched.\\n\\nThe remaining four pages (Home, Players, Team, More) follow as separate PRs against the same gate.\\n\\n## What's wired\\n\\n- **`useMediaQuery('(max-width: 767px)')`** \u2014 fresh hook, decides the chrome at runtime.\\n- **`MobileLayoutGate`** wraps the protected route tree and swaps between `AuroraShell` (\u2265 768px) and `MobileShell` (\u2264 767px). The route tree itself is *unchanged* \u2014 deep links still resolve. The shell reads `useLocation()` and substitutes a mobile twin page when one exists, otherwise falls through to the desktop child. This is approach **(A)** route-aware shell from the brainstorm.\\n- **`MobileShell`** consumes `useTheme()` / `useLeague()` / `useAuth()` from the existing p\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-02def9a6ef241643\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_arti\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-c606c52a49485e7d", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445076, "scanner": "foundry_dataset", "fingerprint": "4e9479bb00cd7c354c7ea23fa0521ad697f3ee41e55b22a49411531598d69fc1", "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": "thirstypig/TheFantasticLeagues#319", "human_labels": ["mock_placeholder"], "issue_number": "319", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-088842e7fcbcd525", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#319\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: thirstypig/TheFantasticLeagues#319\nRepo: thirstypig/TheFantasticLeagues\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-0f1bd8b24d2e7c49\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/319\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/319\\nTitle: docs+test(session-wrap): 2026-05-08 \u2014 code-review backlog cleanup + ManagePanel coverage\\nBody:\\n## Summary\\nSession wrap-up artifact for the 22-PR code-review backlog-cleanup session that ran 2026-05-08.\\n\\n| Layer | What |\\n|---|---|\\n| **Tests** | +11 unit tests for `ManagePanel` (PR #309 / todo #150) \u2014 pin the regressions tsc can't catch |\\n| **Solution doc** | New `docs/solutions/runtime-errors/mixed-zod-versions-mcp-sdk-tool-registration.md` capturing PR #296's CI failure with prevention + sibling-library callout |\\n| **Doc sync** | CLAUDE.md + TESTING.md + CURRENT_STATUS.md test counts (1825 \u2192 1844) |\\n| **Session log** | FEEDBACK.md appended with the 22-PR table, backlog status, process learnings |\\n\\n## Why now\\nThe session shipped 22 PRs without a final wrap. Test counts had drifted on three docs, the FEEDBACK log was last touched 2026-03-03, and the most compounding-worthy problem of the session (Mixed Zod versions, PR #296) had no `docs/solutions/` entry. This PR closes all four t\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-a29136dbd107430e\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_art\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-8ffa09538cc1b886", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445075, "scanner": "foundry_dataset", "fingerprint": "65c426adf1d024b1c29d0fb70d189f457f51bb2471b6de19dc1a3f943a584d62", "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": "thirstypig/TheFantasticLeagues#318", "human_labels": ["agent_instruction_gap"], "issue_number": "318", "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": "thirstypig/TheFantasticLeagues", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-27080123ba143fae", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#318\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: thirstypig/TheFantasticLeagues#318\nRepo: thirstypig/TheFantasticLeagues\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-a5df5bb143acec47\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/318\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/318\\nTitle: chore(todos): rename 4 leftovers from this session\\nBody:\\nMechanical: 4 todos shipped this session whose agent forgot to rename the file. Same shape as PR #297 / #306. Filename (pending \u2192 complete) and YAML status updated. No code changes.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-2c6a293b2f68728b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 4, \"schemas\": 3, \"tests\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-b73c149e7dcc700a", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445074, "scanner": "foundry_dataset", "fingerprint": "800995ec24ebbea78f91b8ef604ae2e3edbd64680c61a1561149cf0ebc2e0004", "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": "thirstypig/TheFantasticLeagues#316", "human_labels": ["mock_placeholder"], "issue_number": "316", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-64377529e1aaca49", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#316\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: thirstypig/TheFantasticLeagues#316\nRepo: thirstypig/TheFantasticLeagues\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-9cc0e05a587333c1\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/316\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/316\\nTitle: chore(todos): consolidate v3-hub deferred follow-ups (#128)\\nBody:\\n## Summary\\n\\nCloses todo #128 \u2014 the consolidation index for the 4 deferred roster-hub-v3 follow-ups \u2014 by splitting it into 4 dedicated tracking todos so future sessions can attach design notes (rather than re-rediscovering the deferred items from inline comments + memory).\\n\\nThis is a **pure docs/comments PR** \u2014 no logic, schema, or behavior changes.\\n\\n### New todos created\\n\\n- **#180** \u2014 Real per-position GP via `Player.posGames` JSON column + `syncPositionEligibility` cron update (replaces the synthetic 60/40 GP distribution)\\n- **#181** \u2014 `rosterVersion` etag for cross-tab safety on roster PATCH (Team-level monotonic counter recommended)\\n- **#182** \u2014 Drag-to-mutate via dnd-kit (drop handler queues into `usePendingChanges`)\\n- **#183** \u2014 Pending-changes save/revert flow (per-row PATCH semantics \u2014 atomic batch endpoint vs partial-success UX)\\n\\n### Inline comments updated to cite new todos\\n\\n- `client/src/features/teams/li\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-adff8fac7760b353\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-5bf0b8e1e0c5cbfb", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445073, "scanner": "foundry_dataset", "fingerprint": "0c74a22fac5b21026b82803d92925812d5bff463c4ae69926730bf12b0244577", "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": "thirstypig/TheFantasticLeagues#315", "human_labels": ["mock_placeholder"], "issue_number": "315", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-68d28506358568af", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#315\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: thirstypig/TheFantasticLeagues#315\nRepo: thirstypig/TheFantasticLeagues\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-111848622ea07a93\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/315\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/315\\nTitle: chore(client): pr #234 follow-ups (todo #154)\\nBody:\\n## Summary\\n\\nCloses the three small follow-ups from `/ce:review` on PR #234. All three are client-side; bundled into one sweep per the todo's recommended Option 1.\\n\\n### 1. Extract `home-bento` CSS to a page-local sheet\\n- `aurora.css` is the design-system token sheet imported by 10+ pages \u2014 Home-specific bento grid doesn't belong there.\\n- New file: `client/src/pages/home.css` (receives `.home-bento`, `.home-span-*`, `.home-column`, `.home-quick-grid` + their two media queries).\\n- `pages/Home.tsx` now imports `./home.css` alongside the existing `aurora.css`.\\n- Precedent for \\\"extract to `aurora.css` once the patterns are validated, not on first move\\\" is documented in `rosterHub.css`.\\n\\n### 2. Update stale memo comment in `EligibilityChips.tsx`\\n- The doc-comment claimed memoization came from a `React.memo` wrapper on the parent `RosterRow`.\\n- That wrapping was removed in PR #234. The cheap-render story is now just the `useMemo` cache \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-11dfa3a4c51c2157\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-a84ad8b972695cb9", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445072, "scanner": "foundry_dataset", "fingerprint": "ed790a214cbc7a6f19ec0792e1e628e09abb125fe2d7ef39f8ea2db79eb2f396", "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": "thirstypig/TheFantasticLeagues#314", "human_labels": ["mock_placeholder"], "issue_number": "314", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-c3b057896b3d4c6e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#314\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: thirstypig/TheFantasticLeagues#314\nRepo: thirstypig/TheFantasticLeagues\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-6ce2ad3e58ca9476\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/314\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/314\\nTitle: chore(awards, mlb-feed): cleanup nits bundle (todo #129)\\nBody:\\n## Summary\\n\\nResolves todo #129 (P3 cleanup nits bundle, server-side scope only).\\n\\nThree small cleanups from the 9-agent review pass:\\n\\n- `awards/awardsService`: drop `as \\\"SP\\\" | \\\"RP\\\"` cast \u2014 conditional already produces the union; use `as const` per branch.\\n- `awards/awardsService`: `Number.isFinite` guard at top of `zScores` \u2014 Prisma `_sum` is `number | null` and `?? 0`'d at call site, but a single non-finite slip would poison the entire ranking with NaNs.\\n- `mlb-feed/digestRoutes`: replace two `as any` casts on Prisma JSON column writes (digest persist, vote update) with `Prisma.InputJsonValue`.\\n\\n## Skipped from the todo bundle\\n\\n| Item | Disposition |\\n|------|-------------|\\n| #1 `Team.tsx:456 void totalSpent` | Client-only, owned by another agent this round |\\n| #2 `dashboardService countByModel` | Phantom \u2014 file no longer has the closure-per-iteration pattern; uses `SPARKLINE_CONFIG` + `Promise.all` without per-call r\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-5221c57840a30c04\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_so\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-6790205e7af7d31a", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445071, "scanner": "foundry_dataset", "fingerprint": "607fc1b131add50d3f3a1301b402019a95a80d1126821b438334aacf222f450e", "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": "thirstypig/TheFantasticLeagues#312", "human_labels": ["mock_placeholder"], "issue_number": "312", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-b04802e8547f7d8f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#312\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: thirstypig/TheFantasticLeagues#312\nRepo: thirstypig/TheFantasticLeagues\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-b3cc8bf31aabfe94\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/312\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/312\\nTitle: refactor(teams): extract shared roster-row pieces (todo #127)\\nBody:\\n## Summary\\n\\nResolves [todo #127](../tree/main/todos/127-complete-p3-rosterrowv3-mobilerowv3-collapse-into-one-component.md) \u2014 `RosterRowV3` (desktop) and `MobileRowV3` (mobile) had drifted duplicate copies of the action-menu state machine, keeper-star/pending-dot name prefix, subtitle line, revert button, kebab `\u2026` menu, and class-name builder.\\n\\nNew `rowShared.tsx` module exports the duplication-prone surface as small hooks/components:\\n\\n- `useActionMenu()` \u2014 `menuOpen` state, trigger ref, anchor-rect handling\\n- `buildRowClasses({ ... })` \u2014 single `am-roster-row-*` class-list builder\\n- `<PlayerNameContent>` \u2014 pending-dot + keeper-star + name prefix\\n- `<PlayerSubtitle>` \u2014 `\\\"NYY \u00b7 OF\\\"` style team/position subtitle\\n- `<RevertButton>` \u2014 inline \u21a9 revert affordance\\n- `<ActionMenuTrigger>` \u2014 kebab `\u2026` button + `RowActionMenu` popover\\n\\nBoth row variants now consume these helpers; the layout-specific markup (table cells vs\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-af2fc266157c82a3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-418348fbce9fe76c", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445070, "scanner": "foundry_dataset", "fingerprint": "404314d6bb73de14cd9e1c3e69bb243632c26d2e37e16fd60ff65453b1a15d06", "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": "thirstypig/TheFantasticLeagues#311", "human_labels": ["mock_placeholder"], "issue_number": "311", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-b8d5a3b09bdb7011", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#311\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: thirstypig/TheFantasticLeagues#311\nRepo: thirstypig/TheFantasticLeagues\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-232fc79098365ee7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/311\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/311\\nTitle: chore(prisma): aiinsight baseline + 2-phase drop convention (#125)\\nBody:\\n## Summary\\n\\nCloses todo #125 \u2014 migration hardening / baseline rollback conventions.\\n\\nThe todo flagged three migration-discipline gaps from a /ce:review pass. Two\\nof the three were partially shipped already; this PR closes the remaining\\ngaps and tightens the conventions.\\n\\n### What was already in place\\n\\n- CI guards `CONCURRENTLY` in Prisma migration SQL (`audit` job in\\n  `.github/workflows/ci.yml`), per todo #197 / `feedback_prisma_migrate_concurrently.md`.\\n- `IF EXISTS` / `IF NOT EXISTS` guards documented in CLAUDE.md \\\"Database -> Migrations\\\".\\n- `docs/runbooks/auto_resolve_slots_rollback.md` already covers PR #180's\\n  destructive deletes (shipped via PR #186).\\n\\n### What's new in this PR\\n\\n1. **Missing baseline migration.** `AiInsight` was created via `prisma db push`\\n   against shared Supabase before migrations were canonical. The two existing\\n   migrations that touch the table (`20260430000000_aiinsight_3col_\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-fc99793ef79f6e0c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-2ddc55152e9ec707", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445069, "scanner": "foundry_dataset", "fingerprint": "7eaef8ec563945065e2636c567ec82c94243a61c4e4bb6b2399ab406eb53275f", "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": "thirstypig/TheFantasticLeagues#310", "human_labels": ["mock_placeholder"], "issue_number": "310", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-715f30a1eb94b9d0", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#310\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: thirstypig/TheFantasticLeagues#310\nRepo: thirstypig/TheFantasticLeagues\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-dfc6b0c62b044876\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/310\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/310\\nTitle: fix(awards): tighten weekKey regex and add availableWeeks enum (#179)\\nBody:\\n## Summary\\n\\nResolves todo #179 (carve-out from #148). Two small improvements to `GET /api/leagues/:leagueId/awards`.\\n\\n- **weekKey regex tightened** in `server/src/features/awards/routes.ts` from `/^\\\\d{4}-W\\\\d{2}$/` to `/^(20[2-9]\\\\d)-W(0[1-9]|[1-4]\\\\d|5[0-3])$/`. Rejects nonsense like `0000-W00`, `9999-W99`, `2026-W00`, `2026-W54` at the seam instead of falling through to compute and returning empty. Backward-compat: real OGBA week keys all match.\\n- **`availableWeeks` enumeration** added to the response envelope. Same `{ weekKey, label, generatedAt }[]` shape that `/league-digest/weeks` already exposes (canonical prior art at `mlb-feed/digestRoutes.ts:23-43`). Agents asking \\\"what other weeks have an MVP race?\\\" now get the answer in the same call. Fanned out alongside the persisted-snapshot `findFirst` via `Promise.all` so it doesn't add a serialized hop under `connection_limit=1`.\\n\\nSchema lives in `shared/ap\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ca638baf6f3df551\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_a\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-0558ae27f8540b75", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445068, "scanner": "foundry_dataset", "fingerprint": "5f51f6be4418711c25f53e703c785e6a3a1339d64ef99e52f90385bbddad313e", "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": "thirstypig/TheFantasticLeagues#309", "human_labels": ["mock_placeholder"], "issue_number": "309", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-15175f21dd4b3b46", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#309\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: thirstypig/TheFantasticLeagues#309\nRepo: thirstypig/TheFantasticLeagues\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-27dd18ab41a29092\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/309\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/309\\nTitle: refactor(teams): mount manage sub-routes via Outlet, drop useMatch chain (#150)\\nBody:\\n## Summary\\n\\nResolves the router-outlet half of todo #150. Replaces three `useMatch` calls + a five-arm ternary in `Team.tsx` with a single nested-`Route` + `<Outlet />` pattern.\\n\\n- The manage flows (`/teams/:teamCode/manage/{claim,il-stash,il-activate}`) now mount as children of `<Team />` via React Router nested routes.\\n- New `ManagePanel` (in `components/RosterHub/`) reads inputs from `useOutletContext` and renders the matching transactions panel for the URL `:mode` segment.\\n- `Team` retains all shared state and plumbs it through `<Outlet context={...} />`. The child only owns \\\"which panel for which URL\\\".\\n- One typed wrapper (`teamManageContext.ts`) keeps the wire honest.\\n\\n## What's NOT in this PR\\n\\nThe toHubPlayer test-trim half of #150 is intentionally deferred. Since the todo was written, the mapper has grown to 88 LOC and the tests now pin down contracts from todos #132 (slot narrowing), #1\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-1e5a35f7500d7e9e\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_a\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-b2226cc5c624b9ca", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445067, "scanner": "foundry_dataset", "fingerprint": "091bfea32ce514f9587ca43fe9255a9ee67e75f94c942983ed8136430cea86d1", "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": "thirstypig/TheFantasticLeagues#308", "human_labels": ["mock_placeholder"], "issue_number": "308", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-aa979994d079500d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#308\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: thirstypig/TheFantasticLeagues#308\nRepo: thirstypig/TheFantasticLeagues\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-3afc9802678f01a8\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/308\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/308\\nTitle: refactor(transactions): lift DropRequestSchema + wire client .parse() (#123)\\nBody:\\n## Summary\\n\\nResolves todo #123 \u2014 *Lift mutation request schemas into `shared/api/rosterMoves.ts` + make existing Zod actually call `.parse()`*.\\n\\n**Outcome: partial-shipped + remaining work landed.** The todo's two-part ask was already 75% done in earlier PRs but not closed:\\n\\n- **Already shipped:** `ClaimRequestSchema` (`shared/api/rosterMoves.ts:209`), `IlStashRequestSchema` (`:233`), `IlActivateRequestSchema` (`:253`).\\n- **Newly shipped here:**\\n  1. `DropRequestSchema` lifted into `shared/api/rosterMoves.ts`. `server/src/features/transactions/routes.ts` now imports it; the inline `dropSchema` + the now-unused `effectiveDateSchema` and `z` import are gone.\\n  2. `parseJsonResponse(schema, payload, context?)` helper added to `client/src/api/base.ts`. Advisory `safeParse` \u2014 logs `console.warn` on schema mismatch, returns the raw payload. The point is drift detection without breaking user flows.\\n  3. C\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-d80860516568b0e4\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_arti\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-eb732f899d87a818", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445066, "scanner": "foundry_dataset", "fingerprint": "4839a7c85453e95c7360d6ff0ee85b942bd00c2011e7f1b6451a5b6ae008fb78", "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": "thirstypig/TheFantasticLeagues#307", "human_labels": ["mock_placeholder"], "issue_number": "307", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-cd05f4f3c5078fbc", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#307\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: thirstypig/TheFantasticLeagues#307\nRepo: thirstypig/TheFantasticLeagues\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-a27395d6475396e8\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/307\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/307\\nTitle: chore(todos): close #148 \u2014 eligible-slots polish, split awards to #179\\nBody:\\n## Summary\\n\\nPhantom-todo close-out for #148. Doc-only diff (no source changes).\\n\\n**What the todo claimed:**\\n1. YAGNI: drop SP/RP from `SlotCodeSchema` (`shared/api/rosterMoves.ts:23-38`)\\n2. Wire `/api/players/:mlbId/eligible-slots` to a UI consumer (e.g., `RosterRowV3`)\\n3. Tighten awards weekKey regex + add `availableWeeks` enumeration\\n\\n**What I found:**\\n1. SP/RP YAGNI is **incorrect**. `narrowSlot` (`client/src/features/teams/lib/toHubPlayer.ts:95-98`) parses raw `Roster.assignedPosition` strings via `SlotCodeSchema.safeParse` and explicitly relies on SP/RP being in the union \u2014 its own JSDoc says so. The contract is enforced by `toHubPlayer.test.ts:215-221` (\\\"preserves all wire SlotCodes \u2014 BN, SP, RP pass through\\\"). Test fixtures in `teamService.test.ts`, `bulkOperationsService.test.ts`, and `Team.IL.test.tsx` all use `assignedPosition: \\\"SP\\\"` as realistic data. Dropping SP/RP would break the round-trip \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-4d06614658dda267\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-13b6d7f287f84558", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445065, "scanner": "foundry_dataset", "fingerprint": "17e52a38237c74f02a283b65a5c41798b79cbdbd566483e29dc52d73818bb0af", "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": "thirstypig/TheFantasticLeagues#306", "human_labels": ["mock_placeholder"], "issue_number": "306", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-05de46f769c63dea", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#306\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: thirstypig/TheFantasticLeagues#306\nRepo: thirstypig/TheFantasticLeagues\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-adfc852f01ef2c7f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/306\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/306\\nTitle: chore(todos): align YAML frontmatter status with filename (94 files)\\nBody:\\n## Summary\\nMechanical alignment: the phantom-todo cleanup sweeps (PR #297, then #303 / #304) renamed files from `*-pending-*.md` \u2192 `*-complete-*.md` but never touched the `status:` field inside each file. **94 files** carry the resulting drift today.\\n\\n## What's wrong\\n| Filename | YAML frontmatter | Count |\\n|---|---|---|\\n| `*-complete-*` | `status: pending` | 89 |\\n| `*-complete-*` | `status: completed` (old value) | 6 |\\n\\n## What this PR does\\nRewrites the `status:` line in each affected file to match the filename. One line changed per file. No content, no history, no test impact.\\n\\n```\\nstatus: pending   \u2192  status: complete\\nstatus: completed \u2192  status: complete\\n```\\n\\n## Why it matters\\n- **Filename is the source of truth** for every status query in this repo (the file-todos skill, ad-hoc grep workflows, this session's `/ce:review` triage). Aligning frontmatter just makes parsers that read the YAML reach the same\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-2f8170926b206356\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_sou\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-ca017c2918418b0e", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445064, "scanner": "foundry_dataset", "fingerprint": "2bed451efcc74ff61c6c3b9cf6e640ed2df5fff2c99a080182b5782cf1c319c3", "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": "thirstypig/TheFantasticLeagues#305", "human_labels": ["mock_placeholder"], "issue_number": "305", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-7c346f8791083e96", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#305\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: thirstypig/TheFantasticLeagues#305\nRepo: thirstypig/TheFantasticLeagues\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-c54fc9c608ecf4d6\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/305\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/305\\nTitle: refactor(mlb-feed): split routes.ts (1188\u2192578 LOC) (#147)\\nBody:\\n## Summary\\n\\nResolves todo #147 (P3, \\\"mlb-feed extraction and static imports\\\").\\n\\n**What the todo claimed:**\\n1. `routes.ts` is 1186 LOC, finish the `digestRoutes.ts` extraction pattern.\\n2. `digestService.ts:376-378` dynamic-imports `awardsService` \u2014 convert to static.\\n\\n**What I found:**\\n- The static-import half had **already shipped**. `digestService.ts` no longer dynamic-imports `awardsService` (no `await import(\\\"awards\\\"...)` anywhere in the file), and `CLAUDE.md` already documents that import as `static`.\\n- The two remaining dynamic imports in `digestService.ts` (`standingsService`, `lib/sportConfig`) are documented as intentional in `CLAUDE.md`'s cross-feature table and out of scope for #147.\\n- The route extraction half was real \u2014 `routes.ts` was still 1188 LOC.\\n\\n**What I did:**\\n- Extracted two new sibling sub-routers, mirroring the existing `digestRoutes.ts` pattern:\\n  - `scoresRoutes.ts` (554 LOC): `/scores`, `/tr\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-f36302c1dc684c48\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_so\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-6cc02b7a1ac888ce", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445063, "scanner": "foundry_dataset", "fingerprint": "21da4908777fb6cabb3a290edba288e2b9c5d42e8242dcf90b9f04c76b68eca5", "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": "thirstypig/TheFantasticLeagues#304", "human_labels": ["mock_placeholder"], "issue_number": "304", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-d3d12424dfc3486b", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#304\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: thirstypig/TheFantasticLeagues#304\nRepo: thirstypig/TheFantasticLeagues\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-1cdad1c8d02a566f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/304\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/304\\nTitle: chore(todos): close #155 (IL slot excluded from team stat totals \u2014 verified shipped)\\nBody:\\n## Summary\\n\\nTodo #155 frontmatter said `status: pending` but the file was already renamed `155-complete-...` and the implementation + tests are live. Option 1 from the todo (skip IL-slotted rosters) shipped in both standings code paths. Closing as phantom \u2014 only the frontmatter and work log are updated.\\n\\n## Evidence\\n\\n**Implementation (already merged):**\\n- `server/src/features/standings/services/standingsService.ts:465` \u2014 `computeWithDailyStats` skips `assignedPosition === \\\"IL\\\"` with the documented current-state caveat from the todo's Option 1.\\n- `server/src/features/standings/services/standingsService.ts:569` \u2014 matching guard in `computeWithPeriodStats` (period-stats fallback path).\\n\\n**Tests (already merged):**\\n- `server/src/features/standings/__tests__/standingsService.IL.test.ts` \u2014 5 tests:\\n  1. Daily-stats path: excludes IL'd player's HR/R from team totals.\\n  2. Case-insensitive slot mat\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-708cdbbd0c4db4ee\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-dd90026538825675", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445062, "scanner": "foundry_dataset", "fingerprint": "4338da15bde13159036d6fa14c96c4c19c616944827d835457953f52e7194d4f", "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": "thirstypig/TheFantasticLeagues#303", "human_labels": ["mock_placeholder"], "issue_number": "303", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-dc37cf38a71efad4", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#303\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: thirstypig/TheFantasticLeagues#303\nRepo: thirstypig/TheFantasticLeagues\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-02f696c91479d475\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/303\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/303\\nTitle: chore(todos): close #145 \u2014 toHubPlayer rerender allocation phantom\\nBody:\\n## Summary\\n\\nTodo #145 (P2 perf) is a phantom \u2014 the proposed Option-1 cache is already in production.\\n\\n## What the todo claimed\\n\\n`Team.tsx` runs `hitters.map(toHubPlayer)` etc. on every render where the sorted array gets a fresh reference, allocating 23 fresh `RosterHubPlayer` objects per re-render and (per the work log) making mobile pill taps feel laggy. The recommended fix was a per-row `useRef<Map>` cache keyed on player identity, gated by a structural-equality check on the mapper's input fields.\\n\\n## What I found\\n\\nThat cache already exists in `client/src/features/teams/pages/Team.tsx` lines 147-169 as the `useHubPlayers` hook:\\n\\n- `useRef<Map<number, HubPlayerCacheEntry>>` keyed by `rosterId`\\n- Gate is `hubPlayerCacheKey(row)`, which is derived from `HUB_PLAYER_CACHE_KEY_FIELDS` in `client/src/features/teams/lib/toHubPlayer.ts` (per sibling todo #162.2 \u2014 the key widens automatically when a new input field \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-dc9bd0da5967ad0a\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_a\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-078817f4142ad933", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 445061, "scanner": "foundry_dataset", "fingerprint": "3800d75dd16e1076379f8957871f6f23a70056469a5ced96e6d15b34f040a0a0", "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": "thirstypig/TheFantasticLeagues#302", "human_labels": ["mock_placeholder"], "issue_number": "302", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-c5118c5e76194cfe", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 4, "tests": 1, "schemas": 3}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 3}, "text": "Comment chain pattern product: bad_chains\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#302\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: thirstypig/TheFantasticLeagues#302\nRepo: thirstypig/TheFantasticLeagues\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-9b6f3bf76f25f06b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/thirstypig/TheFantasticLeagues/pull/302\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: thirstypig/TheFantasticLeagues\\nAuthor: thirstypig (User)\\nURL: https://github.com/thirstypig/TheFantasticLeagues/pull/302\\nTitle: perf(awards): TTL cache + stampede coalescing on /awards endpoint (#119)\\nBody:\\n## Summary\\n5-minute TTL cache + stampede coalescing on `GET /api/leagues/:id/awards`, keyed on `(leagueId, weekKey)`. Mirrors the standings-cache pattern (PR #179). Closes #119.\\n\\n## Two wins from one cache layer\\n**Latency.** 5+ owners polling the home-page leaderboard within a 5-minute window now share one compute (4 DB queries \u2192 1) instead of triggering parallel reads. Concurrent requests for the same key collapse onto a single `pending` Promise instead of stampeding.\\n\\n**Architecture.** The persisted-blob-vs-compute branch + the `source` discriminator now live in `awardsService.getAwardsForWeek()`, not the route. The route is a thin shell \u2014 input validation, auth, rate limit, delegate. Feature-module isolation preserved per CLAUDE.md's pattern.\\n\\n## Cache invalidation\\n`clearAwardsCache(leagueId)` is wired into `invalidateLeagueCaches()` in `transactions/routes.ts`, joining `clearPlayersCache` + `clearS\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-3a3124291566bd78\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: thirstypig/TheFantasticLeagues\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artif\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "comment-chain-pattern-bad_chains-e5a2662838f14304", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 456399, "scanner": "foundry_dataset", "fingerprint": "507009be65d0ca1d359723624f891842b738813a7638b74aac62137ea22e2764", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"security_auth_secret": 1, "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": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#8", "issue_number": "8", "quality_tiers": {"unresolved": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b7d4abca41ecc1ea", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: needs_more_evidence\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#8\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#8\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#8\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 8\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, 'security_auth_secret': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-01d0d9af734bc67b", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 456398, "scanner": "foundry_dataset", "fingerprint": "9c8fc5844c161f5b3d58056479f307b2a01b2dc3500c80315b27340e2c86dcea", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 4, "security_or_secrets": 1, "security_auth_secret": 1, "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": "thirstypig/TheFantasticLeagues#353", "issue_number": "353", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b8233feca97659df", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#353\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#353\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#353\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 353\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-138c557438e5de8e", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 456397, "scanner": "foundry_dataset", "fingerprint": "2b5590f6bf7c3ec82b3f7022a7c556860b7c4d61cd572b839ba490bfe4804f57", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 3, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#351", "issue_number": "351", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-1294483937af6bd7", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#351\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#351\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#351\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 351\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-e09d83c4c164d6cc", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 456396, "scanner": "foundry_dataset", "fingerprint": "7b051233ae6d8840884e6ff37d296d780cb268c8a6d4686addd40774bda885d9", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 1, "data_schema": 1, "dependency_or_build": 1, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#346", "issue_number": "346", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-bb01c3443f574d32", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#346\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#346\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#346\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 346\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'data_schema': 1, 'dependency_or_build': 1, 'security_or_secrets': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-1963bf898c6a780c", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452110, "scanner": "foundry_dataset", "fingerprint": "6a7e6aba8d9067ce0939661d7a14c8b2d5114bd28d76082f3458b38f581c6129", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "test_or_ci": 1, "api_or_backend": 3, "docs_or_claims": 3, "mock_placeholder": 1, "generated_provenance": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 7, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 7, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "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": 5, "thread": 1, "comment": 1, "pr_file": 7, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#395", "issue_number": "395", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c8bb9f6b190a1f49", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 12, "docs_or_claims": 12}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#395\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#395\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#395\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 395\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 37\nNode types: {'pr_file': 7, 'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 7, 'comment_chain_touches_file': 7, 'issue_chain_touches_file': 7, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'docs_or_claims': 3, 'api_or_backend': 3, 'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_or_ci': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'generated_provenance': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-2472499d4885e018", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452109, "scanner": "foundry_dataset", "fingerprint": "c0447bc5674ba02340bb12eb5e9f8d279060f95275a95c3ae3130178f6b86cbc", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "test_or_ci": 2, "api_or_backend": 1, "docs_or_claims": 2, "mock_placeholder": 1, "generated_provenance": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 5, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 5, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 19, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 5, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#394", "issue_number": "394", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-418c30bcfaee6683", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 8, "api_or_backend": 4, "docs_or_claims": 8}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#394\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#394\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#394\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 394\nGraph consistency label: supported_by_verification_signal\nNodes: 19\nEdges: 31\nNode types: {'pr_file': 5, 'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 5, 'comment_chain_links_commit': 5, 'comment_chain_touches_file': 5, 'issue_chain_touches_file': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'docs_or_claims': 2, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'api_or_backend': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'generated_provenance': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-177ce129e6f8716b", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452108, "scanner": "foundry_dataset", "fingerprint": "209e58444b553da64938c0bdfd2b227d5873bb1015ea6c55b2b21918bbad7460", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "test_or_ci": 1, "api_or_backend": 1, "docs_or_claims": 1, "mock_placeholder": 1, "generated_provenance": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 3, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#393", "issue_number": "393", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-0257a66fd6c730fc", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 4, "docs_or_claims": 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: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#393\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#393\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#393\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 393\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 25\nNode types: {'commit': 5, 'pr_file': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'thread_touches_file': 3, 'comment_chain_touches_file': 3, 'chain_has_link_quality': 3, 'issue_chain_touches_file': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'docs_or_claims': 1, 'test_or_ci': 1, 'api_or_backend': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'generated_provenance': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-ce137e255e0bd67b", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452107, "scanner": "foundry_dataset", "fingerprint": "8375d63d8169e5c9ca65ded9a2f776c3edf32d5d8988cacbb5e3c391ae7fd707", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "api_or_backend": 1, "docs_or_claims": 8, "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": 41, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 9, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 9, "thread_has_comment_chain": 1, "comment_chain_links_commit": 3, "comment_chain_touches_file": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 21, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 1, "pr_file": 9, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#392", "issue_number": "392", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-2441fe8a9b450527", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"api_or_backend": 4, "docs_or_claims": 32}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#392\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#392\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#392\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 392\nGraph consistency label: supported_by_high_confidence_link\nNodes: 21\nEdges: 41\nNode types: {'pr_file': 9, 'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 9, 'comment_chain_touches_file': 9, 'issue_chain_touches_file': 9, 'comment_chain_links_commit': 3, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'docs_or_claims': 8, 'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'api_or_backend': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-4ee4d0e67e744677", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452106, "scanner": "foundry_dataset", "fingerprint": "966885650ab12e1a54f39b9b16243ca9f94ccf5d95872a265552e43e00bfd8c3", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "data_schema": 1, "docs_or_claims": 1, "mock_placeholder": 1, "generated_provenance": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 19, "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": 5, "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": 5, "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": "thirstypig/TheFantasticLeagues#388", "issue_number": "388", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-8b2f6ed7874ede1d", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"docs_or_claims": 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: supported_by_high_confidence_link\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#388\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#388\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#388\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 388\nGraph consistency label: supported_by_high_confidence_link\nNodes: 15\nEdges: 19\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 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_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: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'docs_or_claims': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-60c4cb746cb93a2f", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452105, "scanner": "foundry_dataset", "fingerprint": "188f31e43a8f648410ca5937255647844c649547fb52a75f8ccb5f61d1ce8555", "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": "thirstypig/TheFantasticLeagues#382", "issue_number": "382", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-7726729dd7acaa3f", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#382\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#382\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#382\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 382\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-c8a5edd841726a9c", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452104, "scanner": "foundry_dataset", "fingerprint": "595b9428d953ff8328fffc1a0833096c394f72fff3cbf9978cae95e9f9236780", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "mock_placeholder": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 15, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#380", "issue_number": "380", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-1efd8a1c37fd0561", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#380\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#380\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#380\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 380\nGraph consistency label: supported_by_high_confidence_link\nNodes: 13\nEdges: 15\nNode types: {'commit': 4, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 4, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-b216308661014cf6", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452103, "scanner": "foundry_dataset", "fingerprint": "ce34c83f7e2ec4f63d05b9c87d40570eed742e2635ce467d8a9e63f5c988e0ca", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "mock_placeholder": 1, "generated_provenance": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#379", "issue_number": "379", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-52fd6de1ff26b07a", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#379\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#379\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#379\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 379\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-fa194a97788c3122", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452102, "scanner": "foundry_dataset", "fingerprint": "7da65d508e50c1b1971f24b8d41a72c6bb49404f75d12b8eea4dcb6c8f40e026", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "data_schema": 1, "mock_placeholder": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 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": "thirstypig/TheFantasticLeagues#378", "issue_number": "378", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b38b55e5cf244ab8", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#378\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#378\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#378\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 378\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-45fff33e40843414", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452101, "scanner": "foundry_dataset", "fingerprint": "a72a1fec1b496b9c66fabb57b63853398803cb8cfe5cbb7b8d4b70ed88eb4030", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "mock_placeholder": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 15, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#377", "issue_number": "377", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-9cc321fe2a00874f", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#377\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#377\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#377\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 377\nGraph consistency label: supported_by_high_confidence_link\nNodes: 13\nEdges: 15\nNode types: {'commit': 4, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 4, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-113de9b436a80deb", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452100, "scanner": "foundry_dataset", "fingerprint": "b9d5d40a801103755a84ce1e64b679e0bbc71b62cbf36227902b0e716fa8a1c3", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "data_schema": 1, "mock_placeholder": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 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": "thirstypig/TheFantasticLeagues#376", "issue_number": "376", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-85a3b7b47f493cb8", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#376\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#376\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#376\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 376\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-bf71f4dff48d6180", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452099, "scanner": "foundry_dataset", "fingerprint": "3bd514e086e1fa6146b4a9b9478afae4478ea78498f05907e85d9d3030f7e429", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "mock_placeholder": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#375", "issue_number": "375", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c3315b7ae857875b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#375\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#375\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#375\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 375\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-06a0216bc8389cd6", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452098, "scanner": "foundry_dataset", "fingerprint": "1595dd7b64c36f91f99cf53806a3ba9b4c0d3c376c6ea6601b9bd8bf12f48e99", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 1, "mock_placeholder": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 13, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 11, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#372", "issue_number": "372", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-ed7514c703783348", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#372\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#372\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#372\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 372\nGraph consistency label: supported_by_verification_signal\nNodes: 11\nEdges: 13\nNode types: {'link_quality': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-851cbe5027239f7c", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452097, "scanner": "foundry_dataset", "fingerprint": "1bcf999061df2213c7c6fb03f121d49d9d0b89e0d97b39f484308eb0c5767fee", "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": "thirstypig/TheFantasticLeagues#363", "issue_number": "363", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-0f12accd350bba98", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#363\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#363\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#363\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 363\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-c12c04e18dec5add", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452096, "scanner": "foundry_dataset", "fingerprint": "73cfe44aef7dbcd6d99a173e261e465aa2e347fce3b01a3877e8c6bd9efaea64", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "mock_placeholder": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#362", "issue_number": "362", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-8813fd80fc097524", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#362\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#362\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#362\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 362\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-e64c3b8101a87386", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452095, "scanner": "foundry_dataset", "fingerprint": "c145da675306c45eca2363919b08e67ca58e6814c7c5efd87ed45816b57cbddd", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "mock_placeholder": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#361", "issue_number": "361", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-0072a57b1d32ba6d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#361\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#361\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#361\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 361\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-ec9ec787d4907dc4", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452094, "scanner": "foundry_dataset", "fingerprint": "273101e1ca5bc37060464b1186b03e80f10c7385e03f166ce8c971929e7c0ae9", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "mock_placeholder": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#360", "issue_number": "360", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-bcc83f57b3fff35f", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#360\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#360\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#360\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 360\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-06f0cf8a0189ca5b", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452093, "scanner": "foundry_dataset", "fingerprint": "3368dadfedee827ca1045bef13b10d92926b62c85e680ab3f540a753dee9bc4a", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "mock_placeholder": 1, "security_or_secrets": 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": "thirstypig/TheFantasticLeagues#350", "issue_number": "350", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d935202cc77ab20c", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#350\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#350\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#350\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 350\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-d14daa5cb3f7ffaf", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452092, "scanner": "foundry_dataset", "fingerprint": "44f8450f0c673f71f6d35810c0818e67b3d71444685842f8d9a5f1d2d977407e", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "data_schema": 1, "mock_placeholder": 1, "dependency_or_build": 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": "thirstypig/TheFantasticLeagues#348", "issue_number": "348", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6938643da7dc0f9a", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#348\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#348\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#348\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 348\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, 'mock_placeholder': 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 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-be5e9fcb8606716a", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452091, "scanner": "foundry_dataset", "fingerprint": "e8e2cdbb109bb6364cb71dc65141d182dea1147e99cd2b551b59ded6826e7212", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "mock_placeholder": 1, "generated_provenance": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 15, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#345", "issue_number": "345", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-bbbbfb5483d8cbeb", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#345\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#345\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#345\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 345\nGraph consistency label: supported_by_high_confidence_link\nNodes: 13\nEdges: 15\nNode types: {'commit': 4, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 4, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-73f7f3df87fb41d3", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452090, "scanner": "foundry_dataset", "fingerprint": "c634f622904c9087974fd432037c7d4869f75b94fa7366c9a0b47c93722deefb", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#337", "issue_number": "337", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-8e31ad59495ae3e5", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#337\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#337\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#337\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 337\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-8a27cc1dce85fd19", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452089, "scanner": "foundry_dataset", "fingerprint": "b5b1a4dd1b0dab3adbb3ce24bb1369e4c6430ea30766e8da6a67c394b30bf38a", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#336", "issue_number": "336", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-36e4107f5f6cfedd", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#336\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#336\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#336\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 336\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-ccdeac1a8f298eed", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452088, "scanner": "foundry_dataset", "fingerprint": "402ded5e418568850b2669e11b560b92e407d7437c90089c8a78cfcd3beaf4bb", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#335", "issue_number": "335", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-932144e8dbdf0fb3", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#335\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#335\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#335\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 335\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-31282be843537923", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452087, "scanner": "foundry_dataset", "fingerprint": "1dd34b85a87ecdf02b43ab79ca0b52772e3dedba2b44d47e938eb308be5a0d27", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#328", "issue_number": "328", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-5234abe3fd7b1d98", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#328\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#328\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#328\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 328\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-cfc945d9b7777345", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452086, "scanner": "foundry_dataset", "fingerprint": "30b2d56ce6943f4ce508169ed88eb1ba38ca9b7fa1d52509a9c570f017be668b", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#327", "issue_number": "327", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-cdc3f1017ed21554", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#327\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#327\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#327\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 327\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-9698ea84a2b37410", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452085, "scanner": "foundry_dataset", "fingerprint": "1775f1902cf37e6c37ff4786e568200c2542cfe8228a7fadd46ebdc3b4cd029a", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#320", "issue_number": "320", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-2f033d578cb2755d", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#320\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#320\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#320\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 320\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-4b987d75729fc58b", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452084, "scanner": "foundry_dataset", "fingerprint": "bed13f924efdc522131e78e351f7e2b206630a27f998fabdc6767a78296da032", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#319", "issue_number": "319", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-11ad017b0472a8bc", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#319\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#319\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#319\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 319\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-8bd266b38533d06b", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452083, "scanner": "foundry_dataset", "fingerprint": "e6868cb7acc0f787d8dd3e83229e5d1250b384295c2400a58466575074b52c16", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#316", "issue_number": "316", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-2f9324208639b48f", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#316\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#316\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#316\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 316\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-3332bf67ffc21d61", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452082, "scanner": "foundry_dataset", "fingerprint": "6c43af3b1ca83f1dd3d43ba02c0057e6428ddd9e3876bdcb2b40d7999fd57880", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#315", "issue_number": "315", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-9899e86985999c15", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#315\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#315\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#315\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 315\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-a913adb33a8dbcbd", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452081, "scanner": "foundry_dataset", "fingerprint": "f92d60d7cb0eedfeff1779c07a0f020333f1a1a0e1a5f6725159ced7c41e213a", "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": "thirstypig/TheFantasticLeagues#314", "issue_number": "314", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-52204a9d8c5a4e14", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#314\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#314\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#314\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 314\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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-2bedd7c3bee58969", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452080, "scanner": "foundry_dataset", "fingerprint": "8b67e4c7e22f9a4164d1a252fe2949c433bbff02e319609092db5a67221bc070", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#312", "issue_number": "312", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d37cc9d31c9ec143", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#312\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#312\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#312\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 312\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-83901f4769630d43", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452079, "scanner": "foundry_dataset", "fingerprint": "e67a7730a87ff895b90e06ce563c7f1625146bbc7a40195b314f4ccead4322e8", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#311", "issue_number": "311", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-1eb8dc2e71408753", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#311\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#311\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#311\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 311\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-fb70b0a7641553c6", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452078, "scanner": "foundry_dataset", "fingerprint": "fe2918c2d78489a88b325b361c8fcfd3291c637735c5d08b760d6d58f0769db3", "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": "thirstypig/TheFantasticLeagues#310", "issue_number": "310", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c534f9fe2bbf3907", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#310\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#310\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#310\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 310\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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-147aa2b544aba895", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452077, "scanner": "foundry_dataset", "fingerprint": "089365e45c3df0fbce53b5eb7575e98ca98a442a45df3172821f16ef5f3238c4", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#309", "issue_number": "309", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-fdb3b921f07a6d48", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#309\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#309\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#309\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 309\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-1a0104d92753b4cc", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452076, "scanner": "foundry_dataset", "fingerprint": "23062bf2f8d7d932406404658d1fcba536d2c4d5864184847bc26cf01030c93a", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#308", "issue_number": "308", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-2fd31406494648bd", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#308\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#308\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#308\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 308\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-a0501066f1d80ed3", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452075, "scanner": "foundry_dataset", "fingerprint": "42b645041f08dec82a7d38ccf5021da5df0cfe2ebc658c7c90786e928dced116", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#307", "issue_number": "307", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-2f16d5ac8f56b2c6", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#307\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#307\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#307\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 307\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-56cbc98f1290bf27", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452074, "scanner": "foundry_dataset", "fingerprint": "031014719d2fe22df142291444e00a3d26c75aba58665b5173b75adf4e58a22b", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#306", "issue_number": "306", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f7e2a1afaadbb695", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#306\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#306\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#306\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 306\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-3f7b7a8875cf4990", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452073, "scanner": "foundry_dataset", "fingerprint": "019a84e671d9a99bfc4e97b3d3d3106db00346e0b461615e13387065fcc18cd4", "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": "thirstypig/TheFantasticLeagues#305", "issue_number": "305", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-08f5fe43563efe15", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#305\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#305\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#305\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 305\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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-3cc1aa87da307d02", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452072, "scanner": "foundry_dataset", "fingerprint": "c63e67777d06bb1000658f1d682589f3311a85fa0d6937a5c8fbdb8d2f7cc382", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#304", "issue_number": "304", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e28349edceb941c6", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#304\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#304\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#304\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 304\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-21df581e2181c1e8", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452071, "scanner": "foundry_dataset", "fingerprint": "ee151512b35b30c445560830b80634b351dbca893b9a809739a61e98c4e4243e", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#303", "issue_number": "303", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-49e70bc6929e63b5", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#303\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#303\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#303\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 303\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-afbc049312dca72c", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452070, "scanner": "foundry_dataset", "fingerprint": "710c83a79cbe1ecc56783fffa19af5332781e4f2bf23e19534e9b5578bbfe2fa", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "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": "thirstypig/TheFantasticLeagues#302", "issue_number": "302", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d498a448179c26b2", "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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#302\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#302\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#302\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 302\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': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-1cf797877b7eef92", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452069, "scanner": "foundry_dataset", "fingerprint": "ae2fb00a5589cab8cf8f28d10d22a6bf1c9e4647875d9c2b393cf2a03b1969f5", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "data_schema": 1, "mock_placeholder": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 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": "thirstypig/TheFantasticLeagues#234", "issue_number": "234", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6fe68d6b626dd515", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#234\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#234\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#234\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 234\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-fa6fb74698b53ea4", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452068, "scanner": "foundry_dataset", "fingerprint": "29b4d98421acc0ec70b1196ef6a5262ba1f37da5e0e4454a6c98744e94549b63", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "data_schema": 1, "mock_placeholder": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 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": "thirstypig/TheFantasticLeagues#200", "issue_number": "200", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-571a4ae41e95526d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#200\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#200\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#200\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 200\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-721f0395662474e2", "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": "thirstypig/TheFantasticLeagues", "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: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 452067, "scanner": "foundry_dataset", "fingerprint": "92a528604da368df437f8182a5ca2e8574976912df9d2ba01a785aaa25922169", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "api_integration_gap": 1, "verification_or_tests": 4, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 21, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#117", "issue_number": "117", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c54b4cac2780a60d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#117\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: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#117\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#117\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 117\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 26\nNode types: {'commit': 9, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'verification_or_tests': 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, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 1, 'claimed_resolved_unverified': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'weak_supervision': 4}\nCI labels: {}\nCurriculum targets:\n- 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/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-36d515ad9fcfbb9e", "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": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_failing_ci_claim", "level": "error", "message": {"text": "Foundry mined claimed resolved with failing ci: thirstypig/TheFantasticLeagues"}, "properties": {"repobilityId": 450525, "scanner": "foundry_dataset", "fingerprint": "234bab820175177240511ba1dece20048bd41e1d4d184baa4397802d5c042918", "category": "ci", "severity": "critical", "confidence": 0.86, "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": "Claimed resolved with failing CI", "intent": "Hard negatives where CI/failure evidence contradicts a resolution claim.", "labels": {"test_ci_gap": 1, "api_or_backend": 12, "schema_or_data": 1, "ui_or_frontend": 2, "ci_failure_signal": 1, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "claimed_resolved_with_failing_ci", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "claimed_resolved_with_failing_ci", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 54, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 15, "comment_chain_has_ci": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 3, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 28, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 1, "pr_file": 15, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "thirstypig/TheFantasticLeagues#401", "issue_number": "401", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "thirstypig/TheFantasticLeagues", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-34960d28e0111c87", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {"api_or_backend": 48, "schema_or_data": 4, "ui_or_frontend": 8}}, "text": "Graph query export: Claimed resolved with failing CI\nQuery id: claimed_resolved_with_failing_ci\nQuery type: motif_query\nIntent: Hard negatives where CI/failure evidence contradicts a resolution claim.\nMotif: claimed_resolved_with_failing_ci\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#401\nEvidence:\nGraph motif: Claimed resolved while CI or failure evidence contradicts it\nMotif id: claimed_resolved_with_failing_ci\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: thirstypig/TheFantasticLeagues\nThread: thirstypig/TheFantasticLeagues#401\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: thirstypig/TheFantasticLeagues#401\nRepo: thirstypig/TheFantasticLeagues\nIssue/PR number: 401\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 28\nEdges: 54\nNode types: {'pr_file': 15, 'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 15, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 3, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'api_or_backend': 12, 'verification_or_tests': 3, 'ambiguous_needs_more_evidence': 3, 'ui_or_frontend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'schema_or_data': 1, 'comment_has_related_commit_context': 1, 'ci_failure_signal': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Reject confident fix summaries when CI or checks fail.\n- Teach judge models to prefer external verification over generated narrative.\nAssumption checks:\n- Did checks fail on the linked commit?\n- Does the thread claim resolution despite failing or incomplete verification?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/thirstypig/TheFantasticLeagues", "source_id": "graph-query-motif_query-037e7648c5e08327", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/claimed_resolved_with_failing_ci/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "thirstypig/TheFantasticLeagues", "source_dataset": "graph_queries/claimed_resolved_with_failing_ci", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-431a8b8417d42d96", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 inspect_xlsx.ts:6"}, "properties": {"repobilityId": "a9d54fbad7e11b1d", "scanner": "scanner-primary", "fingerprint": "431a8b8417d42d96", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c463b0a55ff2ee14", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 recalc_2025.ts:6"}, "properties": {"repobilityId": "4dde6c775acb503d", "scanner": "scanner-primary", "fingerprint": "c463b0a55ff2ee14", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d2a09793b42177d5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 fix_names.ts:19"}, "properties": {"repobilityId": "0b705a44b65d578a", "scanner": "scanner-primary", "fingerprint": "d2a09793b42177d5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c9704799a02eea6d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sync_db_to_csv.ts:27"}, "properties": {"repobilityId": "0753663a77ac5742", "scanner": "scanner-primary", "fingerprint": "c9704799a02eea6d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-93662d9e29fe6dc4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 manual_fix.ts:8"}, "properties": {"repobilityId": "da48f799027d826e", "scanner": "scanner-primary", "fingerprint": "93662d9e29fe6dc4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d2a2bc6ae0ed19dd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 restore_2025.ts:8"}, "properties": {"repobilityId": "3975e95d04dee3f9", "scanner": "scanner-primary", "fingerprint": "d2a2bc6ae0ed19dd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1d2e9dfbadf99f2f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sync_roster_entry.ts:6"}, "properties": {"repobilityId": "1d7529f92fa3a3a1", "scanner": "scanner-primary", "fingerprint": "1d2e9dfbadf99f2f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3c2a007c5aaa6358", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/components/GoogleSignInButton.tsx:41"}, "properties": {"repobilityId": "4e150e5caa5acdf9", "scanner": "scanner-primary", "fingerprint": "3c2a007c5aaa6358", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-658c773b50ee366e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/components/Sidebar.tsx:121"}, "properties": {"repobilityId": "b0d21d23421e736f", "scanner": "scanner-primary", "fingerprint": "658c773b50ee366e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1bb3152c5d70c7bc", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/components/shared/PlayerNameCell.tsx:30"}, "properties": {"repobilityId": "f25af54f43c73fff", "scanner": "scanner-primary", "fingerprint": "1bb3152c5d70c7bc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3106a179cbcbe137", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/components/shared/PlayerDetailModal.tsx:315"}, "properties": {"repobilityId": "f920bd23e673eeb6", "scanner": "scanner-primary", "fingerprint": "3106a179cbcbe137", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7dd6dcdc4b33ec3f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/pages/Docs.tsx:354"}, "properties": {"repobilityId": "9668dae9214d719c", "scanner": "scanner-primary", "fingerprint": "7dd6dcdc4b33ec3f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a551f335b0e5b2e3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/pages/Changelog.tsx:1398"}, "properties": {"repobilityId": "a3c89cf4c51b0f1f", "scanner": "scanner-primary", "fingerprint": "a551f335b0e5b2e3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b630f7d818cbad1c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/pages/Analytics.tsx:116"}, "properties": {"repobilityId": "f73cf6b632e7f6d0", "scanner": "scanner-primary", "fingerprint": "b630f7d818cbad1c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-11495a4eb53e3785", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/roster/components/RosterGrid.tsx:241"}, "properties": {"repobilityId": "79e5b839cef51ab3", "scanner": "scanner-primary", "fingerprint": "11495a4eb53e3785", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e70efc231ce65190", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/ai/pages/DraftReportPage.tsx:94"}, "properties": {"repobilityId": "fd97af25630b9c0b", "scanner": "scanner-primary", "fingerprint": "e70efc231ce65190", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-bc14e3257cae0cf3", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 client/src/features/players/pages/InjuredListPage.tsx:12"}, "properties": {"repobilityId": "60907629767d80c7", "scanner": "scanner-primary", "fingerprint": "bc14e3257cae0cf3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ee03fa229d238019", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/draft/components/DraftBoard.tsx:118"}, "properties": {"repobilityId": "e946e1d5eb5700ed", "scanner": "scanner-primary", "fingerprint": "ee03fa229d238019", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8f6c2d83e7929239", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/draft/pages/Draft.tsx:423"}, "properties": {"repobilityId": "d8230c2e044657ee", "scanner": "scanner-primary", "fingerprint": "8f6c2d83e7929239", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-05a45dbe0651b3eb", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/teams/pages/TeamsIndex.tsx:100"}, "properties": {"repobilityId": "abbc333c497422f7", "scanner": "scanner-primary", "fingerprint": "05a45dbe0651b3eb", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5801d6accb3c3a55", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/auction/components/AuctionStageLegacy.tsx:209"}, "properties": {"repobilityId": "64ba415fdab92492", "scanner": "scanner-primary", "fingerprint": "5801d6accb3c3a55", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-215f322494525588", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/auction/components/BidHistoryChart.tsx:181"}, "properties": {"repobilityId": "c4f6dba271465846", "scanner": "scanner-primary", "fingerprint": "215f322494525588", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6176eeeb8fff2f64", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/admin/components/AdminLeagueTools.tsx:126"}, "properties": {"repobilityId": "8715e1f0cab5cf50", "scanner": "scanner-primary", "fingerprint": "6176eeeb8fff2f64", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d8b8bb5ad16639f3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/admin/pages/Admin.tsx:225"}, "properties": {"repobilityId": "51c4bf34f420adc8", "scanner": "scanner-primary", "fingerprint": "d8b8bb5ad16639f3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e5ed70fc29832eae", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/admin/pages/AdminReports.tsx:92"}, "properties": {"repobilityId": "9b1cd6635275655f", "scanner": "scanner-primary", "fingerprint": "e5ed70fc29832eae", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d122d49939ee21de", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 client/src/features/admin/pages/AdminUsers.tsx:546"}, "properties": {"repobilityId": "1d2999f60e61f0c0", "scanner": "scanner-primary", "fingerprint": "d122d49939ee21de", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-851fc3662b3450b0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/clear-2025-owners.ts:20"}, "properties": {"repobilityId": "6217547b4eee639f", "scanner": "scanner-primary", "fingerprint": "851fc3662b3450b0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c8a2cd5b384ebf16", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-memberships.ts:10"}, "properties": {"repobilityId": "8c8161c2e4ee9432", "scanner": "scanner-primary", "fingerprint": "c8a2cd5b384ebf16", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c0eb5ea1d25c2262", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-franchises.ts:18"}, "properties": {"repobilityId": "22544cd882414808", "scanner": "scanner-primary", "fingerprint": "c0eb5ea1d25c2262", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7fafc2e0322972b5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-ohtani-auction-price.ts:18"}, "properties": {"repobilityId": "1d6d3193326bd0e6", "scanner": "scanner-primary", "fingerprint": "7fafc2e0322972b5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7786fd7fa0cb4ce3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-mlb-players.ts:13"}, "properties": {"repobilityId": "1f2c2a945413f238", "scanner": "scanner-primary", "fingerprint": "7786fd7fa0cb4ce3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-045f681ab520a3ad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/merge-roster-values.ts:317"}, "properties": {"repobilityId": "3b3e5f1424033294", "scanner": "scanner-primary", "fingerprint": "045f681ab520a3ad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-550c005bd111441c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-local-db.ts:159"}, "properties": {"repobilityId": "fbc1bf054ac425ba", "scanner": "scanner-primary", "fingerprint": "550c005bd111441c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e0bd470e98a5f57f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_auth_config.ts:8"}, "properties": {"repobilityId": "ba327064f536085b", "scanner": "scanner-primary", "fingerprint": "e0bd470e98a5f57f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3b69adb7df76a17f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-keeper-tests.js:33"}, "properties": {"repobilityId": "5050f62f5730a58a", "scanner": "scanner-primary", "fingerprint": "3b69adb7df76a17f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a8e24a8310f5f068", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/strip-league-year-names.ts:17"}, "properties": {"repobilityId": "af09555c7a1f80a3", "scanner": "scanner-primary", "fingerprint": "a8e24a8310f5f068", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ebdf6ad3e1622ef6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-league2-rosters.ts:33"}, "properties": {"repobilityId": "bfc5aae474b8afcc", "scanner": "scanner-primary", "fingerprint": "ebdf6ad3e1622ef6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-581151852ac2b63d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-franchise-names.ts:40"}, "properties": {"repobilityId": "20f6d0b3e2e82a6b", "scanner": "scanner-primary", "fingerprint": "581151852ac2b63d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4478048c2a771f11", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-predraft-trade.ts:22"}, "properties": {"repobilityId": "ebe7bfaab948de55", "scanner": "scanner-primary", "fingerprint": "4478048c2a771f11", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b68604c357d60a87", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-unmatched-2025.ts:103"}, "properties": {"repobilityId": "ffe081716d27b185", "scanner": "scanner-primary", "fingerprint": "b68604c357d60a87", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a8a7e11cfc419c78", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/check-db.js:7"}, "properties": {"repobilityId": "14fc2fa9efcd01bb", "scanner": "scanner-primary", "fingerprint": "a8a7e11cfc419c78", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-465c15a392dbd75e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/test_mapping.js:45"}, "properties": {"repobilityId": "91f26f30358da137", "scanner": "scanner-primary", "fingerprint": "465c15a392dbd75e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-44588f130276a9db", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/audit_teams.ts:7"}, "properties": {"repobilityId": "378a30d42c4c05f8", "scanner": "scanner-primary", "fingerprint": "44588f130276a9db", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9aa3d69d61d008f9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/generate_v2.js:44"}, "properties": {"repobilityId": "d2dd7281126a01cd", "scanner": "scanner-primary", "fingerprint": "9aa3d69d61d008f9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7d6bca5b57130872", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/reset_rosters.ts:5"}, "properties": {"repobilityId": "e04fba652c103c69", "scanner": "scanner-primary", "fingerprint": "7d6bca5b57130872", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f482c697ad7bbefc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/test_gs_fetch.ts:17"}, "properties": {"repobilityId": "b53a3378459d483b", "scanner": "scanner-primary", "fingerprint": "f482c697ad7bbefc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3df3762bdb85d24c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/check_db_state.ts:9"}, "properties": {"repobilityId": "18856c09b38b7a74", "scanner": "scanner-primary", "fingerprint": "3df3762bdb85d24c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-663f00f678359435", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/test_stats_fields.ts:8"}, "properties": {"repobilityId": "c22674d1cf56f0b0", "scanner": "scanner-primary", "fingerprint": "663f00f678359435", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9f6a8831fb50cba8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/scripts/test_career_stats.ts:14"}, "properties": {"repobilityId": "5c00d612eda07777", "scanner": "scanner-primary", "fingerprint": "9f6a8831fb50cba8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2c6446c14002716e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/seed.ts:6"}, "properties": {"repobilityId": "7e3864f3a43db1f4", "scanner": "scanner-primary", "fingerprint": "2c6446c14002716e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-75883944ef5130f8", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/index.ts:240"}, "properties": {"repobilityId": "b246c92fc86fd670", "scanner": "scanner-primary", "fingerprint": "75883944ef5130f8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-da4041f6d6136267", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/seedFakeStats.ts:4"}, "properties": {"repobilityId": "df73433aac3968be", "scanner": "scanner-primary", "fingerprint": "da4041f6d6136267", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-88690f05138ec429", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/backfill-player-mlb-status.ts:33"}, "properties": {"repobilityId": "acd26d187deb26c9", "scanner": "scanner-primary", "fingerprint": "88690f05138ec429", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0a01c323fb62bce9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/verify_standings.ts:12"}, "properties": {"repobilityId": "77f253e32908c148", "scanner": "scanner-primary", "fingerprint": "0a01c323fb62bce9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a3735b00a1921970", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/auction-e2e-test.ts:90"}, "properties": {"repobilityId": "a67e0fa109917554", "scanner": "scanner-primary", "fingerprint": "a3735b00a1921970", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0ccdb8328bd6a1bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/assign-roster-slots.ts:56"}, "properties": {"repobilityId": "3c5594bd9da70428", "scanner": "scanner-primary", "fingerprint": "0ccdb8328bd6a1bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-008908f85a18fd01", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/populate_players_from_archive.ts:5"}, "properties": {"repobilityId": "c6fc0f5bccaf1d35", "scanner": "scanner-primary", "fingerprint": "008908f85a18fd01", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e94395380c008852", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/populate_mlb_ids.ts:22"}, "properties": {"repobilityId": "21c83a05ffcf7d81", "scanner": "scanner-primary", "fingerprint": "e94395380c008852", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-914ffbf078e921c6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/audit_period.ts:46"}, "properties": {"repobilityId": "e743b3295c5b8eb0", "scanner": "scanner-primary", "fingerprint": "914ffbf078e921c6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0cff3d1837bc860", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/inspect_xlsx.ts:12"}, "properties": {"repobilityId": "d8472a18dd1bac59", "scanner": "scanner-primary", "fingerprint": "f0cff3d1837bc860", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-740213bbcf78c1d2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/regen-draft-report.ts:12"}, "properties": {"repobilityId": "56f8d24c7ad9782b", "scanner": "scanner-primary", "fingerprint": "740213bbcf78c1d2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-98d7804bb993ac24", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/fangraphs-audit.ts:174"}, "properties": {"repobilityId": "bdb9fd051afe9b3e", "scanner": "scanner-primary", "fingerprint": "98d7804bb993ac24", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d8a92ea95a193bb5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/validate_nl_players.ts:17"}, "properties": {"repobilityId": "935e8990d0f48f47", "scanner": "scanner-primary", "fingerprint": "d8a92ea95a193bb5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c8405546d29bb7fd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/safe_fix_template.ts:17"}, "properties": {"repobilityId": "cac3c294ba61d309", "scanner": "scanner-primary", "fingerprint": "c8405546d29bb7fd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2167a99ac22f9eb1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/propagate_mlb_data.ts:22"}, "properties": {"repobilityId": "15c41b4c049dcd76", "scanner": "scanner-primary", "fingerprint": "2167a99ac22f9eb1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-98025d4b111feb95", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/monitor_resources.ts:44"}, "properties": {"repobilityId": "241bda7fd2b9e13f", "scanner": "scanner-primary", "fingerprint": "98025d4b111feb95", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-56629246eda805a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/test_unroll_logic.ts:5"}, "properties": {"repobilityId": "d0b995125304c073", "scanner": "scanner-primary", "fingerprint": "56629246eda805a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ec62785f3e85cbf9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/export_mlb_id_reference.ts:16"}, "properties": {"repobilityId": "77f075bbeac9364a", "scanner": "scanner-primary", "fingerprint": "ec62785f3e85cbf9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-05fbac7b4ece3171", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/export_archive.ts:31"}, "properties": {"repobilityId": "d1386a0321861c84", "scanner": "scanner-primary", "fingerprint": "05fbac7b4ece3171", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b1fa21b2627c5d82", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/test_mlb_gs.ts:10"}, "properties": {"repobilityId": "9734a102d8443c49", "scanner": "scanner-primary", "fingerprint": "b1fa21b2627c5d82", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-294b15bb9b3e7170", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/fetch_period_stats.ts:80"}, "properties": {"repobilityId": "512d5525e01b3d45", "scanner": "scanner-primary", "fingerprint": "294b15bb9b3e7170", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa62ffaf7ffa9f18", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/spot_check_team.ts:45"}, "properties": {"repobilityId": "505c4278bab38dad", "scanner": "scanner-primary", "fingerprint": "aa62ffaf7ffa9f18", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49d15773e75eff59", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/check_db_status.ts:35"}, "properties": {"repobilityId": "ed5cf2e70248fac4", "scanner": "scanner-primary", "fingerprint": "49d15773e75eff59", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5bf1e8d270575a67", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/match_players.ts:79"}, "properties": {"repobilityId": "31c918a07a6e744f", "scanner": "scanner-primary", "fingerprint": "5bf1e8d270575a67", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0b023740d93d4458", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/populate_period1_mlb_ids.ts:35"}, "properties": {"repobilityId": "a4024612170d4590", "scanner": "scanner-primary", "fingerprint": "0b023740d93d4458", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-735105ad4354794f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/populate_full_names.ts:34"}, "properties": {"repobilityId": "a9580e8908fec069", "scanner": "scanner-primary", "fingerprint": "735105ad4354794f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b49d809a54afc454", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/find_mid_period_trades.ts:16"}, "properties": {"repobilityId": "96c7bb0603f6c24e", "scanner": "scanner-primary", "fingerprint": "b49d809a54afc454", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-159b749f593d7c47", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/import_historical_archive.ts:56"}, "properties": {"repobilityId": "cd2ddec822f62ff4", "scanner": "scanner-primary", "fingerprint": "159b749f593d7c47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-afa62ca28f6b0a4c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/setup-auction-test.ts:10"}, "properties": {"repobilityId": "bba57313b5ac098f", "scanner": "scanner-primary", "fingerprint": "afa62ca28f6b0a4c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-940f92888f549156", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/cleanup_non_mlb_teams.ts:19"}, "properties": {"repobilityId": "c04a9425208991bf", "scanner": "scanner-primary", "fingerprint": "940f92888f549156", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f43127be5147605c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/import_onroto_transactions.ts:224"}, "properties": {"repobilityId": "c28255ef165e2a91", "scanner": "scanner-primary", "fingerprint": "f43127be5147605c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a8beebca58795034", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/testRoster.ts:10"}, "properties": {"repobilityId": "a236decf8389d7d8", "scanner": "scanner-primary", "fingerprint": "a8beebca58795034", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a09632b24d588919", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/fetch_mlb_teams.ts:86"}, "properties": {"repobilityId": "c0423fb1e7d612e0", "scanner": "scanner-primary", "fingerprint": "a09632b24d588919", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b79bd24a5724741a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/link_historical_players.ts:18"}, "properties": {"repobilityId": "92ec7ca3dac9ece2", "scanner": "scanner-primary", "fingerprint": "b79bd24a5724741a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e9f6e989eca2cb74", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/test_auth_logic.ts:6"}, "properties": {"repobilityId": "768e22938eec0409", "scanner": "scanner-primary", "fingerprint": "e9f6e989eca2cb74", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-61dc7c833549cffa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/auditRosterRules.ts:39"}, "properties": {"repobilityId": "4c5434a80017d119", "scanner": "scanner-primary", "fingerprint": "61dc7c833549cffa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4a61f2cba0ce5a18", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/update_from_mlb_api.ts:58"}, "properties": {"repobilityId": "97f22daa3c4a8596", "scanner": "scanner-primary", "fingerprint": "4a61f2cba0ce5a18", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0cba82fc66d5fb7d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/backfill-daily-stats.ts:22"}, "properties": {"repobilityId": "4c8cf45621939b57", "scanner": "scanner-primary", "fingerprint": "0cba82fc66d5fb7d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-48585a4ceb8d1228", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/fix_null_teams.ts:49"}, "properties": {"repobilityId": "da60736f9b484f56", "scanner": "scanner-primary", "fingerprint": "48585a4ceb8d1228", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cee9caaac68bd08d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/scripts/normalize_positions.ts:34"}, "properties": {"repobilityId": "22a4cade132bccd1", "scanner": "scanner-primary", "fingerprint": "cee9caaac68bd08d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-007a796135a41cc9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/lib/logger.ts:7"}, "properties": {"repobilityId": "a4c718a7ada425dd", "scanner": "scanner-primary", "fingerprint": "007a796135a41cc9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b22a20c9ea08a6ed", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/transactions/routes.ts:612"}, "properties": {"repobilityId": "141480c464236d48", "scanner": "scanner-primary", "fingerprint": "b22a20c9ea08a6ed", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6dd773a3cb31ac6a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/transactions/lib/freeAgent.ts:24"}, "properties": {"repobilityId": "58b728e52822436a", "scanner": "scanner-primary", "fingerprint": "6dd773a3cb31ac6a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d4c862673d024d31", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/standings/__tests__/routes.test.ts:223"}, "properties": {"repobilityId": "8a651f280c8d4278", "scanner": "scanner-primary", "fingerprint": "d4c862673d024d31", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-db7cee06ed13e9a9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/src/features/archive/services/archiveImportService.ts:127"}, "properties": {"repobilityId": "ec88f537967840a0", "scanner": "scanner-primary", "fingerprint": "db7cee06ed13e9a9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-152ade1079f5b8b4", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/players/__tests__/routes.test.ts:340"}, "properties": {"repobilityId": "f555c23c3790423e", "scanner": "scanner-primary", "fingerprint": "152ade1079f5b8b4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9f862b26a492d3b5", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/admin/routes.ts:917"}, "properties": {"repobilityId": "024e859d81f11407", "scanner": "scanner-primary", "fingerprint": "9f862b26a492d3b5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7232418efcd512ec", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/wire-list/processor.ts:292"}, "properties": {"repobilityId": "a8f57830fc18b9d7", "scanner": "scanner-primary", "fingerprint": "7232418efcd512ec", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6d83af8de789ac28", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 server/src/features/wire-list/routes.ts:307"}, "properties": {"repobilityId": "493070c94c0e534b", "scanner": "scanner-primary", "fingerprint": "6d83af8de789ac28", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9424c2fda868584e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in client/vite.config.ts:3"}, "properties": {"repobilityId": "ef44808567665dfc", "scanner": "scanner-primary", "fingerprint": "9424c2fda868584e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "client/vite.config.ts"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-05c572003f7a3fa8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in client/src/components/MermaidDiagram.tsx:20"}, "properties": {"repobilityId": "31b4de43ea09443f", "scanner": "scanner-primary", "fingerprint": "05c572003f7a3fa8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "client/src/components/MermaidDiagram.tsx"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-6b15be8f4d15c427", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "582b3e8534908182", "scanner": "scanner-primary", "fingerprint": "6b15be8f4d15c427", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9002fa0714cbe925", "level": "note", "message": {"text": "Very large file: client/src/pages/Roadmap.tsx (1014 lines)"}, "properties": {"repobilityId": "dc5fe84a78981f0a", "scanner": "scanner-primary", "fingerprint": "9002fa0714cbe925", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0b5afefe9f83d1e6", "level": "note", "message": {"text": "Very large file: client/src/pages/Tech.tsx (1474 lines)"}, "properties": {"repobilityId": "64fcfedcdc053419", "scanner": "scanner-primary", "fingerprint": "0b5afefe9f83d1e6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-792cdb8bbc4b97b2", "level": "note", "message": {"text": "Very large file: client/src/pages/Changelog.tsx (1554 lines)"}, "properties": {"repobilityId": "bc240f0bda43f897", "scanner": "scanner-primary", "fingerprint": "792cdb8bbc4b97b2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8129c29ec381d46f", "level": "note", "message": {"text": "Very large file: client/src/features/commissioner/pages/Commissioner.tsx (1800 lines)"}, "properties": {"repobilityId": "11eaa2956e7a919b", "scanner": "scanner-primary", "fingerprint": "8129c29ec381d46f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2ae5f192a77d302b", "level": "note", "message": {"text": "Very large file: client/src/features/archive/pages/ArchivePage.tsx (1112 lines)"}, "properties": {"repobilityId": "ecb00f525e33ec8a", "scanner": "scanner-primary", "fingerprint": "2ae5f192a77d302b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-de4f4715e4bc9c69", "level": "note", "message": {"text": "Very large file: client/src/features/teams/pages/TeamLegacy.tsx (1065 lines)"}, "properties": {"repobilityId": "e7704cffab1cdefc", "scanner": "scanner-primary", "fingerprint": "de4f4715e4bc9c69", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e28715d1ab94a6a2", "level": "note", "message": {"text": "Very large file: client/src/features/teams/pages/Team.tsx (1895 lines)"}, "properties": {"repobilityId": "8ffee3332e383471", "scanner": "scanner-primary", "fingerprint": "e28715d1ab94a6a2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a6e02c01f0c8ce15", "level": "note", "message": {"text": "Very large file: server/src/services/aiAnalysisService.ts (1465 lines)"}, "properties": {"repobilityId": "a43c7ebd5ccb0684", "scanner": "scanner-primary", "fingerprint": "a6e02c01f0c8ce15", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-db8b5c25020fe076", "level": "note", "message": {"text": "Very large file: server/src/features/transactions/routes.ts (1722 lines)"}, "properties": {"repobilityId": "c39234fe447f37e6", "scanner": "scanner-primary", "fingerprint": "db8b5c25020fe076", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d7d62b01a1121936", "level": "note", "message": {"text": "Very large file: server/src/features/transactions/__tests__/routes.test.ts (1298 lines)"}, "properties": {"repobilityId": "c2934d2ccb4131c3", "scanner": "scanner-primary", "fingerprint": "d7d62b01a1121936", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9e60e469a38d87df", "level": "note", "message": {"text": "Very large file: server/src/features/commissioner/routes.ts (1450 lines)"}, "properties": {"repobilityId": "f9e711ace79fd06b", "scanner": "scanner-primary", "fingerprint": "9e60e469a38d87df", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dc3a26ad446bd9ba", "level": "note", "message": {"text": "Very large file: server/src/features/auction/routes.ts (2017 lines)"}, "properties": {"repobilityId": "032426fda68cc21c", "scanner": "scanner-primary", "fingerprint": "dc3a26ad446bd9ba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-92ab56ebafdfde73", "level": "note", "message": {"text": "282 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "92ab56ebafdfde73", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "c573bee56ee42ee9", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "b43466c50a370d3a", "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": "d78ef0136033d13b", "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": "8dd5f4168f199df8", "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": "db49165cb5bc7362", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "0f12e368ce615903", "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": "aca7e8a99bc8dbd6", "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": "9abfc0b51023a4c2", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-cc55229a7a3c078d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .mcp.json"}, "properties": {"repobilityId": "51942fb3d5b8b5b4", "scanner": "scanner-primary", "fingerprint": "cc55229a7a3c078d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "mcp_config"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".mcp.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5a61b7b9adb825be", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/db.md"}, "properties": {"repobilityId": "cb5e208942c4d0f9", "scanner": "scanner-primary", "fingerprint": "5a61b7b9adb825be", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/db.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e53bc5e7758016b8", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/feature-test.md"}, "properties": {"repobilityId": "e022e70c739c92da", "scanner": "scanner-primary", "fingerprint": "e53bc5e7758016b8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/feature-test.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2a3fa0634f620c79", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/audit-data.md"}, "properties": {"repobilityId": "e39ff3f8c77f9547", "scanner": "scanner-primary", "fingerprint": "2a3fa0634f620c79", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/audit-data.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d1f58265cb0141e1", "level": "none", "message": {"text": "Commented-code block (15 lines) in sync_db_to_csv.ts:6"}, "properties": {"repobilityId": "98054fa945146ddf", "scanner": "scanner-primary", "fingerprint": "d1f58265cb0141e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-315bec53c41f814c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sync_db_to_csv.ts:86"}, "properties": {"repobilityId": "1d913474c96fd6fb", "scanner": "scanner-primary", "fingerprint": "315bec53c41f814c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-41e3707e1be2183f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 client/public/sw.js:35"}, "properties": {"repobilityId": "60fed3e83fb76f4b", "scanner": "scanner-primary", "fingerprint": "41e3707e1be2183f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c200db4642409f0a", "level": "note", "message": {"text": "Legacy-named symbol `AuctionLegacy` in client/src/App.tsx:8"}, "properties": {"repobilityId": "cdce5533670f05e6", "scanner": "scanner-primary", "fingerprint": "c200db4642409f0a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4a5a8efd632a42cc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/api/base.ts:258"}, "properties": {"repobilityId": "d498418d4e8c44ef", "scanner": "scanner-primary", "fingerprint": "4a5a8efd632a42cc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-25a71e9b975f56ff", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/test/setup.ts:4"}, "properties": {"repobilityId": "8df302aa5dc34304", "scanner": "scanner-primary", "fingerprint": "25a71e9b975f56ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8862715431c5dd49", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/components/GoogleSignInButton.tsx:11"}, "properties": {"repobilityId": "e8d71d3e9f4f222d", "scanner": "scanner-primary", "fingerprint": "8862715431c5dd49", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3283b0c63aaaad9f", "level": "none", "message": {"text": "Commented-code block (8 lines) in client/src/components/AppShell.tsx:107"}, "properties": {"repobilityId": "934e85f0b12f345b", "scanner": "scanner-primary", "fingerprint": "3283b0c63aaaad9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1ff54c21f73d16e", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/components/Sidebar.tsx:345"}, "properties": {"repobilityId": "a9967a2737b774bc", "scanner": "scanner-primary", "fingerprint": "b1ff54c21f73d16e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7cd769c30fcbf67f", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/components/ui/ThemedTable.tsx:49"}, "properties": {"repobilityId": "6bddc15cc6c3c999", "scanner": "scanner-primary", "fingerprint": "7cd769c30fcbf67f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9ae68415e3a4482", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/lib/extractServerError.ts:45"}, "properties": {"repobilityId": "5bebff577b0a79de", "scanner": "scanner-primary", "fingerprint": "c9ae68415e3a4482", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b9eda8ab7dd9a18c", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/lib/__tests__/mlbStatus.test.ts:4"}, "properties": {"repobilityId": "26d8ea41eb2f4370", "scanner": "scanner-primary", "fingerprint": "b9eda8ab7dd9a18c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-397bb80b0b7908fe", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/mobile/pages/MobileTeamMoveSheet.tsx:63"}, "properties": {"repobilityId": "e461d38066f1ca38", "scanner": "scanner-primary", "fingerprint": "397bb80b0b7908fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ea8a8f856e7feb4", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/mobile/pages/MobileTeam.tsx:440"}, "properties": {"repobilityId": "c2349a777eaf6383", "scanner": "scanner-primary", "fingerprint": "2ea8a8f856e7feb4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb9fbe259dbf28c7", "level": "note", "message": {"text": "Legacy-named symbol `TeamLegacy` in client/src/pages/Changelog.tsx:99"}, "properties": {"repobilityId": "b528367d3d60825d", "scanner": "scanner-primary", "fingerprint": "bb9fbe259dbf28c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d659f81df953929a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/pages/Changelog.tsx:384"}, "properties": {"repobilityId": "5040b8832c82d8cc", "scanner": "scanner-primary", "fingerprint": "d659f81df953929a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-471edea9b1c3c4c7", "level": "note", "message": {"text": "Legacy-named symbol `HomeLegacy` in client/src/pages/Home.tsx:16"}, "properties": {"repobilityId": "a89df97b5cee652b", "scanner": "scanner-primary", "fingerprint": "471edea9b1c3c4c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-babd3c7a0ce7bd3b", "level": "none", "message": {"text": "Commented-code block (7 lines) in client/src/pages/MyTeamRedirect.tsx:23"}, "properties": {"repobilityId": "60c14b25d76806fc", "scanner": "scanner-primary", "fingerprint": "babd3c7a0ce7bd3b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-280886e442426e3e", "level": "none", "message": {"text": "Commented-code block (12 lines) in client/src/pages/components/MyTeamTodayPanel.tsx:38"}, "properties": {"repobilityId": "cf1b592b01b3b80c", "scanner": "scanner-primary", "fingerprint": "280886e442426e3e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62466de260506921", "level": "note", "message": {"text": "Legacy-named symbol `HomeLegacy` in client/src/pages/components/HistoricalInsightsTab.tsx:5"}, "properties": {"repobilityId": "fc3f18326c0e9b8c", "scanner": "scanner-primary", "fingerprint": "62466de260506921", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-00806cdb08307230", "level": "note", "message": {"text": "Legacy-named symbol `HomeLegacy` in client/src/pages/components/NewsFeedsPanel.tsx:5"}, "properties": {"repobilityId": "3366405c5cfbfd3f", "scanner": "scanner-primary", "fingerprint": "00806cdb08307230", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e1e031b4fd072c56", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/pages/design/ManualSlotAssignmentPreview.tsx:3"}, "properties": {"repobilityId": "7305828023ef21c6", "scanner": "scanner-primary", "fingerprint": "e1e031b4fd072c56", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a63a1774a1dc3f0c", "level": "none", "message": {"text": "Commented-code block (7 lines) in client/src/pages/design/RosterHubV3Preview.tsx:3"}, "properties": {"repobilityId": "718341a1b7832f7c", "scanner": "scanner-primary", "fingerprint": "a63a1774a1dc3f0c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a84690fe011bf55", "level": "none", "message": {"text": "Commented-code block (7 lines) in client/src/pages/design/DesignRosterHubDeferred.tsx:7"}, "properties": {"repobilityId": "82975003cdf1403b", "scanner": "scanner-primary", "fingerprint": "7a84690fe011bf55", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b01891246b34b7e", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/pages/design/rosterHubScenarios/DesignScenarioIL.tsx:7"}, "properties": {"repobilityId": "22358a969bfc0d2d", "scanner": "scanner-primary", "fingerprint": "1b01891246b34b7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3240df1610646f9a", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/pages/design/rosterHubScenarios/DesignScenarioComplex.tsx:15"}, "properties": {"repobilityId": "2b051a323c0c3d28", "scanner": "scanner-primary", "fingerprint": "3240df1610646f9a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e05514c9c5da5ee", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/pages/design/rosterHubScenarios/DesignScenarioFA.tsx:5"}, "properties": {"repobilityId": "2004431a02fa8266", "scanner": "scanner-primary", "fingerprint": "6e05514c9c5da5ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1002c81bf86fb45", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/pages/design/rosterHubScenarios/mockData.ts:7"}, "properties": {"repobilityId": "b9fa768fb5ea164d", "scanner": "scanner-primary", "fingerprint": "b1002c81bf86fb45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d98a9781b2ad492a", "level": "none", "message": {"text": "Commented-code block (8 lines) in client/src/pages/design/rosterHubScenarios/DesignScenarioWaiver.tsx:10"}, "properties": {"repobilityId": "60ed2d926136dbc7", "scanner": "scanner-primary", "fingerprint": "d98a9781b2ad492a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-45e5e5c6aa286e08", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/hooks/useSessionHeartbeat.ts:43"}, "properties": {"repobilityId": "9dea1c04847fb3e3", "scanner": "scanner-primary", "fingerprint": "45e5e5c6aa286e08", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e0cea79002954d2b", "level": "none", "message": {"text": "Commented-code block (8 lines) in client/src/features/transactions/components/TransactionResultModal.tsx:15"}, "properties": {"repobilityId": "e17344c2f6562929", "scanner": "scanner-primary", "fingerprint": "e0cea79002954d2b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-401a86542c3b620e", "level": "none", "message": {"text": "Commented-code block (8 lines) in client/src/features/transactions/components/RosterMovesTab/AddDropPanel.tsx:672"}, "properties": {"repobilityId": "84309152f0dd158f", "scanner": "scanner-primary", "fingerprint": "401a86542c3b620e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca9a1739548fec7b", "level": "none", "message": {"text": "Commented-code block (8 lines) in client/src/features/transactions/components/RosterMovesTab/types.ts:1"}, "properties": {"repobilityId": "4428e231ed5c65e6", "scanner": "scanner-primary", "fingerprint": "ca9a1739548fec7b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f223d7f07930ec4b", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/transactions/components/RosterMovesTab/__tests__/AddDropPanel.test.tsx:224"}, "properties": {"repobilityId": "b623678066999318", "scanner": "scanner-primary", "fingerprint": "f223d7f07930ec4b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-154056d58fadeb94", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/transactions/components/SwapMode/types.ts:3"}, "properties": {"repobilityId": "289ddf8f877968ac", "scanner": "scanner-primary", "fingerprint": "154056d58fadeb94", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c572932bb467784", "level": "note", "message": {"text": "Legacy-named symbol `TeamLegacy` in client/src/features/transactions/lib/loadRosterMovePlayers.ts:14"}, "properties": {"repobilityId": "0df43765ada3f691", "scanner": "scanner-primary", "fingerprint": "4c572932bb467784", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3f07242d80008ee5", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/transactions/lib/loadRosterMovePlayers.ts:61"}, "properties": {"repobilityId": "fafa64d1b329238a", "scanner": "scanner-primary", "fingerprint": "3f07242d80008ee5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-706dca8d634ac2a6", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/transactions/lib/__tests__/permissions.test.ts:4"}, "properties": {"repobilityId": "ea6c7a54359cdb7a", "scanner": "scanner-primary", "fingerprint": "706dca8d634ac2a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5233df14630e4fd0", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/transactions/lib/__tests__/loadRosterMovePlayers.test.ts:4"}, "properties": {"repobilityId": "ffc995d9c1a49fb6", "scanner": "scanner-primary", "fingerprint": "5233df14630e4fd0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e915d2a6e9be355a", "level": "note", "message": {"text": "Legacy-named symbol `ActivityPageLegacy` in client/src/features/transactions/pages/ActivityPage.tsx:15"}, "properties": {"repobilityId": "db77dde5695526dd", "scanner": "scanner-primary", "fingerprint": "e915d2a6e9be355a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9df3352224ac1478", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/transactions/pages/ActivityPage.tsx:371"}, "properties": {"repobilityId": "da1f2668618ecb90", "scanner": "scanner-primary", "fingerprint": "9df3352224ac1478", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-713179fe460ad707", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/commissioner/__tests__/enrichPlayersWithRosterState.test.ts:4"}, "properties": {"repobilityId": "8f70dc21a0bab1ad", "scanner": "scanner-primary", "fingerprint": "713179fe460ad707", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3be5a4e5017b64a2", "level": "note", "message": {"text": "Legacy-named symbol `SeasonLegacy` in client/src/features/periods/components/CategoryStandingsView.tsx:20"}, "properties": {"repobilityId": "2eaf77efb8fb5ba1", "scanner": "scanner-primary", "fingerprint": "3be5a4e5017b64a2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d76697204ed8a06b", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/periods/components/CategoryStandingsView.tsx:135"}, "properties": {"repobilityId": "5f5446d41c0ef283", "scanner": "scanner-primary", "fingerprint": "d76697204ed8a06b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39e2030a87aca4c1", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/roster/__tests__/RosterGrid.test.tsx:140"}, "properties": {"repobilityId": "30145b2c98034637", "scanner": "scanner-primary", "fingerprint": "39e2030a87aca4c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93ddd5329afb2162", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/archive/__tests__/ArchivePage.test.tsx:318"}, "properties": {"repobilityId": "a8d0f15b0af3c352", "scanner": "scanner-primary", "fingerprint": "93ddd5329afb2162", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e50d692b5ec44f5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/features/archive/pages/ArchivePage.tsx:312"}, "properties": {"repobilityId": "d11c9194cba76483", "scanner": "scanner-primary", "fingerprint": "6e50d692b5ec44f5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-52add063c8c5268e", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/players/api.ts:246"}, "properties": {"repobilityId": "02485b62b2c2fdda", "scanner": "scanner-primary", "fingerprint": "52add063c8c5268e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47e7c7a2e6851ef4", "level": "none", "message": {"text": "Commented-code block (8 lines) in client/src/features/players/pages/InjuredListPage.tsx:6"}, "properties": {"repobilityId": "547b07ba98f9d50f", "scanner": "scanner-primary", "fingerprint": "47e7c7a2e6851ef4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-703c868cc3425e58", "level": "note", "message": {"text": "Legacy-named symbol `PlayersLegacy` in client/src/features/players/pages/Players.tsx:25"}, "properties": {"repobilityId": "7ee21f72678b6ba6", "scanner": "scanner-primary", "fingerprint": "703c868cc3425e58", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-211aa7d9c86a959b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 client/src/features/chat/components/ChatPanel.tsx:146"}, "properties": {"repobilityId": "7665e607331a689f", "scanner": "scanner-primary", "fingerprint": "211aa7d9c86a959b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0c138bd80a10ea80", "level": "note", "message": {"text": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/__tests__/Team.IL.test.tsx:80"}, "properties": {"repobilityId": "18c2388d0ef3e016", "scanner": "scanner-primary", "fingerprint": "0c138bd80a10ea80", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3a951d602a1df735", "level": "none", "message": {"text": "Commented-code block (10 lines) in client/src/features/teams/__tests__/Team.aurora-additions.test.tsx:7"}, "properties": {"repobilityId": "f7171fed0c616150", "scanner": "scanner-primary", "fingerprint": "3a951d602a1df735", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cde48f0481233f92", "level": "note", "message": {"text": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/__tests__/Team.test.tsx:63"}, "properties": {"repobilityId": "69820bfe606f16ce", "scanner": "scanner-primary", "fingerprint": "cde48f0481233f92", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cb7ccaf9127c908d", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/teams/__tests__/Team.test.tsx:61"}, "properties": {"repobilityId": "829641ea802023a8", "scanner": "scanner-primary", "fingerprint": "cb7ccaf9127c908d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-61c4d51a4dbeb1c9", "level": "note", "message": {"text": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/__tests__/Team.ghostIl.test.tsx:13"}, "properties": {"repobilityId": "1a806ff04665f0dc", "scanner": "scanner-primary", "fingerprint": "61c4d51a4dbeb1c9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6f3d1346e4a42fe1", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/teams/__tests__/Team.ghostIl.test.tsx:3"}, "properties": {"repobilityId": "5aa77116f2d5c488", "scanner": "scanner-primary", "fingerprint": "6f3d1346e4a42fe1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3417805c61070797", "level": "none", "message": {"text": "Commented-code block (9 lines) in client/src/features/teams/components/TeamRosterManager.tsx:208"}, "properties": {"repobilityId": "8c8d59e03b2c89c7", "scanner": "scanner-primary", "fingerprint": "3417805c61070797", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ec15f3714fd8e5f", "level": "none", "message": {"text": "Commented-code block (7 lines) in client/src/features/teams/components/RosterHub/ManagePanel.tsx:3"}, "properties": {"repobilityId": "e37f7d571cc5ead7", "scanner": "scanner-primary", "fingerprint": "7ec15f3714fd8e5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1454b4090f0d9111", "level": "none", "message": {"text": "Commented-code block (12 lines) in client/src/features/teams/components/RosterHub/FreeAgentPanel.tsx:6"}, "properties": {"repobilityId": "308b98252d428223", "scanner": "scanner-primary", "fingerprint": "1454b4090f0d9111", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b08f3e5ec1e0b1b5", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/teams/components/RosterHub/SubroutePanelMocks.tsx:3"}, "properties": {"repobilityId": "82f6271df4e4cc45", "scanner": "scanner-primary", "fingerprint": "b08f3e5ec1e0b1b5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04e9f98756247c85", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/teams/components/RosterHub/PositionPill.tsx:7"}, "properties": {"repobilityId": "e452ecfeba5c96a7", "scanner": "scanner-primary", "fingerprint": "04e9f98756247c85", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-90bfbc3c6aacce68", "level": "none", "message": {"text": "Commented-code block (9 lines) in client/src/features/teams/components/RosterHub/rowShared.tsx:3"}, "properties": {"repobilityId": "8cc093d1f41f0558", "scanner": "scanner-primary", "fingerprint": "90bfbc3c6aacce68", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ad62125f79c2f5d", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/teams/components/RosterHub/DropPool.tsx:6"}, "properties": {"repobilityId": "871ae6d1d7dbbfb5", "scanner": "scanner-primary", "fingerprint": "4ad62125f79c2f5d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85593a65f9631ad6", "level": "none", "message": {"text": "Commented-code block (14 lines) in client/src/features/teams/components/RosterHub/RosterHubV3.tsx:7"}, "properties": {"repobilityId": "d796d9827ea8a384", "scanner": "scanner-primary", "fingerprint": "85593a65f9631ad6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a0d393a9e54d721", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/teams/components/RosterHub/SaveDiffPreviewModal.tsx:3"}, "properties": {"repobilityId": "4eaab35d8e76e3d0", "scanner": "scanner-primary", "fingerprint": "0a0d393a9e54d721", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94f640a47b45ce36", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/teams/components/RosterHub/RosterRowV3.tsx:6"}, "properties": {"repobilityId": "2cad765cd04101ed", "scanner": "scanner-primary", "fingerprint": "94f640a47b45ce36", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-342791070389cdf9", "level": "none", "message": {"text": "Commented-code block (7 lines) in client/src/features/teams/components/RosterHub/IlSectionV3.tsx:8"}, "properties": {"repobilityId": "7aab0d639e3d14c4", "scanner": "scanner-primary", "fingerprint": "342791070389cdf9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8f266b262fdb22d7", "level": "none", "message": {"text": "Commented-code block (8 lines) in client/src/features/teams/components/RosterHub/MobileRowV3.tsx:8"}, "properties": {"repobilityId": "aa7712474e764703", "scanner": "scanner-primary", "fingerprint": "8f266b262fdb22d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-be8b03ee39068062", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/teams/components/RosterHub/PendingChangeBar.tsx:3"}, "properties": {"repobilityId": "c9c73824d24fcff2", "scanner": "scanner-primary", "fingerprint": "be8b03ee39068062", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-943b79c18422dffa", "level": "none", "message": {"text": "Commented-code block (7 lines) in client/src/features/teams/components/RosterHub/PositionEligibilityCell.tsx:10"}, "properties": {"repobilityId": "66bc98e73cbf629b", "scanner": "scanner-primary", "fingerprint": "943b79c18422dffa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10a7c690337a558a", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/teams/components/RosterHub/SubrouteContainer.tsx:3"}, "properties": {"repobilityId": "4f1940d0bcfd9f0a", "scanner": "scanner-primary", "fingerprint": "10a7c690337a558a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-278634cf3039a924", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/teams/components/RosterHub/__tests__/FreeAgentPanel.virtualization.test.tsx:8"}, "properties": {"repobilityId": "e0f3af78042376c4", "scanner": "scanner-primary", "fingerprint": "278634cf3039a924", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8bfbdb006b55fab7", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/teams/lib/toHubPlayer.ts:3"}, "properties": {"repobilityId": "96476275a3db4212", "scanner": "scanner-primary", "fingerprint": "8bfbdb006b55fab7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33536c1fb09abe84", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/teams/lib/__tests__/toHubPlayer.test.ts:329"}, "properties": {"repobilityId": "f1d0e4966026f514", "scanner": "scanner-primary", "fingerprint": "33536c1fb09abe84", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-821fb383ceb8b30a", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/teams/pages/TeamsIndex.tsx:73"}, "properties": {"repobilityId": "5e3dd91e096933f8", "scanner": "scanner-primary", "fingerprint": "821fb383ceb8b30a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa124c2f95fde8b0", "level": "note", "message": {"text": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/pages/Team.tsx:1258"}, "properties": {"repobilityId": "ddd1cfe392d716ff", "scanner": "scanner-primary", "fingerprint": "aa124c2f95fde8b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e19cf9cac23452e8", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/teams/pages/Team.tsx:62"}, "properties": {"repobilityId": "59704a37557c44bb", "scanner": "scanner-primary", "fingerprint": "e19cf9cac23452e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c3c0e69f54070bf", "level": "none", "message": {"text": "Commented-code block (7 lines) in client/src/features/teams/pages/teamManageContext.ts:3"}, "properties": {"repobilityId": "3c7e485f129cfdb0", "scanner": "scanner-primary", "fingerprint": "2c3c0e69f54070bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7fe482b479049007", "level": "note", "message": {"text": "Legacy-named symbol `TeamLegacy` in client/src/features/teams/pages/__tests__/TeamLegacy.test.tsx:2"}, "properties": {"repobilityId": "e3085e30e966088f", "scanner": "scanner-primary", "fingerprint": "7fe482b479049007", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ec3e591729f5b383", "level": "none", "message": {"text": "Commented-code block (15 lines) in client/src/features/teams/hooks/usePendingChanges.ts:8"}, "properties": {"repobilityId": "051db40d59f23357", "scanner": "scanner-primary", "fingerprint": "ec3e591729f5b383", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44afbcde861091c0", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/teams/hooks/useFreeAgents.ts:8"}, "properties": {"repobilityId": "c4d0c26b711fa9d3", "scanner": "scanner-primary", "fingerprint": "44afbcde861091c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f6162ae72586399a", "level": "none", "message": {"text": "Commented-code block (15 lines) in client/src/features/teams/hooks/useRosterHubDrag.tsx:3"}, "properties": {"repobilityId": "a4541eef167d41bb", "scanner": "scanner-primary", "fingerprint": "f6162ae72586399a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f679885f035268b9", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/teams/hooks/__tests__/useRosterHubDrag.test.tsx:80"}, "properties": {"repobilityId": "cca55fa25d97aecd", "scanner": "scanner-primary", "fingerprint": "f679885f035268b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c000f96feb03e767", "level": "none", "message": {"text": "Commented-code block (7 lines) in client/src/features/teams/hooks/__tests__/usePendingChanges.atomic.integration.test.tsx:3"}, "properties": {"repobilityId": "9c3c6d72827e2eec", "scanner": "scanner-primary", "fingerprint": "c000f96feb03e767", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09dfd31b285c2555", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/teams/hooks/__tests__/usePendingChanges.test.tsx:454"}, "properties": {"repobilityId": "74a8350826488ea8", "scanner": "scanner-primary", "fingerprint": "09dfd31b285c2555", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80ae8fb6e21c7ed5", "level": "none", "message": {"text": "Commented-code block (6 lines) in client/src/features/teams/hooks/__tests__/usePendingChanges.complex.test.tsx:3"}, "properties": {"repobilityId": "509a5f946f362154", "scanner": "scanner-primary", "fingerprint": "80ae8fb6e21c7ed5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ad3452ecd322851", "level": "note", "message": {"text": "Legacy-named symbol `AuctionLayoutLegacy` in client/src/features/auction/components/AuctionLayoutLegacy.tsx:16"}, "properties": {"repobilityId": "d741f3b3e1cd84e1", "scanner": "scanner-primary", "fingerprint": "5ad3452ecd322851", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cd8738e90343b34f", "level": "note", "message": {"text": "Legacy-named symbol `AuctionStageLegacy` in client/src/features/auction/components/AuctionStageLegacy.tsx:48"}, "properties": {"repobilityId": "df4535f3dec0acae", "scanner": "scanner-primary", "fingerprint": "cd8738e90343b34f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-74c4f326ef3b9e60", "level": "note", "message": {"text": "Legacy-named symbol `TeamListTabLegacy` in client/src/features/auction/components/TeamListTabLegacy.tsx:57"}, "properties": {"repobilityId": "842415a8a7071695", "scanner": "scanner-primary", "fingerprint": "74c4f326ef3b9e60", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0fbf2688979d6c6f", "level": "note", "message": {"text": "Legacy-named symbol `PlayerPoolTabLegacy` in client/src/features/auction/components/PlayerPoolTabLegacy.tsx:43"}, "properties": {"repobilityId": "8c632749fbcbe7c4", "scanner": "scanner-primary", "fingerprint": "0fbf2688979d6c6f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5fd8e53db4ccc583", "level": "note", "message": {"text": "Legacy-named symbol `NominationQueueLegacy` in client/src/features/auction/components/NominationQueueLegacy.tsx:18"}, "properties": {"repobilityId": "5f2f77d21c70cd3d", "scanner": "scanner-primary", "fingerprint": "5fd8e53db4ccc583", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c0933242fa0e6a0b", "level": "note", "message": {"text": "Legacy-named symbol `ChatTabLegacy` in client/src/features/auction/components/ChatTabLegacy.tsx:11"}, "properties": {"repobilityId": "7c2d7b01fc5bf3b1", "scanner": "scanner-primary", "fingerprint": "c0933242fa0e6a0b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7150e8c116c05ded", "level": "note", "message": {"text": "Legacy-named symbol `ContextDeckLegacy` in client/src/features/auction/components/ContextDeckLegacy.tsx:16"}, "properties": {"repobilityId": "b329b270bac020af", "scanner": "scanner-primary", "fingerprint": "7150e8c116c05ded", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c8119716c84f4fb8", "level": "note", "message": {"text": "Legacy-named symbol `AuctionSettingsTabLegacy` in client/src/features/auction/components/AuctionSettingsTabLegacy.tsx:24"}, "properties": {"repobilityId": "707b92af64b79bf0", "scanner": "scanner-primary", "fingerprint": "c8119716c84f4fb8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8220ffa907353da2", "level": "note", "message": {"text": "Legacy-named symbol `AuctionCompleteLegacy` in client/src/features/auction/components/AuctionCompleteLegacy.tsx:43"}, "properties": {"repobilityId": "ca37bd70951db0c5", "scanner": "scanner-primary", "fingerprint": "8220ffa907353da2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c7801690fd20e609", "level": "note", "message": {"text": "Legacy-named symbol `MyNominationQueueLegacy` in client/src/features/auction/components/MyNominationQueueLegacy.tsx:17"}, "properties": {"repobilityId": "772121ed8c708a58", "scanner": "scanner-primary", "fingerprint": "c7801690fd20e609", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9edfda1a8ee2fb3f", "level": "note", "message": {"text": "Legacy-named symbol `AuctionStageLegacy` in client/src/features/auction/components/AuctionStage.tsx:25"}, "properties": {"repobilityId": "c8b24fcb1ba8e58f", "scanner": "scanner-primary", "fingerprint": "9edfda1a8ee2fb3f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-34cd3c7444d13cf8", "level": "note", "message": {"text": "Legacy-named symbol `AuctionResultsLegacy` in client/src/features/auction/pages/AuctionResults.tsx:13"}, "properties": {"repobilityId": "9f929d2aafc3e453", "scanner": "scanner-primary", "fingerprint": "34cd3c7444d13cf8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-83ba94167b6eabaa", "level": "note", "message": {"text": "Legacy-named symbol `AuctionValuesLegacy` in client/src/features/auction/pages/AuctionValues.tsx:16"}, "properties": {"repobilityId": "28b625006a7e2a40", "scanner": "scanner-primary", "fingerprint": "83ba94167b6eabaa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9754e63c499f6a5c", "level": "note", "message": {"text": "Legacy-named symbol `AuctionLegacy` in client/src/features/auction/pages/AuctionLegacy.tsx:26"}, "properties": {"repobilityId": "44645a1ede537565", "scanner": "scanner-primary", "fingerprint": "9754e63c499f6a5c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3dd9807690392aa8", "level": "note", "message": {"text": "Legacy-named symbol `MatchupLegacy` in client/src/features/matchups/pages/Matchup.tsx:10"}, "properties": {"repobilityId": "1838860093758c5d", "scanner": "scanner-primary", "fingerprint": "3dd9807690392aa8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0cacf1ca86379304", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/watchlist/components/WatchlistPanel.tsx:68"}, "properties": {"repobilityId": "769732dc056a470f", "scanner": "scanner-primary", "fingerprint": "0cacf1ca86379304", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f9d09b836786c87b", "level": "none", "message": {"text": "Commented-code block (5 lines) in client/src/features/wire-list/pages/WireListCommissionerPage.tsx:130"}, "properties": {"repobilityId": "f1273b4594ed21e4", "scanner": "scanner-primary", "fingerprint": "f9d09b836786c87b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56596c52ecfe04b1", "level": "none", "message": {"text": "Commented-code block (7 lines) in shared/api/rosterMoves.ts:401"}, "properties": {"repobilityId": "25ed6747c92374e0", "scanner": "scanner-primary", "fingerprint": "56596c52ecfe04b1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-120e4e694fd7c9a7", "level": "none", "message": {"text": "Commented-code block (5 lines) in shared/api/playerSeasonStats.ts:36"}, "properties": {"repobilityId": "cae4580350a335e6", "scanner": "scanner-primary", "fingerprint": "120e4e694fd7c9a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9da18bba4de32b0f", "level": "note", "message": {"text": "Legacy-named symbol `ogba_player_season_totals_2025_with_meta_v2` in server/scripts/generate_v2.js:10"}, "properties": {"repobilityId": "ea9fad0f3135ed0c", "scanner": "scanner-primary", "fingerprint": "9da18bba4de32b0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-df27f0fbd55498ec", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/index.ts:136"}, "properties": {"repobilityId": "66977d748adca91b", "scanner": "scanner-primary", "fingerprint": "df27f0fbd55498ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9c9d61ec85726164", "level": "none", "message": {"text": "Commented-code block (9 lines) in server/src/__tests__/integration/auction-simulation.test.ts:888"}, "properties": {"repobilityId": "e59c92f1278de28d", "scanner": "scanner-primary", "fingerprint": "9c9d61ec85726164", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9086650323ae6f5b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/auction-e2e-test.ts:31"}, "properties": {"repobilityId": "6874cbb47590b844", "scanner": "scanner-primary", "fingerprint": "9086650323ae6f5b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f698c0a03896a562", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/populate_mlb_ids.ts:31"}, "properties": {"repobilityId": "cad9a4c1dd97e721", "scanner": "scanner-primary", "fingerprint": "f698c0a03896a562", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dd8945efdc44da82", "level": "none", "message": {"text": "Commented-code block (8 lines) in server/src/scripts/fangraphs-audit.ts:116"}, "properties": {"repobilityId": "5fb7fa203662e990", "scanner": "scanner-primary", "fingerprint": "dd8945efdc44da82", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27c0c0d0b17ac9a0", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/scripts/safe_fix_template.ts:21"}, "properties": {"repobilityId": "df0c3ce791902a9b", "scanner": "scanner-primary", "fingerprint": "27c0c0d0b17ac9a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f0d33934417cab19", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/fetch_period_stats.ts:37"}, "properties": {"repobilityId": "c6250b1f852bd9ea", "scanner": "scanner-primary", "fingerprint": "f0d33934417cab19", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6fceecc257b8d180", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/testRoster.ts:38"}, "properties": {"repobilityId": "60bedfa46bf6951b", "scanner": "scanner-primary", "fingerprint": "6fceecc257b8d180", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-112451fcbd72db43", "level": "none", "message": {"text": "Commented-code block (9 lines) in server/src/scripts/auditRosterRules.ts:4"}, "properties": {"repobilityId": "cc4b70312468ec64", "scanner": "scanner-primary", "fingerprint": "112451fcbd72db43", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86e308181a334840", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/scripts/fix_null_teams.ts:55"}, "properties": {"repobilityId": "3ddd928f5553c755", "scanner": "scanner-primary", "fingerprint": "86e308181a334840", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-58900eb40cc61922", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/src/lib/leagueRuleCache.ts:4"}, "properties": {"repobilityId": "78b50a9812472bf5", "scanner": "scanner-primary", "fingerprint": "58900eb40cc61922", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8059f43cdc4f0c61", "level": "none", "message": {"text": "Commented-code block (10 lines) in server/src/lib/ilSlotGuard.ts:4"}, "properties": {"repobilityId": "7403f1f1722e4c9e", "scanner": "scanner-primary", "fingerprint": "8059f43cdc4f0c61", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1aebd09c2665b47d", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/lib/rosterWindow.ts:5"}, "properties": {"repobilityId": "747ea842922461ad", "scanner": "scanner-primary", "fingerprint": "1aebd09c2665b47d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5dce8461e2930f25", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/lib/__tests__/leagueRuleCache.test.ts:168"}, "properties": {"repobilityId": "d171d3282155cae2", "scanner": "scanner-primary", "fingerprint": "5dce8461e2930f25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba47d369af73b576", "level": "none", "message": {"text": "Commented-code block (8 lines) in server/src/lib/sports/baseball.ts:83"}, "properties": {"repobilityId": "4a4ec478bf4366f6", "scanner": "scanner-primary", "fingerprint": "ba47d369af73b576", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9105607aaea35480", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/services/aiAnalysisService.ts:32"}, "properties": {"repobilityId": "5c3a7d8202a3bdbf", "scanner": "scanner-primary", "fingerprint": "9105607aaea35480", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4c4a626d4a320dd8", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/src/db/prisma.ts:10"}, "properties": {"repobilityId": "5c46b0b9d4f95d3b", "scanner": "scanner-primary", "fingerprint": "4c4a626d4a320dd8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1b0e39fb6c061f1", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/src/db/__tests__/prisma.test.ts:9"}, "properties": {"repobilityId": "6b409e0b0a7aed9e", "scanner": "scanner-primary", "fingerprint": "b1b0e39fb6c061f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f09e7810b53737c", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/transactions/routes.ts:313"}, "properties": {"repobilityId": "0e1c80adcee52b60", "scanner": "scanner-primary", "fingerprint": "5f09e7810b53737c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7526e1012d647a9", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/src/features/transactions/__tests__/routes.test.ts:226"}, "properties": {"repobilityId": "4661c10f95ed7ea2", "scanner": "scanner-primary", "fingerprint": "f7526e1012d647a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d1050674d6483e2", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/src/features/transactions/__tests__/schemas.test.ts:16"}, "properties": {"repobilityId": "1a0243fc4f46f4e0", "scanner": "scanner-primary", "fingerprint": "3d1050674d6483e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b8f8cc7811b117f", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/src/features/transactions/lib/slotMatcher.ts:5"}, "properties": {"repobilityId": "928d7f9f369be9c7", "scanner": "scanner-primary", "fingerprint": "4b8f8cc7811b117f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80e54d0cff2cca41", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/transactions/lib/freeAgent.ts:3"}, "properties": {"repobilityId": "ade6117a4d940938", "scanner": "scanner-primary", "fingerprint": "80e54d0cff2cca41", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5ae3d1c428d7198", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/transactions/lib/positionInherit.ts:1"}, "properties": {"repobilityId": "94d2e932c9462acf", "scanner": "scanner-primary", "fingerprint": "d5ae3d1c428d7198", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16eaffe8efc860e4", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/transactions/lib/autoResolveLineup.ts:3"}, "properties": {"repobilityId": "a554711cd778ba27", "scanner": "scanner-primary", "fingerprint": "16eaffe8efc860e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c02bf5b4eea2d741", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/transactions/lib/__tests__/slotMatcher.test.ts:271"}, "properties": {"repobilityId": "f1920d57d8585e5f", "scanner": "scanner-primary", "fingerprint": "c02bf5b4eea2d741", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9687b50a1ff3a28a", "level": "none", "message": {"text": "Commented-code block (9 lines) in server/src/features/transactions/services/ilFeeService.ts:9"}, "properties": {"repobilityId": "82bc7161612bef76", "scanner": "scanner-primary", "fingerprint": "9687b50a1ff3a28a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-179293e0fe5946d6", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/commissioner/routes.ts:816"}, "properties": {"repobilityId": "4b25217fced4be3b", "scanner": "scanner-primary", "fingerprint": "179293e0fe5946d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9823de3a6ccfcf2d", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/src/features/commissioner/services/CommissionerService.ts:150"}, "properties": {"repobilityId": "1802446ad67d260a", "scanner": "scanner-primary", "fingerprint": "9823de3a6ccfcf2d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-887d5e0943e387e1", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/src/features/standings/routes.ts:140"}, "properties": {"repobilityId": "5a3d6c18ddbf40a7", "scanner": "scanner-primary", "fingerprint": "887d5e0943e387e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35b9c8795da6f1a7", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/standings/__tests__/standingsService.IL.test.ts:279"}, "properties": {"repobilityId": "57bae989f61ecf8a", "scanner": "scanner-primary", "fingerprint": "35b9c8795da6f1a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-11ee9df9cd4c5611", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/standings/__tests__/routes.test.ts:223"}, "properties": {"repobilityId": "00d61db37bedfb04", "scanner": "scanner-primary", "fingerprint": "11ee9df9cd4c5611", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f9e7b7925fcdd1e4", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/src/features/standings/__tests__/standingsService.releaseAt.test.ts:117"}, "properties": {"repobilityId": "a5fff8a360c4b80d", "scanner": "scanner-primary", "fingerprint": "f9e7b7925fcdd1e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e98a41c2d5d0d22", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/standings/__tests__/standingsService.differential.test.ts:210"}, "properties": {"repobilityId": "1b161bc2298f0b7c", "scanner": "scanner-primary", "fingerprint": "9e98a41c2d5d0d22", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-885dacfe5671ad16", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/src/features/standings/services/standingsService.ts:425"}, "properties": {"repobilityId": "c180822bae25b146", "scanner": "scanner-primary", "fingerprint": "885dacfe5671ad16", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1405c3213de55ca", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/awards/services/awardsService.ts:212"}, "properties": {"repobilityId": "0cbfb0af8db9e3dd", "scanner": "scanner-primary", "fingerprint": "d1405c3213de55ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-60701954b62dd80a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/features/archive/routes.ts:434"}, "properties": {"repobilityId": "b7c055a86d217059", "scanner": "scanner-primary", "fingerprint": "60701954b62dd80a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a1c494dcbfcd621d", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/archive/__tests__/routes.test.ts:406"}, "properties": {"repobilityId": "2524518934ff1a1a", "scanner": "scanner-primary", "fingerprint": "a1c494dcbfcd621d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34981f83c1404f2a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/features/archive/services/archiveStatsService.ts:84"}, "properties": {"repobilityId": "88ccb2c38500f49b", "scanner": "scanner-primary", "fingerprint": "34981f83c1404f2a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1dd558057a3482cb", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/src/features/ai/lib/checkpoints.ts:8"}, "properties": {"repobilityId": "9557371f7e068824", "scanner": "scanner-primary", "fingerprint": "1dd558057a3482cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-930eb531ba14a221", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/src/features/ai/services/draftReportCardService.ts:14"}, "properties": {"repobilityId": "c459c7133969c027", "scanner": "scanner-primary", "fingerprint": "930eb531ba14a221", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-252bae6891bdb991", "level": "note", "message": {"text": "Legacy-named symbol `TeamLegacy` in server/src/features/players/routes.ts:167"}, "properties": {"repobilityId": "a2ae03416215c528", "scanner": "scanner-primary", "fingerprint": "252bae6891bdb991", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-83d5b69eb6d0b109", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/players/routes.ts:140"}, "properties": {"repobilityId": "3c8a30aaacd13785", "scanner": "scanner-primary", "fingerprint": "83d5b69eb6d0b109", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7aa7ffd73ab7433f", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/src/features/players/__tests__/mlbSyncService.test.ts:162"}, "properties": {"repobilityId": "f77b0e1d726f0869", "scanner": "scanner-primary", "fingerprint": "7aa7ffd73ab7433f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5795029e1dfd1e59", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/players/services/mlbSyncService.ts:384"}, "properties": {"repobilityId": "ce9857ff5ab0d414", "scanner": "scanner-primary", "fingerprint": "5795029e1dfd1e59", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f18ac73943807dd2", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/players/services/mlbStatsSyncService.ts:295"}, "properties": {"repobilityId": "f22e59698f9d65ce", "scanner": "scanner-primary", "fingerprint": "f18ac73943807dd2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8691a32e191a5c8", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/src/features/mlb-feed/digestRoutes.ts:103"}, "properties": {"repobilityId": "5ee46d7906a79e66", "scanner": "scanner-primary", "fingerprint": "d8691a32e191a5c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e1c6a54f19d931c", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/src/features/teams/routes.ts:17"}, "properties": {"repobilityId": "0a52293087996d7b", "scanner": "scanner-primary", "fingerprint": "9e1c6a54f19d931c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea119b14169d71ea", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/src/features/teams/routes.ts:824"}, "properties": {"repobilityId": "317ae5229618e3e5", "scanner": "scanner-primary", "fingerprint": "ea119b14169d71ea", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fabed1bc6e03385c", "level": "none", "message": {"text": "Commented-code block (14 lines) in server/src/features/teams/__tests__/routes.test.ts:493"}, "properties": {"repobilityId": "dd53208e09734233", "scanner": "scanner-primary", "fingerprint": "fabed1bc6e03385c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e103a0ba73474ffb", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/auction/routes.ts:638"}, "properties": {"repobilityId": "f5b9977090a5feca", "scanner": "scanner-primary", "fingerprint": "e103a0ba73474ffb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3395ba783c8769be", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/src/features/auction/lib/auctionDaySnapshot.ts:1"}, "properties": {"repobilityId": "d823a495d0324257", "scanner": "scanner-primary", "fingerprint": "3395ba783c8769be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2387d919af84a744", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/auction/services/auctionImport.ts:83"}, "properties": {"repobilityId": "81bfc4f4b7940321", "scanner": "scanner-primary", "fingerprint": "2387d919af84a744", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e88cc5207586b00f", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/admin/services/dashboardService.ts:130"}, "properties": {"repobilityId": "44708f71dadf719c", "scanner": "scanner-primary", "fingerprint": "e88cc5207586b00f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e5dff622741f1c7", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/src/features/wire-list/processor.ts:54"}, "properties": {"repobilityId": "b991499ce1faf43e", "scanner": "scanner-primary", "fingerprint": "8e5dff622741f1c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1706929cc7f87f0c", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/src/features/wire-list/routes.ts:45"}, "properties": {"repobilityId": "b82dc771c4a114a0", "scanner": "scanner-primary", "fingerprint": "1706929cc7f87f0c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49c2e1781af22961", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/src/features/wire-list/__tests__/processor.test.ts:120"}, "properties": {"repobilityId": "81b5f22c2a04e352", "scanner": "scanner-primary", "fingerprint": "49c2e1781af22961", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a6f1ea65d610d47f", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/src/features/wire-list/__tests__/reducer.test.ts:336"}, "properties": {"repobilityId": "2ed715b35198129a", "scanner": "scanner-primary", "fingerprint": "a6f1ea65d610d47f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-802f753e08d7136d", "level": "none", "message": {"text": "Commented-code block (11 lines) in server/src/features/wire-list/services/processorService.ts:152"}, "properties": {"repobilityId": "cb7540fda38917c2", "scanner": "scanner-primary", "fingerprint": "802f753e08d7136d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5dfd339f6133dddb", "level": "none", "message": {"text": "Commented-code block (9 lines) in server/src/features/trades/routes.ts:242"}, "properties": {"repobilityId": "2db905885adcb48b", "scanner": "scanner-primary", "fingerprint": "5dfd339f6133dddb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39d636b3e4a12d5f", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/src/features/waivers/routes.ts:382"}, "properties": {"repobilityId": "fa376760a8bad54d", "scanner": "scanner-primary", "fingerprint": "39d636b3e4a12d5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9cac7ce15e72817b", "level": "note", "message": {"text": "31 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "1a52e2d4d46a6e40", "scanner": "scanner-primary", "fingerprint": "9cac7ce15e72817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "3a037618ae60c3b1", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "29ea0080091e5cd1", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "2a13f63f7f2a3472", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "28c2108ab9a708ac", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "7a291d868b6d2027", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "24e73bcb5b6d9004", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "bdda7c0bec5d58a1", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-270bca32d3c6d67a", "level": "warning", "message": {"text": "Frontend route `/reset-password` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "24fd4c93be04a967", "scanner": "scanner-primary", "fingerprint": "270bca32d3c6d67a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-2e2bcf5007bf7314", "level": "warning", "message": {"text": "Frontend route `/*` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "b32dc61f8a89da67", "scanner": "scanner-primary", "fingerprint": "2e2bcf5007bf7314", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-e977e1b72969e6a7", "level": "warning", "message": {"text": "Frontend route `/teams/:teamCode/classic` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "d1c6d2a7f84737c1", "scanner": "scanner-primary", "fingerprint": "e977e1b72969e6a7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-3138bdfd25794917", "level": "warning", "message": {"text": "Frontend route `/teams/:teamCode` has no Link/navigate to it \u2014 client/src/features/teams/pages/__tests__/TeamLegacy.test.tsx"}, "properties": {"repobilityId": "07c83376e0eee1f1", "scanner": "scanner-primary", "fingerprint": "3138bdfd25794917", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-124da0bc168d9c55", "level": "warning", "message": {"text": "Frontend route `manage/:mode` has no Link/navigate to it \u2014 client/src/features/teams/components/RosterHub/__tests__/ManagePanel.test.tsx"}, "properties": {"repobilityId": "761ea059ad5e4a6d", "scanner": "scanner-primary", "fingerprint": "124da0bc168d9c55", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-c41b23c314574327", "level": "warning", "message": {"text": "Frontend route `/teams/:teamCode/wire-list` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "a741968e9c3c445e", "scanner": "scanner-primary", "fingerprint": "c41b23c314574327", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-ba69164e180eeec6", "level": "warning", "message": {"text": "Frontend route `/commissioner/:leagueId/wire-list` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "fa560daa0c46b7b5", "scanner": "scanner-primary", "fingerprint": "ba69164e180eeec6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-282b38723f966f8e", "level": "warning", "message": {"text": "Frontend route `/players/:mlbId` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "b2ef521d4237f909", "scanner": "scanner-primary", "fingerprint": "282b38723f966f8e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-b04642a6a482be90", "level": "warning", "message": {"text": "Frontend route `/trades` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "08b91ac818b885bb", "scanner": "scanner-primary", "fingerprint": "b04642a6a482be90", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-14c581a2fafeaabe", "level": "warning", "message": {"text": "Frontend route `/trading-block` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "fe999a41128c099d", "scanner": "scanner-primary", "fingerprint": "14c581a2fafeaabe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-5b1c24078f6fd87c", "level": "warning", "message": {"text": "Frontend route `/chat` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "6e6d320e962ca1bd", "scanner": "scanner-primary", "fingerprint": "5b1c24078f6fd87c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-ba8bd57831c6408c", "level": "warning", "message": {"text": "Frontend route `/leagues/:id/keepers` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "c3969bac759c8ae2", "scanner": "scanner-primary", "fingerprint": "ba8bd57831c6408c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-6fddac3be5db9c1b", "level": "warning", "message": {"text": "Frontend route `/auction-classic` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "3abef28925b7c7f6", "scanner": "scanner-primary", "fingerprint": "6fddac3be5db9c1b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-1982220c31d009de", "level": "warning", "message": {"text": "Frontend route `/commissioner/:leagueId` has no Link/navigate to it \u2014 client/src/features/commissioner/__tests__/Commissioner.test.tsx"}, "properties": {"repobilityId": "4fc644df56c13ffd", "scanner": "scanner-primary", "fingerprint": "1982220c31d009de", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-c1f9d9b26014b3b8", "level": "warning", "message": {"text": "Frontend route `/admin/reports/:slug` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "2e8fed7db0177d83", "scanner": "scanner-primary", "fingerprint": "c1f9d9b26014b3b8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-f68f0ced071ff9d7", "level": "warning", "message": {"text": "Frontend route `/join/:inviteCode` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "530a15cd5811c1e1", "scanner": "scanner-primary", "fingerprint": "f68f0ced071ff9d7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-51710f70f30b0cf2", "level": "warning", "message": {"text": "Frontend route `/profile/:userId` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "e0907ba1f5440c7d", "scanner": "scanner-primary", "fingerprint": "51710f70f30b0cf2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-d5e1f3b654d9502f", "level": "warning", "message": {"text": "Frontend route `/profile/legacy` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "c3157dc1f7874a04", "scanner": "scanner-primary", "fingerprint": "d5e1f3b654d9502f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-fbc28bbc7700d343", "level": "warning", "message": {"text": "Frontend route `/draft-report-card` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "fb7b28100fca9fba", "scanner": "scanner-primary", "fingerprint": "fbc28bbc7700d343", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-710451612323a6f6", "level": "warning", "message": {"text": "Frontend route `/design/manual-slot-assignment` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "7d8a4ff8a2ab008d", "scanner": "scanner-primary", "fingerprint": "710451612323a6f6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-e99dc0716fdad5a6", "level": "warning", "message": {"text": "Frontend route `/design/roster-hub` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "fd180f5eb5db3b18", "scanner": "scanner-primary", "fingerprint": "e99dc0716fdad5a6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-16ae9aec325ad0a7", "level": "warning", "message": {"text": "Frontend route `/design/roster-hub-deferred` has no Link/navigate to it \u2014 client/src/App.tsx"}, "properties": {"repobilityId": "f67b65779ee794e3", "scanner": "scanner-primary", "fingerprint": "16ae9aec325ad0a7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-eca1d0609162d781", "level": "warning", "message": {"text": "Frontend route `/keeper-prep/:id` has no Link/navigate to it \u2014 client/src/features/keeper-prep/__tests__/KeeperSelection.test.tsx"}, "properties": {"repobilityId": "c4d70ae38f3a39aa", "scanner": "scanner-primary", "fingerprint": "eca1d0609162d781", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-1384870b15162054", "level": "warning", "message": {"text": "Frontend route `/teams/:teamCode/manage/claim` has no Link/navigate to it \u2014 client/src/features/teams/__tests__/Team.ghostIl.test.tsx"}, "properties": {"repobilityId": "a74b51ff374a1a4c", "scanner": "scanner-primary", "fingerprint": "1384870b15162054", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-2f97d49540cf81e3", "level": "warning", "message": {"text": "Frontend route `/teams/:teamCode/manage/il-stash` has no Link/navigate to it \u2014 client/src/features/teams/__tests__/Team.ghostIl.test.tsx"}, "properties": {"repobilityId": "247a2d2d54f21d56", "scanner": "scanner-primary", "fingerprint": "2f97d49540cf81e3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-ae5a187283baee4f", "level": "warning", "message": {"text": "Frontend route `/teams/:teamCode/manage/il-activate` has no Link/navigate to it \u2014 client/src/features/teams/__tests__/Team.ghostIl.test.tsx"}, "properties": {"repobilityId": "75e6a30ce7bfa48b", "scanner": "scanner-primary", "fingerprint": "ae5a187283baee4f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-67d5c78cc59320ea", "level": "error", "message": {"text": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/people/search?names=${encodeURIComponent(q)} (fix_names.ts:107)"}, "properties": {"repobilityId": "0ea4c67dd0de0f3a", "scanner": "scanner-primary", "fingerprint": "67d5c78cc59320ea", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-118c8b57f852e677", "level": "error", "message": {"text": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/people/${r.player.mlbId}/stats?stats=season&season=2025&group=hitting,pitching (sync_db_to_csv.ts:73)"}, "properties": {"repobilityId": "7383d2f1236b3844", "scanner": "scanner-primary", "fingerprint": "118c8b57f852e677", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a7ae3620574e1064", "level": "error", "message": {"text": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/teams/${t.id} (sync_db_to_csv.ts:86)"}, "properties": {"repobilityId": "8f6135fa5ef9f9c5", "scanner": "scanner-primary", "fingerprint": "a7ae3620574e1064", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6d29e371fca9d9f8", "level": "error", "message": {"text": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/sports/1 (client/src/pages/Status.tsx:86)"}, "properties": {"repobilityId": "c3318b87a90fe06d", "scanner": "scanner-primary", "fingerprint": "6d29e371fca9d9f8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-91d138a0a25963a2", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/dev-login (client/src/features/auth/pages/Login.tsx:376)"}, "properties": {"repobilityId": "c953d5748c81287d", "scanner": "scanner-primary", "fingerprint": "91d138a0a25963a2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0478501a317f773f", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/chat/${leagueId}/messages/${messageId} (client/src/features/chat/components/ChatPanel.tsx:146)"}, "properties": {"repobilityId": "dee280c84f8723a8", "scanner": "scanner-primary", "fingerprint": "0478501a317f773f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fbc9ab807e0f2439", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (server/src/services/aiAnalysisService.ts:36)"}, "properties": {"repobilityId": "813383be7f1a5f33", "scanner": "scanner-primary", "fingerprint": "fbc9ab807e0f2439", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-58974bf498134e6b", "level": "error", "message": {"text": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/people/search?names=${encodeURIComponent(name)} (server/src/features/archive/services/archiveStatsService.ts:24)"}, "properties": {"repobilityId": "a7339e0e274609b9", "scanner": "scanner-primary", "fingerprint": "58974bf498134e6b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-63dab08f8a384d36", "level": "error", "message": {"text": "Dangling fetch: GET https://statsapi.mlb.com/api/v1/teams?sportId=1&season=${year} (server/src/features/archive/services/archiveStatsService.ts:84)"}, "properties": {"repobilityId": "d075eacde194a6a6", "scanner": "scanner-primary", "fingerprint": "63dab08f8a384d36", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f20a32f4dc02a4d2", "level": "error", "message": {"text": "Dangling fetch: GET https://www.youtube.com/feeds/videos.xml?channel_id=${channel.id} (server/src/features/mlb-feed/routes.ts:263)"}, "properties": {"repobilityId": "2341e372e169fd45", "scanner": "scanner-primary", "fingerprint": "f20a32f4dc02a4d2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-66f554233544837c", "level": "error", "message": {"text": "Dangling fetch: GET https://www.reddit.com/r/baseball/hot.json?limit=20 (server/src/features/mlb-feed/routes.ts:403)"}, "properties": {"repobilityId": "c313591f6d694695", "scanner": "scanner-primary", "fingerprint": "66f554233544837c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e842543ab3fd3531", "level": "error", "message": {"text": "Dangling fetch: GET https://www.reddit.com/r/fantasybaseball/hot.json?limit=10 (server/src/features/mlb-feed/routes.ts:407)"}, "properties": {"repobilityId": "bc343048747f75c6", "scanner": "scanner-primary", "fingerprint": "e842543ab3fd3531", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dde3adb27bf7eebe", "level": "note", "message": {"text": "Unused endpoint: USE /api"}, "properties": {"repobilityId": "afd6065ad08b1536", "scanner": "scanner-primary", "fingerprint": "dde3adb27bf7eebe", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6eb452fbfb454d20", "level": "note", "message": {"text": "Unused endpoint: USE /api/auth"}, "properties": {"repobilityId": "8f9830aefa1a6ee3", "scanner": "scanner-primary", "fingerprint": "6eb452fbfb454d20", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4756b4c4da7d2088", "level": "note", "message": {"text": "Unused endpoint: GET /api/health"}, "properties": {"repobilityId": "ced4927d2a502561", "scanner": "scanner-primary", "fingerprint": "4756b4c4da7d2088", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-213aa53474f58cca", "level": "note", "message": {"text": "Unused endpoint: USE /api/trades"}, "properties": {"repobilityId": "b167d7989a0493a9", "scanner": "scanner-primary", "fingerprint": "213aa53474f58cca", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-022c380f369e922e", "level": "note", "message": {"text": "Unused endpoint: USE /api/waivers"}, "properties": {"repobilityId": "f5c73be48ac09fb0", "scanner": "scanner-primary", "fingerprint": "022c380f369e922e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-96480d7f5f5b9643", "level": "note", "message": {"text": "Unused endpoint: USE /api/wire-list"}, "properties": {"repobilityId": "c1a6b2f1734539c1", "scanner": "scanner-primary", "fingerprint": "96480d7f5f5b9643", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6e88b7f8e1bd8604", "level": "note", "message": {"text": "Unused endpoint: USE /api/leagues"}, "properties": {"repobilityId": "f39778cc9a82bb39", "scanner": "scanner-primary", "fingerprint": "6e88b7f8e1bd8604", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-302ec653e6643b63", "level": "note", "message": {"text": "Unused endpoint: USE /api/auction"}, "properties": {"repobilityId": "4b621b5d189bbe11", "scanner": "scanner-primary", "fingerprint": "302ec653e6643b63", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3bc28356e03c582f", "level": "note", "message": {"text": "Unused endpoint: USE /api/draft"}, "properties": {"repobilityId": "6c882a9e6504e2dc", "scanner": "scanner-primary", "fingerprint": "3bc28356e03c582f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3dee00dff1dc5d6e", "level": "note", "message": {"text": "Unused endpoint: USE /api/matchups"}, "properties": {"repobilityId": "80951f0a16738346", "scanner": "scanner-primary", "fingerprint": "3dee00dff1dc5d6e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-95d83ea4b1a04d3d", "level": "note", "message": {"text": "Unused endpoint: USE /api/teams"}, "properties": {"repobilityId": "73e1f995fb3dbb9e", "scanner": "scanner-primary", "fingerprint": "95d83ea4b1a04d3d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8f7d12bdfdb40116", "level": "note", "message": {"text": "Unused endpoint: USE /api/roster"}, "properties": {"repobilityId": "432d2bdb65095f84", "scanner": "scanner-primary", "fingerprint": "8f7d12bdfdb40116", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f32afb8ee8869a99", "level": "note", "message": {"text": "Unused endpoint: USE /api/periods"}, "properties": {"repobilityId": "a0a21409fc59b92b", "scanner": "scanner-primary", "fingerprint": "f32afb8ee8869a99", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d7072cd3426f56bd", "level": "note", "message": {"text": "Unused endpoint: USE /api/seasons"}, "properties": {"repobilityId": "acc2ef5f1562c385", "scanner": "scanner-primary", "fingerprint": "d7072cd3426f56bd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cae8d29b811b0ff9", "level": "note", "message": {"text": "Unused endpoint: USE /api/players"}, "properties": {"repobilityId": "8d0744d12881151e", "scanner": "scanner-primary", "fingerprint": "cae8d29b811b0ff9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c14c643da9497dd6", "level": "note", "message": {"text": "Unused endpoint: USE /api/mlb"}, "properties": {"repobilityId": "3fb1c817645c65e1", "scanner": "scanner-primary", "fingerprint": "c14c643da9497dd6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-316c43db307befc3", "level": "note", "message": {"text": "Unused endpoint: USE /api/ai"}, "properties": {"repobilityId": "b5763c766564fb91", "scanner": "scanner-primary", "fingerprint": "316c43db307befc3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-126c84a660596653", "level": "note", "message": {"text": "Unused endpoint: USE /api/watchlist"}, "properties": {"repobilityId": "6a6c5f9034a53599", "scanner": "scanner-primary", "fingerprint": "126c84a660596653", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-520cf6b218ae5cb4", "level": "note", "message": {"text": "Unused endpoint: USE /api/trading-block"}, "properties": {"repobilityId": "1961c1fb8214d1f7", "scanner": "scanner-primary", "fingerprint": "520cf6b218ae5cb4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d47da3fe1917e646", "level": "note", "message": {"text": "Unused endpoint: USE /api/board"}, "properties": {"repobilityId": "67625e74aee2a97f", "scanner": "scanner-primary", "fingerprint": "d47da3fe1917e646", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c3a8b7932f72b92f", "level": "note", "message": {"text": "Unused endpoint: USE /api/notifications"}, "properties": {"repobilityId": "69615f28a3b78f73", "scanner": "scanner-primary", "fingerprint": "c3a8b7932f72b92f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2b92dc87a4256298", "level": "note", "message": {"text": "Unused endpoint: USE /api/chat"}, "properties": {"repobilityId": "b9523250eea29c8f", "scanner": "scanner-primary", "fingerprint": "2b92dc87a4256298", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8636dd48e48d1da9", "level": "note", "message": {"text": "Unused endpoint: USE /api/sessions"}, "properties": {"repobilityId": "28366932f5344fbb", "scanner": "scanner-primary", "fingerprint": "8636dd48e48d1da9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f22cf013c13a7f0c", "level": "note", "message": {"text": "Unused endpoint: GET /sw.js"}, "properties": {"repobilityId": "18eceba75d3fbd4a", "scanner": "scanner-primary", "fingerprint": "f22cf013c13a7f0c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b8073f7bf758f6d0", "level": "note", "message": {"text": "Unused endpoint: USE /api/*"}, "properties": {"repobilityId": "ba033279562189af", "scanner": "scanner-primary", "fingerprint": "b8073f7bf758f6d0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-509f18408e249e6e", "level": "note", "message": {"text": "Unused endpoint: GET /public/leagues"}, "properties": {"repobilityId": "fce3bfe49c155c65", "scanner": "scanner-primary", "fingerprint": "509f18408e249e6e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a7c6a3da6ea1da4f", "level": "note", "message": {"text": "Unused endpoint: GET /public/leagues/:slug/standings"}, "properties": {"repobilityId": "2a006b48e94c4f51", "scanner": "scanner-primary", "fingerprint": "a7c6a3da6ea1da4f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-193848f39e7f8c85", "level": "note", "message": {"text": "Unused endpoint: POST /transactions/claim/preview"}, "properties": {"repobilityId": "1f147b486cab24f3", "scanner": "scanner-primary", "fingerprint": "193848f39e7f8c85", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-52f939032aab887f", "level": "note", "message": {"text": "Unused endpoint: GET /transactions"}, "properties": {"repobilityId": "485ded8bb8ece626", "scanner": "scanner-primary", "fingerprint": "52f939032aab887f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c92a7f7e20feb912", "level": "note", "message": {"text": "Unused endpoint: POST /transactions/claim"}, "properties": {"repobilityId": "b5e894303b16bda3", "scanner": "scanner-primary", "fingerprint": "c92a7f7e20feb912", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e61cb7a8bea3c5f9", "level": "note", "message": {"text": "Unused endpoint: POST /transactions/drop"}, "properties": {"repobilityId": "5d541ed2e240b7ad", "scanner": "scanner-primary", "fingerprint": "e61cb7a8bea3c5f9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b4ad3193f969e8ad", "level": "note", "message": {"text": "Unused endpoint: POST /transactions/il-stash/preview"}, "properties": {"repobilityId": "27030f4051efa279", "scanner": "scanner-primary", "fingerprint": "b4ad3193f969e8ad", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-53d659283047977f", "level": "note", "message": {"text": "Unused endpoint: POST /transactions/il-stash"}, "properties": {"repobilityId": "bda0ffe795a0469b", "scanner": "scanner-primary", "fingerprint": "53d659283047977f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6df114814a2b3555", "level": "note", "message": {"text": "Unused endpoint: POST /transactions/il-activate/preview"}, "properties": {"repobilityId": "55c73c71d2a88718", "scanner": "scanner-primary", "fingerprint": "6df114814a2b3555", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-46bb8b6da1ba323e", "level": "note", "message": {"text": "Unused endpoint: POST /transactions/il-activate"}, "properties": {"repobilityId": "535c2961267ba586", "scanner": "scanner-primary", "fingerprint": "46bb8b6da1ba323e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0451af2900f971be", "level": "note", "message": {"text": "Unused endpoint: POST /transactions/sync-il-status"}, "properties": {"repobilityId": "45de1146fd3c2fca", "scanner": "scanner-primary", "fingerprint": "0451af2900f971be", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5475338e0e473288", "level": "note", "message": {"text": "Unused endpoint: POST /commissioner/create-season"}, "properties": {"repobilityId": "eeed88e34f66ffe0", "scanner": "scanner-primary", "fingerprint": "5475338e0e473288", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-07848b38498ced17", "level": "note", "message": {"text": "Unused endpoint: GET /commissioner/:leagueId"}, "properties": {"repobilityId": "5b8ed30a7fb2e0fd", "scanner": "scanner-primary", "fingerprint": "07848b38498ced17", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-738e3ba40cc780b3", "level": "note", "message": {"text": "Unused endpoint: GET /commissioner/:leagueId/available-users"}, "properties": {"repobilityId": "b02418a40353e718", "scanner": "scanner-primary", "fingerprint": "738e3ba40cc780b3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4e993773b1924ac6", "level": "note", "message": {"text": "Unused endpoint: GET /commissioner/:leagueId/prior-teams"}, "properties": {"repobilityId": "4eff46cdc5c90a57", "scanner": "scanner-primary", "fingerprint": "4e993773b1924ac6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0ef0ac3d86046bfe", "level": "note", "message": {"text": "Unused endpoint: PATCH /commissioner/:leagueId"}, "properties": {"repobilityId": "0e66d5a61a182f10", "scanner": "scanner-primary", "fingerprint": "0ef0ac3d86046bfe", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e1395c0acbda2d9c", "level": "note", "message": {"text": "Unused endpoint: GET /commissioner/:leagueId/locked-fields"}, "properties": {"repobilityId": "77f06e1504ce57ac", "scanner": "scanner-primary", "fingerprint": "e1395c0acbda2d9c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7b86b13fd8251bee", "level": "note", "message": {"text": "Unused endpoint: POST /commissioner/:leagueId/teams"}, "properties": {"repobilityId": "72d2f7056c630ef1", "scanner": "scanner-primary", "fingerprint": "7b86b13fd8251bee", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-97b833e55d45fde4", "level": "note", "message": {"text": "Unused endpoint: DELETE /commissioner/:leagueId/teams/:teamId"}, "properties": {"repobilityId": "dcdc6016a9f27687", "scanner": "scanner-primary", "fingerprint": "97b833e55d45fde4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5815ea071d4b73fa", "level": "note", "message": {"text": "Unused endpoint: POST /commissioner/:leagueId/members"}, "properties": {"repobilityId": "806d81c9459e548d", "scanner": "scanner-primary", "fingerprint": "5815ea071d4b73fa", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3fe4bf50d3374a85", "level": "note", "message": {"text": "Unused endpoint: PATCH /commissioner/:leagueId/members/:membershipId"}, "properties": {"repobilityId": "685c00d3a854e5e8", "scanner": "scanner-primary", "fingerprint": "3fe4bf50d3374a85", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1e6f78c55c2c3daf", "level": "note", "message": {"text": "Unused endpoint: DELETE /commissioner/:leagueId/members/:membershipId"}, "properties": {"repobilityId": "c00b2dac8356a595", "scanner": "scanner-primary", "fingerprint": "1e6f78c55c2c3daf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-553d5f63c17aeb40", "level": "note", "message": {"text": "Unused endpoint: GET /commissioner/:leagueId/invites"}, "properties": {"repobilityId": "863486cb210b4cae", "scanner": "scanner-primary", "fingerprint": "553d5f63c17aeb40", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7cf6361ceff7c14b", "level": "note", "message": {"text": "Unused endpoint: DELETE /commissioner/:leagueId/invites/:inviteId"}, "properties": {"repobilityId": "8f236d0a9419fc0a", "scanner": "scanner-primary", "fingerprint": "7cf6361ceff7c14b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-248ae9ddd9ed2665", "level": "note", "message": {"text": "Unused endpoint: POST /commissioner/:leagueId/teams/:teamId/owner"}, "properties": {"repobilityId": "ae8d5aa4fc3025ef", "scanner": "scanner-primary", "fingerprint": "248ae9ddd9ed2665", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}