{"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: rajkaria/hunch", "shortDescription": {"text": "Foundry mined unresolved feedback: rajkaria/hunch"}, "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: weak_supervision_needs_review\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#6\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#6\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#6\nRepo: rajkaria/hunch\nIssue/PR number: 6\nGraph consistency label: weak_supervision_needs_review\nNodes: 37\nEdges: 78\nNode types: {'pr_file': 17, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alig"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: rajkaria/hunch", "shortDescription": {"text": "Foundry mined blueprint gap alignment: rajkaria/hunch"}, "fullDescription": {"text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#6\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#6\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#6\nRepo: rajkaria/hunch\nIssue/PR number: 6\nGraph consistency label: weak_supervision_needs_review\nNodes: 37\nEdges: 78\nNode types: {'pr_file': 17, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, '"}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: rajkaria/hunch", "shortDescription": {"text": "Foundry mined assumption checks: rajkaria/hunch"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#6\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: rajkaria/hunch#6\nRepo: rajkaria/hunch\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 17\nLabels: {'security_auth_secret': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 1, 'ui_or_frontend': 14, 'test_or_ci': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b697b27ae5b60486\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_sec"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.62, "cwe": "", "owasp": ""}}, {"id": "foundry_schema_ui_api_gap", "name": "Foundry mined schema ui api mismatch: rajkaria/hunch", "shortDescription": {"text": "Foundry mined schema ui api mismatch: rajkaria/hunch"}, "fullDescription": {"text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#2\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: rajkaria/hunch\nThread: rajkaria/hunch#2\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#2\nRepo: rajkaria/hunch\nIssue/PR number: 2\nGraph consistency label: supported_by_verification_signal\nNodes: 30\nEdges: 65\nNode types: {'pr_file': 10, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge t"}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: rajkaria/hunch", "shortDescription": {"text": "Foundry mined bad chains: rajkaria/hunch"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#5\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: rajkaria/hunch#5\nRepo: rajkaria/hunch\nThread label: thread_has_human_issue_and_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 3\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 6\nLabels: {'deployment_env_gap': 3}\nPolarities: {'bad': 3}\nChanged file labels: {'test_or_ci': 4, 'ui_or_frontend': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ad22137c32d71bac\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "high", "confidence": 0.84, "cwe": "", "owasp": ""}}, {"id": "scanner-9977c9aca698f2bb", "name": "Possibly dead Python function: positions", "shortDescription": {"text": "Possibly dead Python function: positions"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e36197d59fe212f0", "name": "Possibly dead Python function: proof", "shortDescription": {"text": "Possibly dead Python function: proof"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-908f61f46a649d66", "name": "Possibly dead Python function: poll", "shortDescription": {"text": "Possibly dead Python function: poll"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bead75b0f9233e05", "name": "No API endpoints detected", "shortDescription": {"text": "No API endpoints detected"}, "fullDescription": {"text": "The scanner did not find FastAPI/Flask/Express/NestJS/GraphQL/gRPC routes. If this repo exposes APIs, the framework may be unsupported."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aad0b666ebc8acbd", "name": "Stray `console.log` in TS/JS \u2014 test/x-mention-stream-worker.test.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/x-mention-stream-worker.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-c32a92d21a7195f9", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/ReferralDashboard.tsx:286", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/ReferralDashboard.tsx:286"}, "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-efcc9353247acb22", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/SwipeDeck.tsx:176", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/SwipeDeck.tsx:176"}, "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-1d347df51738a3c3", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/AuthGate.tsx:119", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/AuthGate.tsx:119"}, "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-68138eabbca03e66", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/RelatedMarkets.tsx:151", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/RelatedMarkets.tsx:151"}, "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-702a603385c40ece", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/AddFundsSheet.tsx:244", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/AddFundsSheet.tsx:244"}, "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-0ac67fff78fda2bd", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/MarketBetTotal.tsx:68", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/MarketBetTotal.tsx:68"}, "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-74028828a85c2b23", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/MarketCountdown.tsx:50", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/MarketCountdown.tsx:50"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0046b2ff687629ee", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/AppChrome.tsx:131", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/AppChrome.tsx:131"}, "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-fede3c974dc0db5c", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/CopyableAddress.tsx:87", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/CopyableAddress.tsx:87"}, "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-ebe5a4bcd66dc0fd", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/LandingArena.tsx:109", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/LandingArena.tsx:109"}, "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-fffbcafe5ec9e453", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/crew/StarterKit.tsx:82", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/crew/StarterKit.tsx:82"}, "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-c6098d2c651f0e36", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/crew/CrewHero.tsx:110", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/crew/CrewHero.tsx:110"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d258a9d2300a537a", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/bankr-skills/page.tsx:931", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/bankr-skills/page.tsx:931"}, "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-a214bf3087c786a2", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/leaderboard/page.tsx:85", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/leaderboard/page.tsx:85"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-be6b505572c74a79", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/TokenBasketMcapMarketPage.tsx:96", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/TokenBasketMcapMarketPage.tsx:96"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bfa579e7174547f8", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/McapRangeMarketPage.tsx:71", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/McapRangeMarketPage.tsx:71"}, "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-2f7b47831ea6a9c4", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/ChainStablecoinMcapMilestoneMarketPage.tsx:252", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/ChainStablecoinMcapMilestoneMarketPage.tsx:252"}, "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-22c80d96a208101d", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/TokenRankRaceMarketPage.tsx:81", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/TokenRankRaceMarketPage.tsx:81"}, "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-c3474518db8bd948", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/MarketExplorer.tsx:1043", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/MarketExplorer.tsx:1043"}, "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-dcf99bdfab6d0948", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/ChainVolumeCompareMarketPage.tsx:47", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/ChainVolumeCompareMarketPage.tsx:47"}, "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-18aa193158cc4484", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/DexVolumeDaysMarketPage.tsx:283", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/DexVolumeDaysMarketPage.tsx:283"}, "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-87a6abb283e93dc8", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/ChainTvlMilestoneMarketPage.tsx:263", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/ChainTvlMilestoneMarketPage.tsx:263"}, "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-2040669a410c2f92", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/PriceRangeMarketPage.tsx:74", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/PriceRangeMarketPage.tsx:74"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-278b45d2fd6cabdd", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/EventVersusMarketPage.tsx:69", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/EventVersusMarketPage.tsx:69"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-34a5de3db7460baf", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/PriceDirectionMarketPage.tsx:120", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/PriceDirectionMarketPage.tsx:120"}, "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-c0513820584d699e", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/DuneMetricMarketPage.tsx:300", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/DuneMetricMarketPage.tsx:300"}, "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-49ad054f1a2f0ca1", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/StandaloneMarketPage.tsx:116", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/StandaloneMarketPage.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-c1271f88bf479dac", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/ChainTpsMilestoneMarketPage.tsx:238", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/ChainTpsMilestoneMarketPage.tsx:238"}, "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-1da260b8496ec8ac", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/LaunchpadTokenMcapMarketPage.tsx:133", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/LaunchpadTokenMcapMarketPage.tsx:133"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-685857cf107b39d3", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/MarketDetailLayout.tsx:69", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/MarketDetailLayout.tsx:69"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c96c28a88429a55a", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/TokenReturnMarketPage.tsx:97", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/TokenReturnMarketPage.tsx:97"}, "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-29e4979dcbb76238", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/TokenOutperformMarketPage.tsx:86", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/TokenOutperformMarketPage.tsx:86"}, "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-96c5d30e253deded", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/LaunchpadVolumeMarketPage.tsx:106", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/LaunchpadVolumeMarketPage.tsx:106"}, "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-7c04250b65de5778", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/VolumeCrossingMarketPage.tsx:93", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/VolumeCrossingMarketPage.tsx:93"}, "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-45773d3c7608e22a", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/OutperformContenders.tsx:59", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/OutperformContenders.tsx:59"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-393e5e1b3a88fad8", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/HunchFlipMarketPage.tsx:83", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/HunchFlipMarketPage.tsx:83"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5850ebc64b66f44f", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/RankRaceContenders.tsx:69", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/RankRaceContenders.tsx:69"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eebd35b096ba39ca", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/EventOutcomeMarketPage.tsx:135", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/EventOutcomeMarketPage.tsx:135"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c2e1bf9077bc222", "name": "Stray `console.log` in TS/JS \u2014 src/app/agents/x402-cloud/page.tsx:174", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/agents/x402-cloud/page.tsx: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-b3d0650807ddb11b", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/quick/[marketId]/page.tsx:152", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/quick/[marketId]/page.tsx:152"}, "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-df3f4e8139c2b292", "name": "Stray `console.log` in TS/JS \u2014 src/lib/logger.ts:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/logger.ts:63"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0063faf43b009e50", "name": "Insecure pattern 'cors_wildcard' in src/app/api/mcp/route.ts:87", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in src/app/api/mcp/route.ts:87"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0220250e3d791adc", "name": "Insecure pattern 'cors_wildcard' in src/lib/agent-http.ts:26", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in src/lib/agent-http.ts:26"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3b3788d2e42a34c9", "name": "Insecure pattern 'cors_wildcard' in src/lib/partner-api.ts:355", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in src/lib/partner-api.ts:355"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c513d005cbf3ff3c", "name": "Very large file: src/app/markets/MarketExplorer.tsx (1268 lines)", "shortDescription": {"text": "Very large file: src/app/markets/MarketExplorer.tsx (1268 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-06cd5275923e4c9a", "name": "Very large file: src/core/standalone-market.ts (6191 lines)", "shortDescription": {"text": "Very large file: src/core/standalone-market.ts (6191 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-71a9bf0c8e38e138", "name": "Very large file: src/core/resolver-registry.ts (1739 lines)", "shortDescription": {"text": "Very large file: src/core/resolver-registry.ts (1739 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-c77bf5dfa2953b60", "name": "Node manifest has dependencies but no lockfile: packages/hunch-agent-sdk/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/hunch-agent-sdk/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 13 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 98 placeholder/mock markers across 40 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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 lockfile. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17d866d91a7c451e", "name": "Agent instruction/config may expose a secret: CLAUDE.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: CLAUDE.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-093bb6dd45a8113f", "name": "Agent authority lacks a verifier contract: aeon-skill-pack/skills/hunch-intel/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: aeon-skill-pack/skills/hunch-intel/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3edd058430e6bb87", "name": "Commented-code block (5 lines) in test/partner-byte-compat.test.ts:57", "shortDescription": {"text": "Commented-code block (5 lines) in test/partner-byte-compat.test.ts:57"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f8352c048bb7015d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 test/service-worker.test.ts:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/service-worker.test.ts:10"}, "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-b460ad21ba64fa1c", "name": "Commented-code block (5 lines) in test/dexscreener-stable-pair.test.ts:51", "shortDescription": {"text": "Commented-code block (5 lines) in test/dexscreener-stable-pair.test.ts:51"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-16e14c42b4bf8ed9", "name": "Commented-code block (24 lines) in test/markets-page.test.tsx:236", "shortDescription": {"text": "Commented-code block (24 lines) in test/markets-page.test.tsx:236"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4ed027cd375fbb5d", "name": "Commented-code block (6 lines) in test/native-swipe-feed.test.ts:28", "shortDescription": {"text": "Commented-code block (6 lines) in test/native-swipe-feed.test.ts:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9ee76904fb8fbc64", "name": "`fetch()` without try/.catch or AbortSignal \u2014 test/agent-webhook-delivery.test.ts:164", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/agent-webhook-delivery.test.ts:164"}, "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-1614531e09a41f96", "name": "Commented-code block (8 lines) in test/agent-trade-policy.test.ts:36", "shortDescription": {"text": "Commented-code block (8 lines) in test/agent-trade-policy.test.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-e4944c6283087d5f", "name": "Commented-code block (5 lines) in test/hunch-standalone-trade-route.test.ts:50", "shortDescription": {"text": "Commented-code block (5 lines) in test/hunch-standalone-trade-route.test.ts:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8c2690ada198f87d", "name": "Commented-code block (5 lines) in test/agent-platform-guard.test.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in test/agent-platform-guard.test.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-e6c76bc0052d46a1", "name": "Commented-code block (5 lines) in test/launch-catalogue.test.ts:14", "shortDescription": {"text": "Commented-code block (5 lines) in test/launch-catalogue.test.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-77d43aeb67a09a32", "name": "Commented-code block (6 lines) in test/agent-trust-routes.test.ts:14", "shortDescription": {"text": "Commented-code block (6 lines) in test/agent-trust-routes.test.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-26811907dff7f224", "name": "Commented-code block (7 lines) in test/agent-read-routes.test.ts:87", "shortDescription": {"text": "Commented-code block (7 lines) in test/agent-read-routes.test.ts:87"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-49a8711faa5c8a3e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public/sw.js:27", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/sw.js:27"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-26104253f29ed6a5", "name": "Commented-code block (5 lines) in src/agent/openapi.ts:1109", "shortDescription": {"text": "Commented-code block (5 lines) in src/agent/openapi.ts:1109"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d364b06fa10a9648", "name": "Commented-code block (5 lines) in src/agent/trade-policy.ts:153", "shortDescription": {"text": "Commented-code block (5 lines) in src/agent/trade-policy.ts:153"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-39ee7e01745eb464", "name": "Commented-code block (6 lines) in src/agent/manifests.ts:480", "shortDescription": {"text": "Commented-code block (6 lines) in src/agent/manifests.ts:480"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9909a723797a025f", "name": "Commented-code block (5 lines) in src/agent/mcp-tools.ts:111", "shortDescription": {"text": "Commented-code block (5 lines) in src/agent/mcp-tools.ts:111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd3702e576e2d757", "name": "Commented-code block (7 lines) in src/agent/service.ts:568", "shortDescription": {"text": "Commented-code block (7 lines) in src/agent/service.ts:568"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c632747ae6e8c5e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/PrivyProviders.tsx:147", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/PrivyProviders.tsx:147"}, "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-94810b7645a40654", "name": "Commented-code block (7 lines) in src/app/global-error.tsx:3", "shortDescription": {"text": "Commented-code block (7 lines) in src/app/global-error.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-bfc53dcaefa07354", "name": "Commented-code block (5 lines) in src/app/api/partner/trade/route.ts:128", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/api/partner/trade/route.ts:128"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-870970c370977b28", "name": "Commented-code block (5 lines) in src/app/api/agent/v1/quote/route.ts:33", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/api/agent/v1/quote/route.ts:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-64eb4bb107552586", "name": "Commented-code block (7 lines) in src/app/api/agent/v1/trade/route.ts:65", "shortDescription": {"text": "Commented-code block (7 lines) in src/app/api/agent/v1/trade/route.ts:65"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4fc0d29c49f9ec49", "name": "Commented-code block (6 lines) in src/app/markets/MarketExplorer.tsx:73", "shortDescription": {"text": "Commented-code block (6 lines) in src/app/markets/MarketExplorer.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-dec9c62ada5360cb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/markets/MarketExplorer.tsx:558", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/markets/MarketExplorer.tsx:558"}, "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-0dcf76111b77aa9b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/agents/x402-cloud/page.tsx:170", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/agents/x402-cloud/page.tsx:170"}, "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-523752b77c38f8e4", "name": "Commented-code block (6 lines) in src/app/openapi.json/route.ts:8", "shortDescription": {"text": "Commented-code block (6 lines) in src/app/openapi.json/route.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-11ea19b8a076ac1e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/use-authenticated-fetch.ts:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/use-authenticated-fetch.ts:13"}, "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-f67dff504e0acb20", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/base-settlement.ts:205", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/base-settlement.ts:205"}, "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-2e9501fafbbd7d4b", "name": "Commented-code block (5 lines) in src/lib/agent-platform-stats.ts:416", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/agent-platform-stats.ts:416"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7aafa3ce82f50373", "name": "Commented-code block (5 lines) in src/lib/standalone-market-positions.ts:237", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/standalone-market-positions.ts:237"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-194ca894c5c8c792", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/agent-reserve-guard.ts:244", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/agent-reserve-guard.ts:244"}, "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-27bda51a4bfa17a5", "name": "Commented-code block (7 lines) in src/lib/partner-trade.ts:482", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/partner-trade.ts:482"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d741ab915f2b2ff4", "name": "Commented-code block (7 lines) in src/lib/uniswap-volume-snapshot.ts:92", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/uniswap-volume-snapshot.ts:92"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8dbe42de1d90e1d", "name": "Commented-code block (5 lines) in src/lib/market-observation-capture.ts:165", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/market-observation-capture.ts:165"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8313c9b7a2d76767", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/oauth2-twitter.ts:96", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/oauth2-twitter.ts:96"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-40cb271a6c173454", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/http.ts:62", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/http.ts:62"}, "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-ce64e0bb0576b89a", "name": "Commented-code block (6 lines) in src/lib/agent-rate-limit.ts:53", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/agent-rate-limit.ts:53"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e01f7c30a594f024", "name": "Commented-code block (6 lines) in src/core/standalone-market.ts:2321", "shortDescription": {"text": "Commented-code block (6 lines) in src/core/standalone-market.ts:2321"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e3f60aad5c11626c", "name": "Commented-code block (8 lines) in src/core/partner-trade.ts:72", "shortDescription": {"text": "Commented-code block (8 lines) in src/core/partner-trade.ts:72"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-44ab7f72f4cb7ac9", "name": "Commented-code block (5 lines) in src/core/launch-catalogue.ts:214", "shortDescription": {"text": "Commented-code block (5 lines) in src/core/launch-catalogue.ts:214"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a3e2533cfde70095", "name": "Commented-code block (9 lines) in src/core/resolver-registry.ts:562", "shortDescription": {"text": "Commented-code block (9 lines) in src/core/resolver-registry.ts:562"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7c8b918e1fee9558", "name": "20 env vars used in code but missing from .env.example", "shortDescription": {"text": "20 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ARC_BUILDER_CODE`, `ARC_EXPLORER_URL`, `ARC_RPC_URL`, `HUNCH_AGENT_PLATFORM`, `HUNCH_AGENT_TRADING_DISABLED`, `HUNCH_API_BASE`, `HUNCH_ARBITRUM_RAIL`, `HUNCH_MAX_POOL_IMPACT_BPS` + 12 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:\nsdk/python/hunch_agent/client.py:markets, sdk/python/hunch_agent/client.py:market\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/17777"}, "properties": {"repository": "rajkaria/hunch", "repoUrl": "https://github.com/rajkaria/hunch", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: rajkaria/hunch"}, "properties": {"repobilityId": 369473, "scanner": "foundry_dataset", "fingerprint": "8302693dc4be1a1e4a361417c704f91701b8d0f6a50c52e623bb5b55652214e1", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 3, "test_or_ci": 2, "ui_or_frontend": 14, "source_or_other": 1, "api_integration_gap": 1, "security_or_secrets": 2, "security_auth_secret": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 78, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 17, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 37, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 17, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "rajkaria/hunch#6", "issue_number": "6", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "rajkaria/hunch", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-b55dd838276b92f1", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 10, "ui_or_frontend": 70, "source_or_other": 5}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#6\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#6\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#6\nRepo: rajkaria/hunch\nIssue/PR number: 6\nGraph consistency label: weak_supervision_needs_review\nNodes: 37\nEdges: 78\nNode types: {'pr_file': 17, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 24, 'thread_touches_file': 17, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 14, 'bug_fix': 3, 'claimed_resolved_unverified': 3, 'test_or_ci': 2, 'security_or_secrets': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'api_integration_gap': 1, 'source_or_other': 1, 'human_reported_issue_then_fix_attempt': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "graph-query-motif_query-14e159805efc780f", "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": "rajkaria/hunch", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: rajkaria/hunch"}, "properties": {"repobilityId": 369472, "scanner": "foundry_dataset", "fingerprint": "387a9bd5741c232e8fe00b566d1aa2eb84e5f8160943968e1a9d439fc00c7705", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 1, "test_or_ci": 4, "ui_or_frontend": 2, "deployment_env_gap": 3, "verification_or_tests": 4, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 8, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 56, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 6, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 6, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "comment_chain_touches_file": 18, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 26, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "pr_file": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "rajkaria/hunch#5", "issue_number": "5", "quality_tiers": {"unresolved": 2, "weak_supervision": 3}, "repo_full_name": "rajkaria/hunch", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-7613ac1f14ecba76", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 24, "ui_or_frontend": 12}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: supported_by_verification_signal\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#5\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#5\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#5\nRepo: rajkaria/hunch\nIssue/PR number: 5\nGraph consistency label: supported_by_verification_signal\nNodes: 26\nEdges: 56\nNode types: {'pr_file': 6, 'commit': 5, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 18, 'thread_touches_file': 6, 'issue_chain_touches_file': 6, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'test_or_ci': 4, 'verification_or_tests': 4, 'not_resolved_or_not_observed': 4, 'deployment_env_gap': 3, 'ui_or_frontend': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'claimed_resolved_with_verification_signal': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "graph-query-motif_query-55bfca1989308bdf", "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": "rajkaria/hunch", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: rajkaria/hunch"}, "properties": {"repobilityId": 369471, "scanner": "foundry_dataset", "fingerprint": "ed5fa3cab050ce0aa5214208d37cc8bff75aaa7eb15ff6bab90e30a8c96f6c44", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"ui_or_frontend": 1, "deployment_env_gap": 1, "verification_or_tests": 3, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 16, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 2, "pr_file": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "rajkaria/hunch#4", "issue_number": "4", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "rajkaria/hunch", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-6afff0d98b45a7e7", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 5}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#4\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: rajkaria/hunch\nThread: rajkaria/hunch#4\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#4\nRepo: rajkaria/hunch\nIssue/PR number: 4\nGraph consistency label: weak_supervision_needs_review\nNodes: 16\nEdges: 23\nNode types: {'link_quality': 4, 'commit': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_touches_file': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'deployment_env_gap': 1, 'ui_or_frontend': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "graph-query-motif_query-a14df7ab9573efc8", "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": "rajkaria/hunch", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: rajkaria/hunch"}, "properties": {"repobilityId": 369470, "scanner": "foundry_dataset", "fingerprint": "d23b7e00bcf6c6fa60552f5b5e1e42a6a23d1588f725a3f1fd34ce0c44b283ec", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"ui_or_frontend": 2, "ui_workflow_gap": 1, "deployment_env_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 32, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 2, "comment_chain_links_commit": 4, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 21, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 2, "pr_file": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "rajkaria/hunch#3", "issue_number": "3", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "rajkaria/hunch", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-58366c9ce73eff4b", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 10}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#3\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: rajkaria/hunch\nThread: rajkaria/hunch#3\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#3\nRepo: rajkaria/hunch\nIssue/PR number: 3\nGraph consistency label: weak_supervision_needs_review\nNodes: 21\nEdges: 32\nNode types: {'link_quality': 5, 'commit': 4, 'comment': 2, 'pr_file': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 4, 'comment_chain_touches_file': 4, 'thread_has_comment': 2, 'thread_touches_file': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 3, 'ui_or_frontend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'deployment_env_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "graph-query-motif_query-e39d44863a19554a", "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": "rajkaria/hunch", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: rajkaria/hunch"}, "properties": {"repobilityId": 369469, "scanner": "foundry_dataset", "fingerprint": "d2c8b60527d3898d669d693f60a8c424df6d6a5cc87a26b2cfacce705747b7db", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 1, "test_or_ci": 4, "schema_or_data": 1, "ui_or_frontend": 5, "deployment_env_gap": 1, "verification_or_tests": 4, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 65, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 10, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 10, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 20, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 30, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 10, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "rajkaria/hunch#2", "issue_number": "2", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "rajkaria/hunch", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-3f15442de15a8c98", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 20, "schema_or_data": 5, "ui_or_frontend": 25}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: supported_by_verification_signal\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#2\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: rajkaria/hunch\nThread: rajkaria/hunch#2\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#2\nRepo: rajkaria/hunch\nIssue/PR number: 2\nGraph consistency label: supported_by_verification_signal\nNodes: 30\nEdges: 65\nNode types: {'pr_file': 10, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 20, 'thread_touches_file': 10, 'issue_chain_touches_file': 10, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 5, 'test_or_ci': 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, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'schema_or_data': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "graph-query-motif_query-1ade08d60f6f8d46", "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": "rajkaria/hunch", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: rajkaria/hunch"}, "properties": {"repobilityId": 369468, "scanner": "foundry_dataset", "fingerprint": "908be45a6a6b2aeea39162a322f04a6b6679024712ed771f0dc4f3e274336f0f", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_or_ci": 9, "api_or_backend": 1, "docs_or_claims": 2, "schema_or_data": 2, "ui_or_frontend": 18, "source_or_other": 1, "deployment_env_gap": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 94, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 33, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 53, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 33, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "rajkaria/hunch#1", "issue_number": "1", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "rajkaria/hunch", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-f4eac16e9dd88963", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 45, "api_or_backend": 5, "docs_or_claims": 10, "schema_or_data": 10, "ui_or_frontend": 90, "source_or_other": 5}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#1\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: rajkaria/hunch\nThread: rajkaria/hunch#1\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#1\nRepo: rajkaria/hunch\nIssue/PR number: 1\nGraph consistency label: weak_supervision_needs_review\nNodes: 53\nEdges: 94\nNode types: {'pr_file': 33, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 33, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 18, 'test_or_ci': 9, 'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'docs_or_claims': 2, 'schema_or_data': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'source_or_other': 1, 'api_or_backend': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "graph-query-motif_query-291b7d062ad4e0c8", "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": "rajkaria/hunch", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: rajkaria/hunch"}, "properties": {"repobilityId": 355150, "scanner": "foundry_dataset", "fingerprint": "35f35b55f8ade7cabd5e129b5e76d8a20bcaa0b88df94e1cc1cd2f93cc993672", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "test_or_ci": 2, "ui_or_frontend": 14, "source_or_other": 1, "api_integration_gap": 1, "security_or_secrets": 2, "security_auth_secret": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 78, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 17, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 37, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 17, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "rajkaria/hunch#6", "issue_number": "6", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "rajkaria/hunch", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-a03aa7cd7e9eaa65", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 10, "ui_or_frontend": 70, "source_or_other": 5}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#6\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#6\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#6\nRepo: rajkaria/hunch\nIssue/PR number: 6\nGraph consistency label: weak_supervision_needs_review\nNodes: 37\nEdges: 78\nNode types: {'pr_file': 17, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 24, 'thread_touches_file': 17, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 14, 'bug_fix': 3, 'claimed_resolved_unverified': 3, 'test_or_ci': 2, 'security_or_secrets': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'api_integration_gap': 1, 'source_or_other': 1, 'human_reported_issue_then_fix_attempt': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "graph-query-motif_query-e6af75287950f960", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "rajkaria/hunch", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: rajkaria/hunch"}, "properties": {"repobilityId": 355149, "scanner": "foundry_dataset", "fingerprint": "63e848dc840e084356993d95cd1e5252362bdbb082e2ea0ad3a18289f25f9e50", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"ui_or_frontend": 2, "ui_workflow_gap": 1, "deployment_env_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 32, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 2, "comment_chain_links_commit": 4, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 21, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 2, "pr_file": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "rajkaria/hunch#3", "issue_number": "3", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "rajkaria/hunch", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-5e031d9ae355cf63", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 10}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#3\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#3\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#3\nRepo: rajkaria/hunch\nIssue/PR number: 3\nGraph consistency label: weak_supervision_needs_review\nNodes: 21\nEdges: 32\nNode types: {'link_quality': 5, 'commit': 4, 'comment': 2, 'pr_file': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 4, 'comment_chain_touches_file': 4, 'thread_has_comment': 2, 'thread_touches_file': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 3, 'ui_or_frontend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'deployment_env_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "graph-query-motif_query-ba28f9fc6bff7f4c", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "rajkaria/hunch", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: rajkaria/hunch"}, "properties": {"repobilityId": 355148, "scanner": "foundry_dataset", "fingerprint": "399af80d81fb35eb4edd8e28870edc3c069a5664d26edccb124922b69bfb7a3f", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "test_or_ci": 4, "schema_or_data": 1, "ui_or_frontend": 5, "deployment_env_gap": 1, "verification_or_tests": 4, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 65, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 10, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 10, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 20, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 30, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 10, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "rajkaria/hunch#2", "issue_number": "2", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "rajkaria/hunch", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-ce0581556c8bd620", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 20, "schema_or_data": 5, "ui_or_frontend": 25}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#2\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#2\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#2\nRepo: rajkaria/hunch\nIssue/PR number: 2\nGraph consistency label: supported_by_verification_signal\nNodes: 30\nEdges: 65\nNode types: {'pr_file': 10, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 20, 'thread_touches_file': 10, 'issue_chain_touches_file': 10, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 5, 'test_or_ci': 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, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'schema_or_data': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "graph-query-motif_query-8fe8ad57a0e4e601", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "rajkaria/hunch", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: rajkaria/hunch"}, "properties": {"repobilityId": 355147, "scanner": "foundry_dataset", "fingerprint": "c20d438d56e3f81fc312caff6564b521974975777cbdcebd4333cba061fbaf8a", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 9, "api_or_backend": 1, "docs_or_claims": 2, "schema_or_data": 2, "ui_or_frontend": 18, "source_or_other": 1, "deployment_env_gap": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 94, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 33, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 53, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 33, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "rajkaria/hunch#1", "issue_number": "1", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "rajkaria/hunch", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-93208184b32b5d5a", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 45, "api_or_backend": 5, "docs_or_claims": 10, "schema_or_data": 10, "ui_or_frontend": 90, "source_or_other": 5}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#1\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#1\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#1\nRepo: rajkaria/hunch\nIssue/PR number: 1\nGraph consistency label: weak_supervision_needs_review\nNodes: 53\nEdges: 94\nNode types: {'pr_file': 33, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 33, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 18, 'test_or_ci': 9, 'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'docs_or_claims': 2, 'schema_or_data': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'source_or_other': 1, 'api_or_backend': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "graph-query-motif_query-2c137ad2b7dbb85b", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "rajkaria/hunch", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: rajkaria/hunch"}, "properties": {"repobilityId": 311512, "scanner": "foundry_dataset", "fingerprint": "400edfaac9beac8e228d9a7b7f7d5f6898f84069701e252860674175a2e270bb", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "rajkaria/hunch#6", "human_labels": ["api_integration_gap", "security_auth_secret", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "6", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "rajkaria/hunch", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-5e617899f0271ce6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 17, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 2, "ui_or_frontend": 14, "source_or_other": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#6\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: rajkaria/hunch#6\nRepo: rajkaria/hunch\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 17\nLabels: {'security_auth_secret': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 1, 'ui_or_frontend': 14, 'test_or_ci': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b697b27ae5b60486\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/rajkaria/hunch/pull/6\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: rajkaria/hunch\\nAuthor: rajkaria (User)\\nURL: https://github.com/rajkaria/hunch/pull/6\\nTitle: feat(crew): Hunch Crew creator-program landing (/crew)\\nBody:\\nShips the **Hunch Crew** Season 1 creator-program landing at `/crew`, per `docs/hunch-crew.md` + the implementation plan. Informational + outbound-link only \u2014 **no money path, auth, or LLM**. Independent of the in-progress coin-flip work (kept as a separate build).\\n\\n## What's in it\\n- **`/crew`** route in the Social Swipe Arena shell, full OG/Twitter metadata + a Crew-specific `opengraph-image`.\\n- **`src/lib/crew-config.ts`** \u2014 single source of truth (pool split, dates, rates, all copy). Retune the season there only.\\n- **Sections**: hero + 3-state countdown (before/active/closed), two-layer rewards (20%-for-everyone + $100/$250/$150 pool), 5-format grid, Starter Kit (asset downloads + idea accordions), rules/timeline, how-it-works, FAQ, footer CTA.\\n- **Discovery**: home banner + global footer \\\"Crew\\\" link.\\n- **Test**: `test/crew-page.test.tsx` (render + every CTA \u2192 form URL + countdown state machine) and a home-banner assertion.\\n\\n## Config before go-liv\"\n  },\n  {\n    \"id\": \"github-feedback-comment-a2c2b66422a06fed\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/rajkaria/hunch/pull/6#issuecomment-4606739321\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: rajkaria/hunch\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/rajkaria/hunch/pull/6#issuecomment-4606739321\\nTitle: \\nBody:\\n[vc]: #rwjfg2OpZY0pLSyxCQQntrWK0AEILg2K7KnJ+SAG36k=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJodW5jaCIsInByb2plY3RJZCI6InByal9PczNIS1F6TnJ2RVQ4VkY4VGE5ZHNEbjZ1RXZHI\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "comment-chain-pattern-assumption_checks-71e722260262ad71", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "rajkaria/hunch", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: rajkaria/hunch"}, "properties": {"repobilityId": 311511, "scanner": "foundry_dataset", "fingerprint": "d5274e1e35823d3dfcf81078697e15ff8817bcf0bc1763b100aeb7d789b169e8", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "rajkaria/hunch#4", "human_labels": ["deployment_env_gap", "human_feedback_general", "ui_or_frontend"], "issue_number": "4", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.59, "repo_full_name": "rajkaria/hunch", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-977f0da9fd5bac56", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 1}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#4\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: rajkaria/hunch#4\nRepo: rajkaria/hunch\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'human_feedback_general': 1, 'deployment_env_gap': 1}\nPolarities: {'neutral': 1, 'bad': 1}\nChanged file labels: {'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4bb25f4c5e0b92cc\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/rajkaria/hunch/pull/4\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: rajkaria/hunch\\nAuthor: rajkaria (User)\\nURL: https://github.com/rajkaria/hunch/pull/4\\nTitle: Render X snapshot quick links immediately\\nBody:\\n## Summary\\n- skip title rewriting and live quote fanout for source-cache-backed X quick links\\n- render the stored market snapshot immediately; live pricing still happens at trade time\\n\\n## Test Plan\\n- pnpm test test/quick-x-attribution.test.tsx test/twitter-market-snapshot.test.ts\\n- pnpm typecheck\"\n  },\n  {\n    \"id\": \"github-feedback-comment-55b9643fd22250a3\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/rajkaria/hunch/pull/4#issuecomment-4556846683\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: rajkaria/hunch\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/rajkaria/hunch/pull/4#issuecomment-4556846683\\nTitle: \\nBody:\\n[vc]: #XZORffuMv/LCa9S4uFRSF85mpiriYa4FUA4YkN3MMXc=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJodW5jaCIsInByb2plY3RJZCI6InByal9PczNIS1F6TnJ2RVQ4VkY4VGE5ZHNEbjZ1RXZHIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL3JhamthcmlhNjctMTgzMXMtcHJvamVjdHMvaHVuY2gvRmFubmdVd3JuV29WRDZZRGtmSFhRd0NwamZYOSIsInByZXZpZXdVcmwiOiJodW5jaC1naXQtY29kZXgteC1ib3QtcXVpY2stbGktZWIxNGMyLXJhamthcmlhNjctMTgzMXMtcHJvamVjdHMudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJodW5jaC1naXQtY29kZXgteC1ib3QtcXVpY2stbGktZWIxNGMyLXJhamthcmlhNjctMTgzMXMtcHJvamVjdHMudmVyY2VsLmFwcCJ9LCJyb290RGlyZWN0b3J5IjpudWxsfV19\\nThe latest updates on your projects. Learn more about [Vercel for GitHub](https://vercel.link/github-learn-more).\\n\\n| Project | Deployment | Actions | Updated (UTC) |\\n| :--- | :----- | :-\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "comment-chain-pattern-assumption_checks-f68e35d31e47496e", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "rajkaria/hunch", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: rajkaria/hunch"}, "properties": {"repobilityId": 311510, "scanner": "foundry_dataset", "fingerprint": "b184517748996064b2ec52aa79c0b5b17fc78dd3a449c0c30f211564dde3e1b3", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "rajkaria/hunch#3", "human_labels": ["deployment_env_gap", "ui_or_frontend", "ui_workflow_gap"], "issue_number": "3", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.625, "repo_full_name": "rajkaria/hunch", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-6734e9c719dc4712", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 2}, "linked_commit_count": 4, "helicopter_view_count": 4, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#3\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: rajkaria/hunch#3\nRepo: rajkaria/hunch\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 4\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'ui_workflow_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'ui_or_frontend': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-42aef0e33e242b97\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/rajkaria/hunch/pull/3\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: rajkaria/hunch\\nAuthor: rajkaria (User)\\nURL: https://github.com/rajkaria/hunch/pull/3\\nTitle: Speed up X quick link recovery\\nBody:\\n## Summary\\n- prefer the durable X source-cache snapshot before live market discovery for attributed quick links\\n- cap quick-page quote lookup at 4s so stale/slow venue calls do not stall link opens\\n- show linked venue copy when odds are live/unavailable instead of claiming a visible quote\\n\\n## Test Plan\\n- pnpm test test/quick-x-attribution.test.tsx test/quick-confirm.test.tsx test/twitter-market-snapshot.test.ts\\n- pnpm typecheck\"\n  },\n  {\n    \"id\": \"github-feedback-comment-07ac67f4ec53210c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/rajkaria/hunch/pull/3#issuecomment-4556788033\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: rajkaria/hunch\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/rajkaria/hunch/pull/3#issuecomment-4556788033\\nTitle: \\nBody:\\n[vc]: #V9KqQEsTBNlkuF8hW9C49QVBNOyLmc0e7TN6qXX79EY=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJodW5jaCIsInByb2plY3RJZCI6InByal9PczNIS1F6TnJ2RVQ4VkY4VGE5ZHNEbjZ1RXZHIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL3JhamthcmlhNjctMTgzMXMtcHJvamVjdHMvaHVuY2gvNWR4QjEzODRkNTlVSmdWWWUzeGZSVWRZVlB4cSIsInByZXZpZXdVcmwiOiJodW5jaC1naXQtY29kZXgteC1ib3QtcXVpY2stbGktMTk3OWJlLXJhamthcmlhNjctMTgzMXMtcHJvamVjdHMudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJodW5jaC1naXQtY29kZXgteC1ib3QtcXVpY2stbGktMTk3OWJlLXJhamthcmlhNjctMTgzMXMtcHJvamVjdHMudmVyY2VsLmFwcCJ9LCJyb290RGlyZWN0b3J5IjpudWxsfV19\\nThe latest updates on your projects. Learn more about [Vercel for GitHub](https://vercel.link/github-learn-m\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "comment-chain-pattern-assumption_checks-ef3d672e23bd5db5", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "rajkaria/hunch", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: rajkaria/hunch"}, "properties": {"repobilityId": 311509, "scanner": "foundry_dataset", "fingerprint": "3f1289ddbd864da737f3532c616d2e2fcf890e53742e5cbd3f9ee9bdf0c8da7d", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "rajkaria/hunch#1", "human_labels": ["api_or_backend", "data_schema_persistence", "deployment_env_gap", "docs_or_claims", "schema_or_data", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "1", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "rajkaria/hunch", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-1d64efd0ed74974e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 33, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 9, "api_or_backend": 1, "docs_or_claims": 2, "schema_or_data": 2, "ui_or_frontend": 18, "source_or_other": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#1\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: rajkaria/hunch#1\nRepo: rajkaria/hunch\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 33\nLabels: {'data_schema_persistence': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'docs_or_claims': 2, 'source_or_other': 1, 'ui_or_frontend': 18, 'schema_or_data': 2, 'api_or_backend': 1, 'test_or_ci': 9}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-63d455fdd0e22523\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/rajkaria/hunch/pull/1\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: rajkaria/hunch\\nAuthor: rajkaria (User)\\nURL: https://github.com/rajkaria/hunch/pull/1\\nTitle: [codex] upgrade X bot market replies\\nBody:\\n## Summary\\n\\n- upgrades the X market-reply bot with signal quality gates, source-post caching, weighted market ranking, and compact attributed reply links\\n- carries X attribution from bot replies into `/quick`, `/api/swipe`, funnel events, and the new `x_attributed_trades` table\\n- extends X ingestion metadata, adds Supabase persistence for source-post analysis/cooldowns/drafts, exposes admin bot stats, and documents every bot capability with examples\\n\\n## Validation\\n\\n- `pnpm exec tsc --noEmit --pretty false`\\n- `pnpm test` (80 files, 314 tests)\\n- `pnpm lint`\\n- `pnpm build`\\n- `git diff --check`\\n- `pnpm exec prettier --check docs/x-bot-capabilities.md docs/HOWTO.md`\\n\\n## Notes\\n\\nLocal Supabase migration application could not be verified because Docker/local Postgres is unavailable in this environment. The migration enables RLS and revokes anon/authenticated access for the new public tables.\\n\"\n  },\n  {\n    \"id\": \"github-feedback-comment-f1858fdb5b6d4efb\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/rajkaria/hunch/pull/1#issuecomment-4555329584\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: rajkaria/hunch\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/rajkaria/hunch/pull/1#issuecomment-4555329584\\nTitle: \\nBody:\\n[vc]: #YAwgSX49pZUNA2RfE9+OvUh4Y1L4sT7JbluCQ9xyHfM=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJodW5jaCIsInByb2plY3RJZCI6InByal9PczNIS1F6TnJ2RVQ4VkY4VGE5ZHNEbjZ1RXZHIiwiaW5\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "comment-chain-pattern-assumption_checks-1d6b42ca2fbc4aa4", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "rajkaria/hunch", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: rajkaria/hunch"}, "properties": {"repobilityId": 330816, "scanner": "foundry_dataset", "fingerprint": "ddad12bda5668fa9aa3ebeebd877c3edfd850f7b4981596c138d508b71dcc968", "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, "test_or_ci": 4, "schema_or_data": 1, "ui_or_frontend": 5, "deployment_env_gap": 1, "verification_or_tests": 4, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 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": {"not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 65, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 10, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 10, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 20, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 30, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 10, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "rajkaria/hunch#2", "issue_number": "2", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "rajkaria/hunch", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-40d7902ef257edee", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 20, "schema_or_data": 5, "ui_or_frontend": 25}}, "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: rajkaria/hunch\nThread: rajkaria/hunch#2\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: rajkaria/hunch\nThread: rajkaria/hunch#2\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#2\nRepo: rajkaria/hunch\nIssue/PR number: 2\nGraph consistency label: supported_by_verification_signal\nNodes: 30\nEdges: 65\nNode types: {'pr_file': 10, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 20, 'thread_touches_file': 10, 'issue_chain_touches_file': 10, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 5, 'test_or_ci': 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, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'schema_or_data': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "graph-query-motif_query-e01278fd5f93a2bc", "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": "rajkaria/hunch", "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: rajkaria/hunch"}, "properties": {"repobilityId": 330815, "scanner": "foundry_dataset", "fingerprint": "a0417760e8628dc658b5f2f7ed41dc5b0c3a3a7ed7342121be674a387305cc72", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"test_or_ci": 9, "api_or_backend": 1, "docs_or_claims": 2, "schema_or_data": 2, "ui_or_frontend": 18, "source_or_other": 1, "deployment_env_gap": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 94, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 33, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 53, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 33, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "rajkaria/hunch#1", "issue_number": "1", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "rajkaria/hunch", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-4c20e92580aeb0fa", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 45, "api_or_backend": 5, "docs_or_claims": 10, "schema_or_data": 10, "ui_or_frontend": 90, "source_or_other": 5}}, "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: rajkaria/hunch\nThread: rajkaria/hunch#1\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: rajkaria/hunch\nThread: rajkaria/hunch#1\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: rajkaria/hunch#1\nRepo: rajkaria/hunch\nIssue/PR number: 1\nGraph consistency label: weak_supervision_needs_review\nNodes: 53\nEdges: 94\nNode types: {'pr_file': 33, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 33, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 18, 'test_or_ci': 9, 'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'docs_or_claims': 2, 'schema_or_data': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'source_or_other': 1, 'api_or_backend': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/rajkaria/hunch", "source_id": "graph-query-motif_query-8aa55c10ca972588", "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": "rajkaria/hunch", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: rajkaria/hunch"}, "properties": {"repobilityId": 322301, "scanner": "foundry_dataset", "fingerprint": "631c1e7eb8a9d8636e23d5fdd562687a8285ada3cb2ced8f3fea9f6aad57c577", "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": "rajkaria/hunch#5", "human_labels": ["deployment_env_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "5", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.625, "repo_full_name": "rajkaria/hunch", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-99a7663e8aa1fc3a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 6, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 4, "ui_or_frontend": 2}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: rajkaria/hunch\nThread: rajkaria/hunch#5\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: rajkaria/hunch#5\nRepo: rajkaria/hunch\nThread label: thread_has_human_issue_and_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 3\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 6\nLabels: {'deployment_env_gap': 3}\nPolarities: {'bad': 3}\nChanged file labels: {'test_or_ci': 4, 'ui_or_frontend': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ad22137c32d71bac\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/rajkaria/hunch/pull/5\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: rajkaria/hunch\\nAuthor: rajkaria (User)\\nURL: https://github.com/rajkaria/hunch/pull/5\\nTitle: Fix X bot mention reply reliability\\nBody:\\n## Summary\\n- prioritize predictive text written in the mention when users tag @playhunchxyz with their own claim\\n- reject weak, unpriced, zero-liquidity related markets instead of generating dead betting links\\n- reply with a concise no-market message for explicit market/bet asks when only bad matches exist\\n- make the X worker cadence more reliable with frequent Vercel cron coverage and a longer GitHub worker timeout\\n\\n## Verification\\n- pnpm test\\n- pnpm typecheck\\n- pnpm lint\\n- pnpm build\"\n  },\n  {\n    \"id\": \"github-feedback-comment-5929c867378d6efe\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/rajkaria/hunch/pull/5#issuecomment-4558446825\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: rajkaria/hunch\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/rajkaria/hunch/pull/5#issuecomment-4558446825\\nTitle: \\nBody:\\nDeployment failed with the following error:\\n~~~\\nHobby accounts are limited to daily cron jobs. This cron expression (*/5 * * * *) would run more than once per day. Upgrade to the Pro plan to unlock all Cron Jobs features on Vercel.\\n~~~\\nLearn More: https://vercel.link/3Fpeeb1\"\n  },\n  {\n    \"id\": \"github-feedback-comment-0e935a4e845b8317\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/rajkaria/hunch/pull/5#issuecomment-4558461629\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: rajkaria/hunch\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/rajkaria/hunch/pull/5#issuecomment-4558461629\\nTitle: \\nBody:\\n[vc]: #a+DogV6B8oQmRpHg\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/rajkaria/hunch", "source_id": "comment-chain-pattern-bad_chains-9924291ebf4a6a82", "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": "rajkaria/hunch", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "scanner-9977c9aca698f2bb", "level": "note", "message": {"text": "Possibly dead Python function: positions"}, "properties": {"repobilityId": "5c421378bdf71c08", "scanner": "scanner-primary", "fingerprint": "9977c9aca698f2bb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sdk/python/hunch_agent/client.py:113"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e36197d59fe212f0", "level": "note", "message": {"text": "Possibly dead Python function: proof"}, "properties": {"repobilityId": "d42a70b1267283c2", "scanner": "scanner-primary", "fingerprint": "e36197d59fe212f0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sdk/python/hunch_agent/client.py:119"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-908f61f46a649d66", "level": "note", "message": {"text": "Possibly dead Python function: poll"}, "properties": {"repobilityId": "0fd155c9d1bcf517", "scanner": "scanner-primary", "fingerprint": "908f61f46a649d66", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sdk/python/hunch_agent/client.py:133"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bead75b0f9233e05", "level": "none", "message": {"text": "No API endpoints detected"}, "properties": {"repobilityId": "0f8bb852027c38f8", "scanner": "scanner-primary", "fingerprint": "bead75b0f9233e05", "layer": "api", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-aad0b666ebc8acbd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/x-mention-stream-worker.test.ts:10"}, "properties": {"repobilityId": "3924eaf4aaab8005", "scanner": "scanner-primary", "fingerprint": "aad0b666ebc8acbd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c32a92d21a7195f9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/ReferralDashboard.tsx:286"}, "properties": {"repobilityId": "0327207cc813d5ad", "scanner": "scanner-primary", "fingerprint": "c32a92d21a7195f9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-efcc9353247acb22", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/SwipeDeck.tsx:176"}, "properties": {"repobilityId": "ae5c7c93db85f400", "scanner": "scanner-primary", "fingerprint": "efcc9353247acb22", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1d347df51738a3c3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/AuthGate.tsx:119"}, "properties": {"repobilityId": "f42d9b4be703e8ad", "scanner": "scanner-primary", "fingerprint": "1d347df51738a3c3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-68138eabbca03e66", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/RelatedMarkets.tsx:151"}, "properties": {"repobilityId": "a5996dae42f4e610", "scanner": "scanner-primary", "fingerprint": "68138eabbca03e66", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-702a603385c40ece", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/AddFundsSheet.tsx:244"}, "properties": {"repobilityId": "d2999fd26bfb422a", "scanner": "scanner-primary", "fingerprint": "702a603385c40ece", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0ac67fff78fda2bd", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/MarketBetTotal.tsx:68"}, "properties": {"repobilityId": "8f6ca28bc483e70e", "scanner": "scanner-primary", "fingerprint": "0ac67fff78fda2bd", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-74028828a85c2b23", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/MarketCountdown.tsx:50"}, "properties": {"repobilityId": "588459408c9fd6f6", "scanner": "scanner-primary", "fingerprint": "74028828a85c2b23", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0046b2ff687629ee", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/AppChrome.tsx:131"}, "properties": {"repobilityId": "4f9980809e5391aa", "scanner": "scanner-primary", "fingerprint": "0046b2ff687629ee", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-fede3c974dc0db5c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/CopyableAddress.tsx:87"}, "properties": {"repobilityId": "924cfe01b03c934c", "scanner": "scanner-primary", "fingerprint": "fede3c974dc0db5c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ebe5a4bcd66dc0fd", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/LandingArena.tsx:109"}, "properties": {"repobilityId": "238c3c78e1a2be21", "scanner": "scanner-primary", "fingerprint": "ebe5a4bcd66dc0fd", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-fffbcafe5ec9e453", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/crew/StarterKit.tsx:82"}, "properties": {"repobilityId": "d9dba9f341ef778c", "scanner": "scanner-primary", "fingerprint": "fffbcafe5ec9e453", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c6098d2c651f0e36", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/crew/CrewHero.tsx:110"}, "properties": {"repobilityId": "21f2afa7aa99f2ca", "scanner": "scanner-primary", "fingerprint": "c6098d2c651f0e36", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d258a9d2300a537a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/bankr-skills/page.tsx:931"}, "properties": {"repobilityId": "ec1a97ee2cd3881f", "scanner": "scanner-primary", "fingerprint": "d258a9d2300a537a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a214bf3087c786a2", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/leaderboard/page.tsx:85"}, "properties": {"repobilityId": "cc38b7123001dc00", "scanner": "scanner-primary", "fingerprint": "a214bf3087c786a2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-be6b505572c74a79", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/TokenBasketMcapMarketPage.tsx:96"}, "properties": {"repobilityId": "c041826d74708469", "scanner": "scanner-primary", "fingerprint": "be6b505572c74a79", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-bfa579e7174547f8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/McapRangeMarketPage.tsx:71"}, "properties": {"repobilityId": "db4982a94c657b1c", "scanner": "scanner-primary", "fingerprint": "bfa579e7174547f8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-2f7b47831ea6a9c4", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/ChainStablecoinMcapMilestoneMarketPage.tsx:252"}, "properties": {"repobilityId": "c334c4afa7059e98", "scanner": "scanner-primary", "fingerprint": "2f7b47831ea6a9c4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-22c80d96a208101d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/TokenRankRaceMarketPage.tsx:81"}, "properties": {"repobilityId": "c79397a589665301", "scanner": "scanner-primary", "fingerprint": "22c80d96a208101d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c3474518db8bd948", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/MarketExplorer.tsx:1043"}, "properties": {"repobilityId": "787908355d870348", "scanner": "scanner-primary", "fingerprint": "c3474518db8bd948", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-dcf99bdfab6d0948", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/ChainVolumeCompareMarketPage.tsx:47"}, "properties": {"repobilityId": "8b07c194bdd4a793", "scanner": "scanner-primary", "fingerprint": "dcf99bdfab6d0948", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-18aa193158cc4484", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/DexVolumeDaysMarketPage.tsx:283"}, "properties": {"repobilityId": "a06bb825ab248198", "scanner": "scanner-primary", "fingerprint": "18aa193158cc4484", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-87a6abb283e93dc8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/ChainTvlMilestoneMarketPage.tsx:263"}, "properties": {"repobilityId": "5e323c7ba481a67f", "scanner": "scanner-primary", "fingerprint": "87a6abb283e93dc8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-2040669a410c2f92", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/PriceRangeMarketPage.tsx:74"}, "properties": {"repobilityId": "45fb5e04a510c60b", "scanner": "scanner-primary", "fingerprint": "2040669a410c2f92", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-278b45d2fd6cabdd", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/EventVersusMarketPage.tsx:69"}, "properties": {"repobilityId": "814378a18ee547e1", "scanner": "scanner-primary", "fingerprint": "278b45d2fd6cabdd", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-34a5de3db7460baf", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/PriceDirectionMarketPage.tsx:120"}, "properties": {"repobilityId": "6ec7a1270e5631bf", "scanner": "scanner-primary", "fingerprint": "34a5de3db7460baf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c0513820584d699e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/DuneMetricMarketPage.tsx:300"}, "properties": {"repobilityId": "e77cef2bf7a6e567", "scanner": "scanner-primary", "fingerprint": "c0513820584d699e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-49ad054f1a2f0ca1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/StandaloneMarketPage.tsx:116"}, "properties": {"repobilityId": "c2e7c3916727975c", "scanner": "scanner-primary", "fingerprint": "49ad054f1a2f0ca1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c1271f88bf479dac", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/ChainTpsMilestoneMarketPage.tsx:238"}, "properties": {"repobilityId": "2a750423f3deac9c", "scanner": "scanner-primary", "fingerprint": "c1271f88bf479dac", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1da260b8496ec8ac", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/LaunchpadTokenMcapMarketPage.tsx:133"}, "properties": {"repobilityId": "20e8d146a4cbff69", "scanner": "scanner-primary", "fingerprint": "1da260b8496ec8ac", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-685857cf107b39d3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/MarketDetailLayout.tsx:69"}, "properties": {"repobilityId": "2763ff5379440875", "scanner": "scanner-primary", "fingerprint": "685857cf107b39d3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c96c28a88429a55a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/TokenReturnMarketPage.tsx:97"}, "properties": {"repobilityId": "2494a3677c744381", "scanner": "scanner-primary", "fingerprint": "c96c28a88429a55a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-29e4979dcbb76238", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/TokenOutperformMarketPage.tsx:86"}, "properties": {"repobilityId": "5058c76869c1b57f", "scanner": "scanner-primary", "fingerprint": "29e4979dcbb76238", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-96c5d30e253deded", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/LaunchpadVolumeMarketPage.tsx:106"}, "properties": {"repobilityId": "3d710ecac0211367", "scanner": "scanner-primary", "fingerprint": "96c5d30e253deded", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7c04250b65de5778", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/VolumeCrossingMarketPage.tsx:93"}, "properties": {"repobilityId": "5aed44d36b33de5f", "scanner": "scanner-primary", "fingerprint": "7c04250b65de5778", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-45773d3c7608e22a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/OutperformContenders.tsx:59"}, "properties": {"repobilityId": "513bd184330825e3", "scanner": "scanner-primary", "fingerprint": "45773d3c7608e22a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-393e5e1b3a88fad8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/HunchFlipMarketPage.tsx:83"}, "properties": {"repobilityId": "fa84c6c1bfb4f702", "scanner": "scanner-primary", "fingerprint": "393e5e1b3a88fad8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5850ebc64b66f44f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/RankRaceContenders.tsx:69"}, "properties": {"repobilityId": "71e042d12f131551", "scanner": "scanner-primary", "fingerprint": "5850ebc64b66f44f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-eebd35b096ba39ca", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/markets/EventOutcomeMarketPage.tsx:135"}, "properties": {"repobilityId": "91eb456179841b99", "scanner": "scanner-primary", "fingerprint": "eebd35b096ba39ca", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-2c2e1bf9077bc222", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/agents/x402-cloud/page.tsx:174"}, "properties": {"repobilityId": "4eb22f025c5db886", "scanner": "scanner-primary", "fingerprint": "2c2e1bf9077bc222", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b3d0650807ddb11b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/quick/[marketId]/page.tsx:152"}, "properties": {"repobilityId": "fa1c97ee42326f65", "scanner": "scanner-primary", "fingerprint": "b3d0650807ddb11b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-df3f4e8139c2b292", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/logger.ts:63"}, "properties": {"repobilityId": "d91dbb6e420e1181", "scanner": "scanner-primary", "fingerprint": "df3f4e8139c2b292", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0063faf43b009e50", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in src/app/api/mcp/route.ts:87"}, "properties": {"repobilityId": "190274766ada645d", "scanner": "scanner-primary", "fingerprint": "0063faf43b009e50", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/api/mcp/route.ts"}, "region": {"startLine": 87}}}]}, {"ruleId": "scanner-0220250e3d791adc", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in src/lib/agent-http.ts:26"}, "properties": {"repobilityId": "5a74259d400c3213", "scanner": "scanner-primary", "fingerprint": "0220250e3d791adc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/agent-http.ts"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-3b3788d2e42a34c9", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in src/lib/partner-api.ts:355"}, "properties": {"repobilityId": "8da04b7f2711577e", "scanner": "scanner-primary", "fingerprint": "3b3788d2e42a34c9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/partner-api.ts"}, "region": {"startLine": 355}}}]}, {"ruleId": "scanner-c513d005cbf3ff3c", "level": "note", "message": {"text": "Very large file: src/app/markets/MarketExplorer.tsx (1268 lines)"}, "properties": {"repobilityId": "d0346b8c8c4820c9", "scanner": "scanner-primary", "fingerprint": "c513d005cbf3ff3c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-06cd5275923e4c9a", "level": "note", "message": {"text": "Very large file: src/core/standalone-market.ts (6191 lines)"}, "properties": {"repobilityId": "529e36cd9e8a1d73", "scanner": "scanner-primary", "fingerprint": "06cd5275923e4c9a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-71a9bf0c8e38e138", "level": "note", "message": {"text": "Very large file: src/core/resolver-registry.ts (1739 lines)"}, "properties": {"repobilityId": "7d9b85de7a32066f", "scanner": "scanner-primary", "fingerprint": "71a9bf0c8e38e138", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c77bf5dfa2953b60", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/hunch-agent-sdk/package.json"}, "properties": {"repobilityId": "480a256eda79ecaf", "scanner": "scanner-primary", "fingerprint": "c77bf5dfa2953b60", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/hunch-agent-sdk/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "4f8c11b964d072e3", "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": "95d0bc5a2097cdb5", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "0dc1a1ced5e1148c", "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": "6b731be69f5f6adc", "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": "663aeec7d1a3b38b", "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": "60f3162ceef52d84", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-17d866d91a7c451e", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: CLAUDE.md"}, "properties": {"repobilityId": "ccce5984e58a48f0", "scanner": "scanner-primary", "fingerprint": "17d866d91a7c451e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-093bb6dd45a8113f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: aeon-skill-pack/skills/hunch-intel/SKILL.md"}, "properties": {"repobilityId": "58155be8525b9074", "scanner": "scanner-primary", "fingerprint": "093bb6dd45a8113f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "aeon-skill-pack/skills/hunch-intel/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3edd058430e6bb87", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/partner-byte-compat.test.ts:57"}, "properties": {"repobilityId": "e80eb41a82bc0cd4", "scanner": "scanner-primary", "fingerprint": "3edd058430e6bb87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f8352c048bb7015d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/service-worker.test.ts:10"}, "properties": {"repobilityId": "ee7a0c1031a601c8", "scanner": "scanner-primary", "fingerprint": "f8352c048bb7015d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b460ad21ba64fa1c", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/dexscreener-stable-pair.test.ts:51"}, "properties": {"repobilityId": "861762483229ecf3", "scanner": "scanner-primary", "fingerprint": "b460ad21ba64fa1c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16e14c42b4bf8ed9", "level": "none", "message": {"text": "Commented-code block (24 lines) in test/markets-page.test.tsx:236"}, "properties": {"repobilityId": "ae4aba6269093e01", "scanner": "scanner-primary", "fingerprint": "16e14c42b4bf8ed9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ed027cd375fbb5d", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/native-swipe-feed.test.ts:28"}, "properties": {"repobilityId": "b403914994081257", "scanner": "scanner-primary", "fingerprint": "4ed027cd375fbb5d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ee76904fb8fbc64", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/agent-webhook-delivery.test.ts:164"}, "properties": {"repobilityId": "874c021902092b27", "scanner": "scanner-primary", "fingerprint": "9ee76904fb8fbc64", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1614531e09a41f96", "level": "none", "message": {"text": "Commented-code block (8 lines) in test/agent-trade-policy.test.ts:36"}, "properties": {"repobilityId": "11154c5dd2f53993", "scanner": "scanner-primary", "fingerprint": "1614531e09a41f96", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4944c6283087d5f", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/hunch-standalone-trade-route.test.ts:50"}, "properties": {"repobilityId": "971732366a5b5f84", "scanner": "scanner-primary", "fingerprint": "e4944c6283087d5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c2690ada198f87d", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/agent-platform-guard.test.ts:10"}, "properties": {"repobilityId": "de9637522865feb9", "scanner": "scanner-primary", "fingerprint": "8c2690ada198f87d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e6c76bc0052d46a1", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/launch-catalogue.test.ts:14"}, "properties": {"repobilityId": "c1d24e3551246c6b", "scanner": "scanner-primary", "fingerprint": "e6c76bc0052d46a1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-77d43aeb67a09a32", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/agent-trust-routes.test.ts:14"}, "properties": {"repobilityId": "d4b056370c07ce17", "scanner": "scanner-primary", "fingerprint": "77d43aeb67a09a32", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-26811907dff7f224", "level": "none", "message": {"text": "Commented-code block (7 lines) in test/agent-read-routes.test.ts:87"}, "properties": {"repobilityId": "90c830522583c023", "scanner": "scanner-primary", "fingerprint": "26811907dff7f224", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49a8711faa5c8a3e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/sw.js:27"}, "properties": {"repobilityId": "de2175499d6ce3a2", "scanner": "scanner-primary", "fingerprint": "49a8711faa5c8a3e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-26104253f29ed6a5", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agent/openapi.ts:1109"}, "properties": {"repobilityId": "1c108ee125200d79", "scanner": "scanner-primary", "fingerprint": "26104253f29ed6a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d364b06fa10a9648", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agent/trade-policy.ts:153"}, "properties": {"repobilityId": "9a52ce715decdfc7", "scanner": "scanner-primary", "fingerprint": "d364b06fa10a9648", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39ee7e01745eb464", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agent/manifests.ts:480"}, "properties": {"repobilityId": "e13ee4a6909eaba8", "scanner": "scanner-primary", "fingerprint": "39ee7e01745eb464", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9909a723797a025f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agent/mcp-tools.ts:111"}, "properties": {"repobilityId": "ed3868759a82f9cd", "scanner": "scanner-primary", "fingerprint": "9909a723797a025f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd3702e576e2d757", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agent/service.ts:568"}, "properties": {"repobilityId": "34bd16d4aed8d90a", "scanner": "scanner-primary", "fingerprint": "bd3702e576e2d757", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c632747ae6e8c5e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/PrivyProviders.tsx:147"}, "properties": {"repobilityId": "cd68370c75845bf4", "scanner": "scanner-primary", "fingerprint": "2c632747ae6e8c5e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-94810b7645a40654", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/app/global-error.tsx:3"}, "properties": {"repobilityId": "30818759453e7f3d", "scanner": "scanner-primary", "fingerprint": "94810b7645a40654", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bfc53dcaefa07354", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/api/partner/trade/route.ts:128"}, "properties": {"repobilityId": "0637211333be8555", "scanner": "scanner-primary", "fingerprint": "bfc53dcaefa07354", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-870970c370977b28", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/api/agent/v1/quote/route.ts:33"}, "properties": {"repobilityId": "762754b608fe5f43", "scanner": "scanner-primary", "fingerprint": "870970c370977b28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-64eb4bb107552586", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/app/api/agent/v1/trade/route.ts:65"}, "properties": {"repobilityId": "01a5b0b81d1b3186", "scanner": "scanner-primary", "fingerprint": "64eb4bb107552586", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4fc0d29c49f9ec49", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/app/markets/MarketExplorer.tsx:73"}, "properties": {"repobilityId": "c12ef932e59c3968", "scanner": "scanner-primary", "fingerprint": "4fc0d29c49f9ec49", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dec9c62ada5360cb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/markets/MarketExplorer.tsx:558"}, "properties": {"repobilityId": "29bfcf9781f016b1", "scanner": "scanner-primary", "fingerprint": "dec9c62ada5360cb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0dcf76111b77aa9b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/agents/x402-cloud/page.tsx:170"}, "properties": {"repobilityId": "7a0ab61b6bd9266b", "scanner": "scanner-primary", "fingerprint": "0dcf76111b77aa9b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-523752b77c38f8e4", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/app/openapi.json/route.ts:8"}, "properties": {"repobilityId": "b85e711ef37a1b72", "scanner": "scanner-primary", "fingerprint": "523752b77c38f8e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-11ea19b8a076ac1e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/use-authenticated-fetch.ts:13"}, "properties": {"repobilityId": "ac51b1c11e354f40", "scanner": "scanner-primary", "fingerprint": "11ea19b8a076ac1e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f67dff504e0acb20", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/base-settlement.ts:205"}, "properties": {"repobilityId": "0f814cb2cae2130a", "scanner": "scanner-primary", "fingerprint": "f67dff504e0acb20", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2e9501fafbbd7d4b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/agent-platform-stats.ts:416"}, "properties": {"repobilityId": "313f61294da85d24", "scanner": "scanner-primary", "fingerprint": "2e9501fafbbd7d4b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7aafa3ce82f50373", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/standalone-market-positions.ts:237"}, "properties": {"repobilityId": "78fe20e1852c5db0", "scanner": "scanner-primary", "fingerprint": "7aafa3ce82f50373", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-194ca894c5c8c792", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/agent-reserve-guard.ts:244"}, "properties": {"repobilityId": "174b39f1543de918", "scanner": "scanner-primary", "fingerprint": "194ca894c5c8c792", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-27bda51a4bfa17a5", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/partner-trade.ts:482"}, "properties": {"repobilityId": "dfa3c1cc71c8a828", "scanner": "scanner-primary", "fingerprint": "27bda51a4bfa17a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d741ab915f2b2ff4", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/uniswap-volume-snapshot.ts:92"}, "properties": {"repobilityId": "41d90fa08f06a3c3", "scanner": "scanner-primary", "fingerprint": "d741ab915f2b2ff4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8dbe42de1d90e1d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/market-observation-capture.ts:165"}, "properties": {"repobilityId": "4c5fe026ce6c3b5e", "scanner": "scanner-primary", "fingerprint": "d8dbe42de1d90e1d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8313c9b7a2d76767", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/oauth2-twitter.ts:96"}, "properties": {"repobilityId": "eb0ed574d8bc3cf5", "scanner": "scanner-primary", "fingerprint": "8313c9b7a2d76767", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-40cb271a6c173454", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/http.ts:62"}, "properties": {"repobilityId": "3eb1c0bd34775a7a", "scanner": "scanner-primary", "fingerprint": "40cb271a6c173454", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ce64e0bb0576b89a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/agent-rate-limit.ts:53"}, "properties": {"repobilityId": "5e31aae6a376d2a0", "scanner": "scanner-primary", "fingerprint": "ce64e0bb0576b89a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e01f7c30a594f024", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/core/standalone-market.ts:2321"}, "properties": {"repobilityId": "e37416f3929e7aa8", "scanner": "scanner-primary", "fingerprint": "e01f7c30a594f024", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3f60aad5c11626c", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/core/partner-trade.ts:72"}, "properties": {"repobilityId": "3bf7d3f877ec6866", "scanner": "scanner-primary", "fingerprint": "e3f60aad5c11626c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44ab7f72f4cb7ac9", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/core/launch-catalogue.ts:214"}, "properties": {"repobilityId": "4f8adb98d19caee3", "scanner": "scanner-primary", "fingerprint": "44ab7f72f4cb7ac9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a3e2533cfde70095", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/core/resolver-registry.ts:562"}, "properties": {"repobilityId": "e856ee5c533c47d7", "scanner": "scanner-primary", "fingerprint": "a3e2533cfde70095", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c8b918e1fee9558", "level": "note", "message": {"text": "20 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "bd1f6d44917e8105", "scanner": "scanner-primary", "fingerprint": "7c8b918e1fee9558", "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": "943cc5ce00486db5", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}