{"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: ryanssareen/daily-athlete", "shortDescription": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#9\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#9\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#9\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 9\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, '"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete", "shortDescription": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "fullDescription": {"text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#93\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#93\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#93\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 93\nGraph consistency label: supported_by_verification_signal\nNodes: 25\nEdges: 44\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'commit': "}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: ryanssareen/daily-athlete", "shortDescription": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#9\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#9\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a287149318753002\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\""}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.62, "cwe": "", "owasp": ""}}, {"id": "foundry_test_ci_gap", "name": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete", "shortDescription": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "fullDescription": {"text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#93\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#93\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#93\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 93\nGraph consistency label: supported_by_verification_signal\nNodes: 25\nEdges: 44\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'commit': 4, 'thread': 1, 'repo': "}, "properties": {"scanner": "foundry_dataset", "category": "testing", "severity": "high", "confidence": 0.78, "cwe": "", "owasp": ""}}, {"id": "foundry_schema_ui_api_gap", "name": "Foundry mined schema ui api mismatch: ryanssareen/daily-athlete", "shortDescription": {"text": "Foundry mined schema ui api mismatch: ryanssareen/daily-athlete"}, "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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#85\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#85\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#85\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 85\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 27\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outc"}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: ryanssareen/daily-athlete", "shortDescription": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#82\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#82\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1, 'positive_human_signal': 1}\nPolarities: {'bad': 1, 'good': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f43b901555a72214\",\n    \"kind\": \"issue_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://gith"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "high", "confidence": 0.84, "cwe": "", "owasp": ""}}, {"id": "foundry_auth_guardrail_gap", "name": "Foundry mined security auth guardrail gaps: ryanssareen/daily-athlete", "shortDescription": {"text": "Foundry mined security auth guardrail gaps: ryanssareen/daily-athlete"}, "fullDescription": {"text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#85\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#85\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#85\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 85\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 27\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 2, 'comment_chain"}, "properties": {"scanner": "foundry_dataset", "category": "auth", "severity": "critical", "confidence": 0.78, "cwe": "", "owasp": ""}}, {"id": "foundry_fake_real_gap", "name": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete", "shortDescription": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "fullDescription": {"text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#62\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#62\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#62\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 62\nGraph consistency label: supported_by_verification_signal\nNodes: 57\nEdges: 114\nNode types: {'pr_file': 34, 'link_quality': 6, 'comm"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"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-2e531c15e313c457", "name": "TODO/FIXME marker in shipping code \u2014 apps/web/src/ai/adaptive/llm.ts:7", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/web/src/ai/adaptive/llm.ts:7"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-554aaaa8d8e0697a", "name": "TODO/FIXME marker in shipping code \u2014 apps/web/src/inngest/functions/adaptive-detectors.ts:74", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/web/src/inngest/functions/adaptive-detectors.ts:74"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f1c66f97d0709f69", "name": "Very large file: apps/web/app/(athlete-onboarding)/athlete/onboarding/onboarding-flow.tsx (1894 lines)", "shortDescription": {"text": "Very large file: apps/web/app/(athlete-onboarding)/athlete/onboarding/onboarding-flow.tsx (1894 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-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0c2205560692580", "name": "Node manifest has dependencies but no lockfile: apps/mobile/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/mobile/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-4a9eb7dc7c6e3880", "name": "Node manifest has dependencies but no lockfile: apps/web/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/web/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-2699d5f16ae11282", "name": "Node manifest has dependencies but no lockfile: packages/shared/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/shared/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 19 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 53 placeholder/mock markers across 21 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, lockfile. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, 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-e1d3fbc30bead412", "name": "Agent instruction contains unpinned remote install: AGENTS.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: AGENTS.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1e6c322115ff2eb0", "name": "Commented-code block (6 lines) in apps/mobile/vitest.config.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/mobile/vitest.config.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8ec395045bcfeaaa", "name": "Commented-code block (5 lines) in apps/mobile/app/(modals)/weekly-review.tsx:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/app/(modals)/weekly-review.tsx:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4d8eb57a0f1f7929", "name": "Commented-code block (14 lines) in apps/mobile/src/integrations/strava.tsx:3", "shortDescription": {"text": "Commented-code block (14 lines) in apps/mobile/src/integrations/strava.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-859bb28c7be867f6", "name": "Commented-code block (5 lines) in apps/mobile/src/integrations/__tests__/strava.test.tsx:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/src/integrations/__tests__/strava.test.tsx:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cd9cae5872aa69c2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/src/api/client.ts:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/src/api/client.ts:24"}, "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-1308c044c714151b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/src/adaptive/useProposal.ts:33", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/src/adaptive/useProposal.ts:33"}, "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-f25d2f56f288e8e8", "name": "Commented-code block (6 lines) in apps/mobile/src/adaptive/ReviewBanner.tsx:1", "shortDescription": {"text": "Commented-code block (6 lines) in apps/mobile/src/adaptive/ReviewBanner.tsx:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-784c2d1224ef8f82", "name": "Commented-code block (6 lines) in apps/mobile/src/adaptive/__tests__/useProposal.test.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/mobile/src/adaptive/__tests__/useProposal.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-36e43ae627ab9a71", "name": "Commented-code block (6 lines) in apps/web/middleware.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/middleware.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6ae995bc32bc7e80", "name": "Commented-code block (6 lines) in apps/web/vitest.config.ts:21", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/vitest.config.ts:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4748960aa821783b", "name": "Commented-code block (8 lines) in apps/web/app/(athlete-onboarding)/athlete/onboarding/onboarding-flow.tsx:271", "shortDescription": {"text": "Commented-code block (8 lines) in apps/web/app/(athlete-onboarding)/athlete/onboarding/onboarding-flow.tsx:271"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-725ed4391a16af06", "name": "Commented-code block (8 lines) in apps/web/app/auth/callback/route.ts:96", "shortDescription": {"text": "Commented-code block (8 lines) in apps/web/app/auth/callback/route.ts:96"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-08f6f8d2a612d25a", "name": "Commented-code block (6 lines) in apps/web/app/api/integrations/strava/disconnect/route.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/api/integrations/strava/disconnect/route.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-791379f3d8eeef85", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/api/integrations/strava/disconnect/route.ts:179", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/api/integrations/strava/disconnect/route.ts:179"}, "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-03bd081b9da7861a", "name": "Commented-code block (20 lines) in apps/web/app/api/integrations/strava/connect/route.ts:8", "shortDescription": {"text": "Commented-code block (20 lines) in apps/web/app/api/integrations/strava/connect/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-3641988bd7a1c516", "name": "Commented-code block (6 lines) in apps/web/app/api/integrations/strava/connect/__tests__/route.test.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/api/integrations/strava/connect/__tests__/route.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e2710e8be8a976b4", "name": "Commented-code block (5 lines) in apps/web/app/api/integrations/strava/mobile-bounce/route.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/integrations/strava/mobile-bounce/route.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f8ceee144b91de03", "name": "Commented-code block (9 lines) in apps/web/app/api/integrations/strava/webhook/route.ts:4", "shortDescription": {"text": "Commented-code block (9 lines) in apps/web/app/api/integrations/strava/webhook/route.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b9b2f95d3abd2a78", "name": "Commented-code block (10 lines) in apps/web/app/api/integrations/strava/callback/route.ts:7", "shortDescription": {"text": "Commented-code block (10 lines) in apps/web/app/api/integrations/strava/callback/route.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-99406591cdadb5f0", "name": "Commented-code block (10 lines) in apps/web/app/api/integrations/strava/authorize/route.ts:3", "shortDescription": {"text": "Commented-code block (10 lines) in apps/web/app/api/integrations/strava/authorize/route.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cfca838f733d2e9e", "name": "Commented-code block (5 lines) in apps/web/app/api/integrations/strava/backfill/retry/route.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/integrations/strava/backfill/retry/route.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ecd76a81f3032f71", "name": "Commented-code block (7 lines) in apps/web/app/api/integrations/strava/init/route.ts:8", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/app/api/integrations/strava/init/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-8c630bf6ab2b8c6f", "name": "Commented-code block (7 lines) in apps/web/app/api/integrations/strava/init/__tests__/route.test.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/app/api/integrations/strava/init/__tests__/route.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-edc2c0477fb140bf", "name": "Commented-code block (5 lines) in apps/web/app/api/weekly-review/route.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/weekly-review/route.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9014654071444357", "name": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/__tests__/post-route.test.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/__tests__/post-route.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-88728fca2e98f4ab", "name": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/__tests__/route.test.ts:8", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/__tests__/route.test.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-12954912d1a4595a", "name": "Commented-code block (8 lines) in apps/web/app/api/weekly-review/[id]/accept/route.ts:8", "shortDescription": {"text": "Commented-code block (8 lines) in apps/web/app/api/weekly-review/[id]/accept/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-0970d03c25a2cc3c", "name": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/[id]/accept/__tests__/route.test.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/[id]/accept/__tests__/route.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-24e36d6577968b2a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/api/weekly-review/[id]/accept/__tests__/route.test.ts:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/api/weekly-review/[id]/accept/__tests__/route.test.ts:40"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-21bc25cb5662d860", "name": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/[id]/reject/route.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/[id]/reject/route.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-94bc5f3fb0200525", "name": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/[id]/reject/__tests__/route.test.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/[id]/reject/__tests__/route.test.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f992dce08ca072f2", "name": "Commented-code block (12 lines) in apps/web/app/api/admin/playground/route.ts:4", "shortDescription": {"text": "Commented-code block (12 lines) in apps/web/app/api/admin/playground/route.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-90c5e286c13f9f06", "name": "Commented-code block (6 lines) in apps/web/app/api/admin/users/[id]/moderation/route.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/api/admin/users/[id]/moderation/route.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e43b13840c293929", "name": "Commented-code block (5 lines) in apps/web/app/api/admin/users/[id]/moderation/__tests__/route.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/admin/users/[id]/moderation/__tests__/route.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f466e4dc3f25050", "name": "Commented-code block (5 lines) in apps/web/app/api/admin/login/route.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/admin/login/route.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-77005ab818108680", "name": "Commented-code block (5 lines) in apps/web/app/api/admin/logs/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/admin/logs/route.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-976dfea25f9c865d", "name": "Commented-code block (5 lines) in apps/web/app/api/admin/backups/[id]/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/admin/backups/[id]/route.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bc0793e3c85c8c44", "name": "Commented-code block (5 lines) in apps/web/app/api/admin/backups/[id]/download/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/admin/backups/[id]/download/route.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-79a825fee770dac9", "name": "Commented-code block (5 lines) in apps/web/app/api/coach/links/[id]/archive/route.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/coach/links/[id]/archive/route.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84eaddbcb424b88a", "name": "Commented-code block (7 lines) in apps/web/app/api/coach/workouts/route.ts:5", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/app/api/coach/workouts/route.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-27390e15362a9768", "name": "Commented-code block (9 lines) in apps/web/app/api/activities/manual/route.ts:5", "shortDescription": {"text": "Commented-code block (9 lines) in apps/web/app/api/activities/manual/route.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d810a0da51361ebf", "name": "Commented-code block (9 lines) in apps/web/app/api/activities/manual/__tests__/route.test.ts:9", "shortDescription": {"text": "Commented-code block (9 lines) in apps/web/app/api/activities/manual/__tests__/route.test.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3713c7b62a46cb1e", "name": "Commented-code block (6 lines) in apps/web/app/api/athlete/coach/disconnect/route.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/api/athlete/coach/disconnect/route.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1432bca005b48a78", "name": "Commented-code block (5 lines) in apps/web/app/api/athlete/coach/disconnect/__tests__/route.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/athlete/coach/disconnect/__tests__/route.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-53e5f071ffed95cd", "name": "Commented-code block (5 lines) in apps/web/app/api/onboarding/strava-status/route.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/onboarding/strava-status/route.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4036500f442125d2", "name": "Commented-code block (7 lines) in apps/web/app/api/cron/weekly-review-expiry/route.ts:6", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/app/api/cron/weekly-review-expiry/route.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89a645ce24358755", "name": "Commented-code block (5 lines) in apps/web/app/api/plans/route.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/plans/route.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1e6e0cbae12cf72d", "name": "Commented-code block (5 lines) in apps/web/app/api/inngest/route.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/inngest/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-e2ad9acbc49aec51", "name": "Commented-code block (7 lines) in apps/web/app/api/workouts/[id]/status/route.ts:12", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/app/api/workouts/[id]/status/route.ts:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d30f75482a5c33c0", "name": "Commented-code block (5 lines) in apps/web/app/api/workouts/[id]/status/__tests__/route.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/api/workouts/[id]/status/__tests__/route.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5847851aeabc6a7a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/api/workouts/[id]/status/__tests__/route.test.ts:47", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/api/workouts/[id]/status/__tests__/route.test.ts:47"}, "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-7ed21b6d3633a4c6", "name": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/users/_components/moderation-actions.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/users/_components/moderation-actions.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-0b45cc86372a67b3", "name": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/users/_components/users-table.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/users/_components/users-table.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-1de2454bcea85186", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/admin/(authed)/users/_components/users-table.tsx:78", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/admin/(authed)/users/_components/users-table.tsx:78"}, "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-6074119271f71477", "name": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/logs/_components/logs-table.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/logs/_components/logs-table.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-59993c1112f85bd3", "name": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/backups/_components/restore-panel.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/backups/_components/restore-panel.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-b94eaa15eb3003f0", "name": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/backups/_components/backup-logs.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/backups/_components/backup-logs.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-90a9280f9d43e3ac", "name": "Commented-code block (6 lines) in apps/web/app/admin/(authed)/backups/_components/backup-list.tsx:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/admin/(authed)/backups/_components/backup-list.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-243dd66605b38663", "name": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/api-playground/_components/playground-panel.tsx:7", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/api-playground/_components/playground-panel.tsx:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f76369c5680fdb99", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/admin/(authed)/_components/admin-nav.tsx:29", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/admin/(authed)/_components/admin-nav.tsx:29"}, "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-b0b7244ab0cd7cc2", "name": "Commented-code block (6 lines) in apps/web/app/(athlete)/layout.tsx:19", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/(athlete)/layout.tsx:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a5d2eb8006bc0509", "name": "Commented-code block (7 lines) in apps/web/app/(athlete)/athlete/workouts/[id]/LapSplits.tsx:7", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/app/(athlete)/athlete/workouts/[id]/LapSplits.tsx:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-da8cbf9816ce2fa1", "name": "Commented-code block (5 lines) in apps/web/app/(athlete)/athlete/workouts/[id]/ZoneDistribution.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/(athlete)/athlete/workouts/[id]/ZoneDistribution.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-720795348330cec4", "name": "Commented-code block (6 lines) in apps/web/app/(athlete)/athlete/workouts/[id]/page.tsx:166", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/(athlete)/athlete/workouts/[id]/page.tsx:166"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fd6103e5a8a261ee", "name": "Commented-code block (5 lines) in apps/web/app/(athlete)/athlete/workouts/[id]/StatsDetail.tsx:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/(athlete)/athlete/workouts/[id]/StatsDetail.tsx:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9e9f7ba1ab0a3de3", "name": "Commented-code block (7 lines) in apps/web/app/(athlete)/plan/page.tsx:10", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/app/(athlete)/plan/page.tsx:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ed0cce7327fde195", "name": "Commented-code block (6 lines) in apps/web/app/(athlete)/plan/__tests__/page.test.tsx:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/(athlete)/plan/__tests__/page.test.tsx:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5cb3e2a286f09278", "name": "Commented-code block (5 lines) in apps/web/app/(coach)/athletes/[id]/plan/page.tsx:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/app/(coach)/athletes/[id]/plan/page.tsx:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8a8d4b1605743dc6", "name": "Commented-code block (6 lines) in apps/web/app/(auth)/sign-up/coach/page.tsx:52", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/app/(auth)/sign-up/coach/page.tsx:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ced43efe3cad4b12", "name": "Commented-code block (5 lines) in apps/web/src/config.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/config.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-30f0a46b9dde8e78", "name": "Commented-code block (5 lines) in apps/web/src/__tests__/config.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/__tests__/config.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-db304d04a5c9ce67", "name": "Commented-code block (6 lines) in apps/web/src/ai/prompt-delimiters.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/ai/prompt-delimiters.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-796ea4ff798ba5b5", "name": "Commented-code block (5 lines) in apps/web/src/ai/__tests__/structure-superset.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/__tests__/structure-superset.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-adb18bfcc00b44d2", "name": "Commented-code block (5 lines) in apps/web/src/ai/eval/judge.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/eval/judge.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84aff87af089c719", "name": "Commented-code block (5 lines) in apps/web/src/ai/eval/deterministic.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/eval/deterministic.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-856024ba8dd83ebb", "name": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/propose.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/propose.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7bb438548ac9b467", "name": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/recipient-auth.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/recipient-auth.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9ba104e8f6307c2c", "name": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/schedule.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/schedule.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-87d796ff3588e264", "name": "Commented-code block (9 lines) in apps/web/src/ai/adaptive/context.ts:5", "shortDescription": {"text": "Commented-code block (9 lines) in apps/web/src/ai/adaptive/context.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c6b9e62ff769d4bc", "name": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/precedence.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/precedence.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-91b4d785e773d28c", "name": "Commented-code block (11 lines) in apps/web/src/ai/adaptive/persist.ts:6", "shortDescription": {"text": "Commented-code block (11 lines) in apps/web/src/ai/adaptive/persist.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-16927c9de863d3ce", "name": "Commented-code block (17 lines) in apps/web/src/ai/adaptive/apply.ts:9", "shortDescription": {"text": "Commented-code block (17 lines) in apps/web/src/ai/adaptive/apply.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-75d70af5df7c6f10", "name": "Commented-code block (6 lines) in apps/web/src/ai/adaptive/llm-proposer.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/ai/adaptive/llm-proposer.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-63c2335cec6b076e", "name": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/llm.ts:12", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/llm.ts:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-112a6499cb68c7ac", "name": "Commented-code block (13 lines) in apps/web/src/ai/adaptive/engine.ts:5", "shortDescription": {"text": "Commented-code block (13 lines) in apps/web/src/ai/adaptive/engine.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-04257f393bea1de3", "name": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/__tests__/engine.test.ts:23", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/__tests__/engine.test.ts:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fa236f6799f37938", "name": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/__tests__/apply.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/__tests__/apply.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5e897cb1d3fbdb54", "name": "Commented-code block (6 lines) in apps/web/src/ai/adaptive/triggers/on-demand.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/ai/adaptive/triggers/on-demand.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-413bf1b0c0fabd0e", "name": "Commented-code block (8 lines) in apps/web/src/ai/adaptive/triggers/__tests__/on-demand.test.ts:3", "shortDescription": {"text": "Commented-code block (8 lines) in apps/web/src/ai/adaptive/triggers/__tests__/on-demand.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-38408988cec85108", "name": "Commented-code block (7 lines) in apps/web/src/ai/adaptive/__fixtures__/structure.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/ai/adaptive/__fixtures__/structure.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a8cc62df14216b96", "name": "Commented-code block (8 lines) in apps/web/src/ai/adaptive/detectors/missed-block.ts:7", "shortDescription": {"text": "Commented-code block (8 lines) in apps/web/src/ai/adaptive/detectors/missed-block.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a279aefe6a0c6504", "name": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/prompts/replan.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/prompts/replan.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-34cb868184c4a3e0", "name": "Commented-code block (7 lines) in apps/web/src/ai/generation/validate-plan.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/ai/generation/validate-plan.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-42ca36c76b0bf71e", "name": "Commented-code block (5 lines) in apps/web/src/ai/generation/feasibility.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/generation/feasibility.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4816543fe8ba9474", "name": "Commented-code block (7 lines) in apps/web/src/ai/generation/phase-coherence.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/ai/generation/phase-coherence.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-54bdcaa598379e17", "name": "Commented-code block (6 lines) in apps/web/src/ai/generation/context.ts:30", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/ai/generation/context.ts:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb155d7641357ee0", "name": "Commented-code block (5 lines) in apps/web/src/ai/generation/content-gate.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/generation/content-gate.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-036c4a0ce9e74003", "name": "Commented-code block (5 lines) in apps/web/src/ai/generation/generate.ts:9", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/generation/generate.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c33f009409dc649b", "name": "Commented-code block (5 lines) in apps/web/src/ai/generation/__tests__/validate-plan.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/ai/generation/__tests__/validate-plan.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-095621c64a3e5020", "name": "Commented-code block (6 lines) in apps/web/src/ai/generation/prompts/generate-plan.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/ai/generation/prompts/generate-plan.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-04524a6e0ad68801", "name": "Commented-code block (5 lines) in apps/web/src/auth/entitlements.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/auth/entitlements.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c0309ec71e7bb97c", "name": "Commented-code block (6 lines) in apps/web/src/auth/admin-session.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/auth/admin-session.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2d22090c82658827", "name": "Commented-code block (6 lines) in apps/web/src/auth/trial.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/auth/trial.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-13e216fba6394f1c", "name": "Commented-code block (5 lines) in apps/web/src/auth/bearer.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/auth/bearer.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-32b80b376a98fc39", "name": "Commented-code block (6 lines) in apps/web/src/auth/__tests__/entitlements.test.ts:8", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/auth/__tests__/entitlements.test.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-532b587239a09f23", "name": "Commented-code block (5 lines) in apps/web/src/auth/__tests__/admin-session.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/auth/__tests__/admin-session.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d258a47d0c6dc2a9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/api/client.ts:18", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/api/client.ts:18"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-57e9183da9ac4fb5", "name": "Commented-code block (6 lines) in apps/web/src/api/__tests__/coach-workouts.test.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/api/__tests__/coach-workouts.test.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e2b018b1cceb08a4", "name": "Commented-code block (7 lines) in apps/web/src/api/__tests__/workout-status.test.ts:8", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/api/__tests__/workout-status.test.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-f94f22991e9a8184", "name": "Commented-code block (5 lines) in apps/web/src/api/__tests__/strava-disconnect.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/api/__tests__/strava-disconnect.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bef5014e0e315c89", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/api/__tests__/strava-disconnect.test.ts:7", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/api/__tests__/strava-disconnect.test.ts:7"}, "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-c0d87ad259f9b0b1", "name": "Commented-code block (5 lines) in apps/web/src/api/__tests__/strava-mobile-bounce.test.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/api/__tests__/strava-mobile-bounce.test.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-13342b599da24bcd", "name": "Commented-code block (5 lines) in apps/web/src/api/__tests__/coach-links.test.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/api/__tests__/coach-links.test.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d1ad5e6b3d4e1fcc", "name": "Commented-code block (6 lines) in apps/web/src/strava/state-nonce.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/strava/state-nonce.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e18435099f5ec5cf", "name": "Commented-code block (5 lines) in apps/web/src/strava/auto-match.ts:9", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/strava/auto-match.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2d1057dd10d58344", "name": "Commented-code block (5 lines) in apps/web/src/strava/schemas.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/strava/schemas.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-16a46f0d48c264bd", "name": "Commented-code block (10 lines) in apps/web/src/strava/endpoints.ts:3", "shortDescription": {"text": "Commented-code block (10 lines) in apps/web/src/strava/endpoints.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f52920dc0c653466", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/strava/endpoints.ts:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/strava/endpoints.ts:34"}, "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-cefebfc62de5fca6", "name": "Commented-code block (7 lines) in apps/web/src/strava/client.ts:4", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/strava/client.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e0f6e3d5a70da427", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/strava/client.ts:12", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/strava/client.ts:12"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-836df760920fbf32", "name": "Commented-code block (6 lines) in apps/web/src/strava/http.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/strava/http.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-30fd59bf58c86944", "name": "Commented-code block (5 lines) in apps/web/src/strava/hydrate-workout.ts:26", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/strava/hydrate-workout.ts:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a3a11ea2c034b9c2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/strava/hydrate-workout.ts:61", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/strava/hydrate-workout.ts:61"}, "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-f11fa6859200c603", "name": "Commented-code block (6 lines) in apps/web/src/strava/errors.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/strava/errors.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d89e3dce753ebf2e", "name": "Commented-code block (10 lines) in apps/web/src/strava/__tests__/client.test.ts:3", "shortDescription": {"text": "Commented-code block (10 lines) in apps/web/src/strava/__tests__/client.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c24c78ed04eab6a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/strava/__tests__/client.test.ts:213", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/strava/__tests__/client.test.ts:213"}, "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-e82a5f1b2f547766", "name": "Commented-code block (9 lines) in apps/web/src/components/__tests__/app-shell-responsive.test.ts:3", "shortDescription": {"text": "Commented-code block (9 lines) in apps/web/src/components/__tests__/app-shell-responsive.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-80c5b9f287dad35f", "name": "Commented-code block (5 lines) in apps/web/src/lib/zone-palette.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/lib/zone-palette.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-798ec4dc328f76f8", "name": "Commented-code block (6 lines) in apps/web/src/lib/training-math.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/lib/training-math.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2a279873b777eb30", "name": "Commented-code block (5 lines) in apps/web/src/admin/backup-export.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/admin/backup-export.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-7a787d14e40ab401", "name": "Commented-code block (8 lines) in apps/web/src/admin/backup-retention.ts:3", "shortDescription": {"text": "Commented-code block (8 lines) in apps/web/src/admin/backup-retention.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-35b4e4a26064e321", "name": "Legacy-named symbol `is_physical_backup` in apps/web/src/admin/managed-backups.ts:35", "shortDescription": {"text": "Legacy-named symbol `is_physical_backup` in apps/web/src/admin/managed-backups.ts:35"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c633332cb97fbda7", "name": "Commented-code block (5 lines) in apps/web/src/admin/backup-crypto.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/admin/backup-crypto.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c0da681381350bdd", "name": "Commented-code block (5 lines) in apps/web/src/admin/backup-restore.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/admin/backup-restore.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fe2789244aee7e7e", "name": "Commented-code block (6 lines) in apps/web/src/adaptive/ProposalReview.tsx:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/adaptive/ProposalReview.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-48ad289b6f4669f0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/adaptive/ProposalReview.tsx:5", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/adaptive/ProposalReview.tsx:5"}, "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-9454679ffe0eb954", "name": "Commented-code block (5 lines) in apps/web/src/adaptive/ReviewBanner.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/adaptive/ReviewBanner.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-c16aafa8c2a650c0", "name": "Commented-code block (8 lines) in apps/web/src/db/admin-users.ts:7", "shortDescription": {"text": "Commented-code block (8 lines) in apps/web/src/db/admin-users.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0b9c13bf2efec1d9", "name": "Commented-code block (7 lines) in apps/web/src/db/admin-moderation.ts:11", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/db/admin-moderation.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-73e06d588ccb040b", "name": "Commented-code block (6 lines) in apps/web/src/db/workout-edits.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/db/workout-edits.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-61b7aad0af8831f8", "name": "Commented-code block (7 lines) in apps/web/src/db/strava-tokens.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/db/strava-tokens.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bb0e140f0ce741c1", "name": "Commented-code block (5 lines) in apps/web/src/db/create-ai-plan.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/db/create-ai-plan.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-51b987d54680a9e9", "name": "Commented-code block (5 lines) in apps/web/src/db/admin.ts:14", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/db/admin.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-4fb18e4f50f2fcd1", "name": "Commented-code block (10 lines) in apps/web/src/db/weekly-reviews.ts:5", "shortDescription": {"text": "Commented-code block (10 lines) in apps/web/src/db/weekly-reviews.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-87060b7806079b78", "name": "Commented-code block (6 lines) in apps/web/src/db/__tests__/workout-edits.rls.test.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/db/__tests__/workout-edits.rls.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-df0ed5b787693c38", "name": "Commented-code block (5 lines) in apps/web/src/db/__tests__/admin-moderation.unit.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/db/__tests__/admin-moderation.unit.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-12fbdaa4151ee500", "name": "Commented-code block (7 lines) in apps/web/src/db/__tests__/weekly-reviews.rls.test.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/db/__tests__/weekly-reviews.rls.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c4345a4b3226aa0", "name": "Commented-code block (5 lines) in apps/web/src/db/__tests__/athlete-profile-lockstep.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/db/__tests__/athlete-profile-lockstep.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0137be17bc270cf7", "name": "Commented-code block (10 lines) in apps/web/src/db/__tests__/create-ai-plan.test.ts:1", "shortDescription": {"text": "Commented-code block (10 lines) in apps/web/src/db/__tests__/create-ai-plan.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a99bfef6939f4ad9", "name": "Commented-code block (12 lines) in apps/web/src/db/__tests__/athlete-profile-backfill-status.test.ts:5", "shortDescription": {"text": "Commented-code block (12 lines) in apps/web/src/db/__tests__/athlete-profile-backfill-status.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-11f28f4f6f1a71df", "name": "Commented-code block (9 lines) in apps/web/src/db/__tests__/smoke.test.ts:1", "shortDescription": {"text": "Commented-code block (9 lines) in apps/web/src/db/__tests__/smoke.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-87524572d697392a", "name": "Commented-code block (10 lines) in apps/web/src/db/__tests__/apply-weekly-review.rls.test.ts:1", "shortDescription": {"text": "Commented-code block (10 lines) in apps/web/src/db/__tests__/apply-weekly-review.rls.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-13ac54265be11ce2", "name": "Commented-code block (14 lines) in apps/web/src/db/__tests__/planned-workouts.test.ts:1", "shortDescription": {"text": "Commented-code block (14 lines) in apps/web/src/db/__tests__/planned-workouts.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d287d4e33895a591", "name": "Commented-code block (8 lines) in apps/web/src/db/__tests__/plans.test.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in apps/web/src/db/__tests__/plans.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2446ec3833cfec6b", "name": "Commented-code block (10 lines) in apps/web/src/db/__tests__/workout-matches.test.ts:1", "shortDescription": {"text": "Commented-code block (10 lines) in apps/web/src/db/__tests__/workout-matches.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-88e369157f12a177", "name": "Commented-code block (5 lines) in apps/web/src/db/__tests__/ai-generation-attempts.rls.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/db/__tests__/ai-generation-attempts.rls.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0714092006e25709", "name": "Commented-code block (7 lines) in apps/web/src/db/__tests__/coach-athlete-links.rls.test.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/db/__tests__/coach-athlete-links.rls.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a556af98b6b9c06a", "name": "Commented-code block (16 lines) in apps/web/src/db/__tests__/setup.ts:3", "shortDescription": {"text": "Commented-code block (16 lines) in apps/web/src/db/__tests__/setup.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af50435b19e80c7f", "name": "Commented-code block (13 lines) in apps/web/src/db/__tests__/completed-workouts.test.ts:1", "shortDescription": {"text": "Commented-code block (13 lines) in apps/web/src/db/__tests__/completed-workouts.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17a3d026001f4374", "name": "Commented-code block (12 lines) in apps/web/src/db/__tests__/athlete-profile.test.ts:1", "shortDescription": {"text": "Commented-code block (12 lines) in apps/web/src/db/__tests__/athlete-profile.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d41a35556f63d67f", "name": "Commented-code block (5 lines) in apps/web/src/db/__tests__/workout-edits-append.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/db/__tests__/workout-edits-append.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5cc25e4a78952a19", "name": "Commented-code block (6 lines) in apps/web/src/training-load/load-series.ts:8", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/training-load/load-series.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-d77b1cb160c08ceb", "name": "Commented-code block (7 lines) in apps/web/src/training-load/invariants.ts:12", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/training-load/invariants.ts:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-efe0ca0fd8360665", "name": "Commented-code block (6 lines) in apps/web/src/plan/GeneratePlanCard.tsx:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/plan/GeneratePlanCard.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-6c046284c4c858ec", "name": "Commented-code block (5 lines) in apps/web/src/realtime/weekly-reviews.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/realtime/weekly-reviews.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-31063812476069aa", "name": "Commented-code block (6 lines) in apps/web/src/inngest/client.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/inngest/client.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-51d20ac068c9801e", "name": "Commented-code block (6 lines) in apps/web/src/inngest/functions/adaptive-detectors.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/inngest/functions/adaptive-detectors.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-854d62731e127022", "name": "Commented-code block (5 lines) in apps/web/src/inngest/functions/adaptive-run.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/inngest/functions/adaptive-run.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-19fac77be36117d2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/inngest/functions/backfill-strava.ts:101", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/inngest/functions/backfill-strava.ts:101"}, "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-d3017896b5343017", "name": "Commented-code block (5 lines) in apps/web/src/inngest/functions/backfill-watchdog.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/inngest/functions/backfill-watchdog.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-172184a6b6e3948d", "name": "Commented-code block (6 lines) in apps/web/src/inngest/functions/generate-plan.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/inngest/functions/generate-plan.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ff625df7f3771ce", "name": "Commented-code block (5 lines) in apps/web/src/inngest/functions/__tests__/generate-plan.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/inngest/functions/__tests__/generate-plan.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7c6e6b25eccbb43f", "name": "Commented-code block (5 lines) in apps/web/src/inngest/functions/__tests__/registry.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/inngest/functions/__tests__/registry.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-732f20e2ed030fb0", "name": "Commented-code block (5 lines) in apps/web/src/llm/index.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/llm/index.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ffd6116634e66f52", "name": "Commented-code block (5 lines) in apps/web/src/llm/tracing.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/llm/tracing.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8caab3e8f1f404cf", "name": "Commented-code block (6 lines) in apps/web/src/llm/errors.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/llm/errors.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b2f79bcb2f591701", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/llm/__tests__/anthropic.test.ts:12", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/llm/__tests__/anthropic.test.ts:12"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b54efa1d0181c197", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/llm/__tests__/groq.test.ts:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/llm/__tests__/groq.test.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-466edd54734b8567", "name": "Commented-code block (5 lines) in scripts/app-store-odds.py:57", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/app-store-odds.py:57"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3eb330ce38aff55f", "name": "Commented-code block (5 lines) in packages/shared/src/admin-moderation.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/shared/src/admin-moderation.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af984e72a378fe29", "name": "Commented-code block (5 lines) in packages/shared/src/weekly-review.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/shared/src/weekly-review.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a5b9a75cc3584a37", "name": "Commented-code block (6 lines) in packages/shared/src/strava-raw-payload.ts:19", "shortDescription": {"text": "Commented-code block (6 lines) in packages/shared/src/strava-raw-payload.ts:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fea4ac42bd561402", "name": "Commented-code block (6 lines) in packages/shared/src/completed-workout.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in packages/shared/src/completed-workout.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7c154cb5f7e36247", "name": "Commented-code block (5 lines) in packages/shared/src/workout-edit.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in packages/shared/src/workout-edit.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b68c76ab1e733974", "name": "Commented-code block (6 lines) in packages/shared/src/edit-op.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in packages/shared/src/edit-op.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-88c7874d273eb23f", "name": "Commented-code block (6 lines) in packages/shared/src/plan-generation.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in packages/shared/src/plan-generation.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3f77875da79b1647", "name": "Commented-code block (6 lines) in packages/shared/src/realtime-allowlist.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in packages/shared/src/realtime-allowlist.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dc677498d9402211", "name": "Commented-code block (5 lines) in packages/shared/src/athlete-profile.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/shared/src/athlete-profile.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-119fd545827c3385", "name": "Commented-code block (13 lines) in packages/shared/src/strava-connect.ts:4", "shortDescription": {"text": "Commented-code block (13 lines) in packages/shared/src/strava-connect.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-478d5fee6cbadbc6", "name": "Commented-code block (6 lines) in packages/shared/src/entitlement.ts:17", "shortDescription": {"text": "Commented-code block (6 lines) in packages/shared/src/entitlement.ts:17"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-56db1315fcc470c7", "name": "Commented-code block (11 lines) in packages/shared/src/workout-match.ts:6", "shortDescription": {"text": "Commented-code block (11 lines) in packages/shared/src/workout-match.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5aacc49180ab1b82", "name": "Commented-code block (5 lines) in packages/shared/src/strava-token.ts:9", "shortDescription": {"text": "Commented-code block (5 lines) in packages/shared/src/strava-token.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8509b81c6dd76cbf", "name": "Commented-code block (5 lines) in packages/shared/src/planned-workout.ts:36", "shortDescription": {"text": "Commented-code block (5 lines) in packages/shared/src/planned-workout.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-e1ea76d75622c2d2", "name": "Commented-code block (11 lines) in packages/shared/src/strava-backfill.ts:8", "shortDescription": {"text": "Commented-code block (11 lines) in packages/shared/src/strava-backfill.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-a4d88ef44dddc78b", "name": "Commented-code block (7 lines) in packages/shared/src/__tests__/workout-match.test.ts:144", "shortDescription": {"text": "Commented-code block (7 lines) in packages/shared/src/__tests__/workout-match.test.ts:144"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-57f130848d4657bb", "name": "Commented-code block (5 lines) in packages/shared/src/__tests__/strava-raw-payload.test.ts:77", "shortDescription": {"text": "Commented-code block (5 lines) in packages/shared/src/__tests__/strava-raw-payload.test.ts:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af022f937dd5b7fd", "name": "9 env vars used in code but missing from .env.example", "shortDescription": {"text": "9 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ADMIN_SECRET`, `ADMIN_SESSION_SIGNING_KEY`, `BACKUP_ENCRYPTION_KEYS`, `CRON_SECRET`, `EXPO_PUBLIC_STRAVA_CLIENT_ID`, `NEXT_PUBLIC_SITE_URL`, `STRAVA_WEBHOOK_SUBSCRIPTION_ID`, `SUPABASE_MANAGEMENT_TOKEN` + 1 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}}]}}, "automationDetails": {"id": "repobility/18650"}, "properties": {"repository": "ryanssareen/daily-athlete", "repoUrl": "https://github.com/ryanssareen/daily-athlete", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369709, "scanner": "foundry_dataset", "fingerprint": "05de12c84de42c89282261578d616421e37b26198c7b76b71ac4221d9e5bea92", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#9", "issue_number": "9", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-e710c17037397c51", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#9\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#9\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#9\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 9\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-3b7e82eed313ff8d", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369708, "scanner": "foundry_dataset", "fingerprint": "b2ffd5fd274a1387a7d2acd7a326c80904603257a1bc8de6e53956817da562a5", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"human_feedback_general": 1, "unlinked_human_feedback": 1, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#88", "issue_number": "88", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-e191df96c1f9e820", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#88\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#88\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#88\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 88\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-3bf3b997bc4cdc86", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369707, "scanner": "foundry_dataset", "fingerprint": "bae78483497b871dbb722cf06ee70b3a5ed8595a00589b4b3a6911cd53c052b7", "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_workflow_gap": 1, "positive_human_signal": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "positive_feedback_no_linked_change": 1, "human_positive_or_acceptance_signal": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6, "human_positive_or_acceptance_signal": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#82", "issue_number": "82", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-63377aad870e9c21", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: assumption_check\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#82\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#82\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#82\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 82\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'positive_human_signal': 1, 'human_reported_issue_no_linked_fix': 1, 'positive_feedback_no_linked_change': 1, 'human_positive_or_acceptance_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'human_positive_or_acceptance_signal': 2}\nQuality tiers: {'unresolved': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-b56c53cc67863b63", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369706, "scanner": "foundry_dataset", "fingerprint": "6ed8ffb7c82fa7c71ff49acc787b224e9ac8d07d8e7635e98d9287eeacfb82a4", "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_workflow_gap": 2, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "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": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 19, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#81", "issue_number": "81", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-565b7ea47e681f4d", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#81\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#81\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#81\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 81\nGraph consistency label: weak_supervision_needs_review\nNodes: 19\nEdges: 26\nNode types: {'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_links_commit': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'ui_workflow_gap': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_reported_issue_no_linked_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-6a3055eb5944463b", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369705, "scanner": "foundry_dataset", "fingerprint": "e17fa287f59f00649397dab264f365a3907914388158113aa64e7eddea494959", "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_workflow_gap": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#80", "issue_number": "80", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-8b167f8864323b11", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: assumption_check\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#80\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#80\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#80\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 80\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'ui_workflow_gap': 1, 'unlinked_human_feedback': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-77bc9d8a52e2953c", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369704, "scanner": "foundry_dataset", "fingerprint": "3991639ac0909c4f4d24aed02cfea2b61964ad11dbf794100d2162e4e2905d23", "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, "api_integration_gap": 1, "dependency_or_build": 2, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 3, "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": 3, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#78", "issue_number": "78", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-47f7993edf5973e8", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 5, "dependency_or_build": 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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#78\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#78\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#78\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 78\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 37\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 3, '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': 6, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_touches_file': 3, 'issue_chain_touches_file': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'dependency_or_build': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 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, '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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-2031fb9acb177abe", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369703, "scanner": "foundry_dataset", "fingerprint": "f524c3b6fac6199ff79fba8197fa37b7a1925f47049fc75c85ffd640069fb18f", "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, "ui_workflow_gap": 1, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 1, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#76", "issue_number": "76", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-f5bed76dc6a4f791", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#76\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#76\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#76\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 76\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'ui_workflow_gap': 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, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-acb180e5a1260bf1", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369702, "scanner": "foundry_dataset", "fingerprint": "5a9f3d73e8b2d7ae6327429bb39ceca6df2cacb0bc786099bb29318c66401af9", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 2, "test_or_ci": 2, "api_or_backend": 2, "docs_or_claims": 1, "schema_or_data": 1, "ui_or_frontend": 2, "source_or_other": 2, "ci_success_signal": 1, "dependency_or_build": 1, "security_or_secrets": 2, "security_auth_secret": 1, "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": {"ci_success_signal": 2}, "synthetic": false, "edge_count": 66, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 10, "comment_chain_has_ci": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 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": 31, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 10, "alignment": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#67", "issue_number": "67", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-4d8d4cac473aa34a", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 10, "docs_or_claims": 5, "schema_or_data": 5, "ui_or_frontend": 10, "source_or_other": 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: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#67\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#67\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#67\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 67\nGraph consistency label: supported_by_verification_signal\nNodes: 31\nEdges: 66\nNode types: {'pr_file': 10, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 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, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'ui_or_frontend': 2, 'test_or_ci': 2, 'api_or_backend': 2, 'security_or_secrets': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'docs_or_claims': 1, 'schema_or_data': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1, 'ci_success_signal': 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: {'ci_success_signal': 2}\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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-a9b8e3e20bc0c6bc", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369701, "scanner": "foundry_dataset", "fingerprint": "45b603ba040d8f01142b614baf55456d7ae4716301372e783f69f3650928c974", "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, "ui_or_frontend": 1, "source_or_other": 1, "deployment_env_gap": 1, "dependency_or_build": 3, "security_or_secrets": 1, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 4, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 4, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 21, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#65", "issue_number": "65", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-ec6557888f349f08", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 5, "source_or_other": 5, "dependency_or_build": 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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#65\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#65\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#65\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 65\nGraph consistency label: weak_supervision_needs_review\nNodes: 21\nEdges: 37\nNode types: {'commit': 5, 'pr_file': 4, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 8, 'comment_chain_links_commit': 5, 'thread_touches_file': 4, 'chain_has_link_quality': 4, 'issue_chain_touches_file': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'dependency_or_build': 3, 'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'deployment_env_gap': 1, 'source_or_other': 1, 'ui_or_frontend': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-94d82395aa16e42d", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369700, "scanner": "foundry_dataset", "fingerprint": "ce8027db0bcbd7b4b2dc42b8a49b2308d814b91159702ac98d4caa7d308c255a", "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": 3, "test_ci_gap": 1, "docs_or_claims": 1, "schema_or_data": 1, "ui_or_frontend": 3, "deployment_env_gap": 1, "dependency_or_build": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 61, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 9, "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": 9, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 18, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 29, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 9, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#64", "issue_number": "64", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-bb4401ffa4eeca44", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 15, "docs_or_claims": 5, "schema_or_data": 5, "ui_or_frontend": 15, "dependency_or_build": 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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#64\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#64\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#64\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 64\nGraph consistency label: weak_supervision_needs_review\nNodes: 29\nEdges: 61\nNode types: {'pr_file': 9, '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': 18, 'thread_touches_file': 9, 'issue_chain_touches_file': 9, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'test_or_ci': 3, 'ui_or_frontend': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'dependency_or_build': 1, 'docs_or_claims': 1, 'schema_or_data': 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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-a59ff9e304c73d67", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369699, "scanner": "foundry_dataset", "fingerprint": "b561533c803bfca56ffd581eff2988469893e5b033bb5b1df15004817349803f", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 2, "data_schema": 3, "mock_placeholder": 1, "deployment_env_gap": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 21, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#60", "issue_number": "60", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-1fbbdde21225d105", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#60\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#60\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#60\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 60\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 21\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'data_schema': 3, 'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'deployment_env_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-fb47337d2dc24bea", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369698, "scanner": "foundry_dataset", "fingerprint": "d18ba98347ab5e1f8b4a25056c17536b196e1c768b1516d9bbe180c0977abef8", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#56", "issue_number": "56", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-90e23423be40cefe", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#56\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#56\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#56\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 56\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-0653f30c1abce536", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369697, "scanner": "foundry_dataset", "fingerprint": "72f7299578ef5abba1abf7cef0a18d5aed5221fec44e7032d91326276c682572", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#54", "issue_number": "54", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-d017020d47ef782d", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#54\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#54\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#54\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 54\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 34\nNode types: {'link_quality': 7, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-e9b6d5b4a0cf68a0", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369696, "scanner": "foundry_dataset", "fingerprint": "d68ac1690887f7a87e84ecceb4338e30e39740ef530831ed1c42340d676851e7", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#53", "issue_number": "53", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-51330974f590dc34", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#53\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#53\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#53\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 53\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-41e99f635011f53b", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369695, "scanner": "foundry_dataset", "fingerprint": "5f3b8bbec0d471506ff1ebcb86ea092d2da0f2d3e9197d5caeaa6990a384e96d", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#52", "issue_number": "52", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-2b1dc68ee9b62cec", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#52\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#52\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#52\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 52\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-431377a30a52719d", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369694, "scanner": "foundry_dataset", "fingerprint": "3a9e8c5e307e5d60a31c226cec20c52272615e4f3ff7b3e211743deb91d0ecc7", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#50", "issue_number": "50", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-1cbdee40355ef36d", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#50\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#50\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#50\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 50\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 34\nNode types: {'link_quality': 7, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-b52e1e9ea5cde716", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369693, "scanner": "foundry_dataset", "fingerprint": "4ae4a172cf62a6e8a46f3edd9f41a69b7a4a5c0134b0e1a23c51398a2e691f78", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#49", "issue_number": "49", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-c9ec6a8ca7ed5c8c", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#49\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#49\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#49\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 49\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-ebb20738ce3ac89b", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369692, "scanner": "foundry_dataset", "fingerprint": "e0c5a07389901af92203a341e7c6fcd8567aa8862db90c6616de4cef34177775", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#48", "issue_number": "48", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-6d038044d18acd6e", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#48\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#48\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#48\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 48\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-b2fb22d59c2b6dbd", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369691, "scanner": "foundry_dataset", "fingerprint": "e5742f15b8cdf5e85e88ac4e7793834ec1b0a06fb7bb947aa85ceb1e4362e167", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#47", "issue_number": "47", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-9fe50f9294f5394e", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#47\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#47\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#47\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 47\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-345666ef45483b57", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369690, "scanner": "foundry_dataset", "fingerprint": "a52af8b4823f6d4621c96a23e05dde99a9edea56f4ea254cbfe50ce2e7fe14ed", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#46", "issue_number": "46", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-479ef5ebfef896ab", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#46\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#46\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#46\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 46\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-9642b36b7062d56f", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369689, "scanner": "foundry_dataset", "fingerprint": "12d02d4f478872380151dd1eff3f587fe758b9052bdcbfed286a0b276212830a", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"runtime_failure": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#44", "issue_number": "44", "quality_tiers": {"unresolved": 2, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-10ec9c319158fef9", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#44\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#44\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#44\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 44\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 30\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'runtime_failure': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, '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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-bf342a9eff12cb35", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369688, "scanner": "foundry_dataset", "fingerprint": "f912375dcb33677382c5090d94651dc81814b8952a1d722a1d00036b389dd580", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#41", "issue_number": "41", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-29b3e274989166b3", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#41\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#41\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#41\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 41\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 34\nNode types: {'link_quality': 7, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-7970d37c36ae73a1", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369687, "scanner": "foundry_dataset", "fingerprint": "f4ba0b36361f43704c59323b99e6bde682d2834d2d81d8e69089ca5714da4199", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#40", "issue_number": "40", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-6eb5a58acf5a0e77", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#40\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#40\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#40\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 40\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, '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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-579b499bd1f5a89a", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369686, "scanner": "foundry_dataset", "fingerprint": "8a7ea11555a6715866c2be9bd02e88e238212172a4c632ff44e596a10a1b55c2", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 5, "data_schema": 3, "mock_placeholder": 2, "deployment_env_gap": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 8, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 23, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#38", "issue_number": "38", "quality_tiers": {"unresolved": 1, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-0a834761fca23337", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#38\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#38\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#38\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 38\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 31\nNode types: {'commit': 8, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 4, 'data_schema': 3, 'mock_placeholder': 2, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-f2e14c63d00915d9", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369685, "scanner": "foundry_dataset", "fingerprint": "08744838083a9df319583bb1a0dd2b20d7a32c8ec9364037c65b890b4674dd6e", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#37", "issue_number": "37", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-a9ab632d520e0767", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#37\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#37\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#37\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 37\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-2672bce395ecefd6", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369684, "scanner": "foundry_dataset", "fingerprint": "db8eac0d995aa445f195db5f5b742f6b16246ec068d67fbf4dbfff83f2d059a3", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#36", "issue_number": "36", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-391744cd68efcd00", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#36\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#36\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#36\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 36\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-51436423f0473814", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369683, "scanner": "foundry_dataset", "fingerprint": "1a19c8fddab35f4502da636d0ff1dc76f8cee18921e5670b4de1b81bf77628be", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#35", "issue_number": "35", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-15bd62210b63b854", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#35\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#35\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#35\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 35\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-18d81a6fcc633503", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369682, "scanner": "foundry_dataset", "fingerprint": "0fbcf48f8f4dda2c6c6682b0a4a0d9bbd1991d19f6fec2ea77bf518a4af4fce4", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#34", "issue_number": "34", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-e980ed9eace90363", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#34\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#34\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#34\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 34\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-c465de1e60e0115a", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369681, "scanner": "foundry_dataset", "fingerprint": "d06eb88fbcb11ce944ac29eb787bb55702407871243932c5b8e332b8d8e32962", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#33", "issue_number": "33", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-4e074305f0f07efe", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#33\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#33\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#33\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 33\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-0a3c21fdb019d9ff", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369680, "scanner": "foundry_dataset", "fingerprint": "927fec495e078ab9e7a835b6d8255ccceae7dbe0523b3208f9d0ddbedb88e3b8", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#32", "issue_number": "32", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-e094eb6db87ebffb", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#32\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#32\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#32\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 32\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-47a6c12affa2b89a", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369679, "scanner": "foundry_dataset", "fingerprint": "7abcb98f2ed997422cdb1dd4c32e08b4c47d91577ff19ba764b3231a3c028e41", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#31", "issue_number": "31", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-ec6f5a0f944bf4d0", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#31\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#31\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#31\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 31\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-f91ad3339368cc94", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369678, "scanner": "foundry_dataset", "fingerprint": "5b49750b92d2454479cd4067a8ffd01b9427e628bef88dfda2acc0690a856726", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#30", "issue_number": "30", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-29f26df38948c752", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#30\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#30\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#30\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 30\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-30b80d2ea1b03d58", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369677, "scanner": "foundry_dataset", "fingerprint": "cb1de6f44d056e2fd23c619d4af362e127cf2a030110617e81cae84dd27bf478", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#28", "issue_number": "28", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-98eafb55c04a5b8d", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#28\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#28\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#28\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 28\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-bc5574d5a2435435", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369676, "scanner": "foundry_dataset", "fingerprint": "25fdc4890fa6b53f5cdd7adb327271b3ac8b47eca7f38a5a0ea47334d32e3cca", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#27", "issue_number": "27", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-30e6b918a95bae1a", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#27\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#27\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#27\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 27\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-efb8eac44a6cf3ac", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369675, "scanner": "foundry_dataset", "fingerprint": "364a0904fa0ebd8701db2401796a88e35a828b82289865256697f544f2de68c3", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#26", "issue_number": "26", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-3a2edd45b0fa1e25", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#26\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#26\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#26\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 26\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-218f709c2573011d", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369674, "scanner": "foundry_dataset", "fingerprint": "1221a6552a8498edeed1f377f4618c7b56feeeacbf5ac6d31c90205efbb3a738", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#25", "issue_number": "25", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-e47802d8c64397b4", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#25\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#25\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#25\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 25\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-ec234dbec12dc0c2", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369673, "scanner": "foundry_dataset", "fingerprint": "329de668cb607588ea34589ed1b992c0ca5f42b3453895ae4b1e4c8e25748af4", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#24", "issue_number": "24", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-e723959ce3aa47d1", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#24\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#24\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#24\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 24\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-e79ba3b82eb459ed", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369672, "scanner": "foundry_dataset", "fingerprint": "f1f82b57bf28cd27625c4324e944960cf9784054e81659924645d5618e0a8708", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#23", "issue_number": "23", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-8e6ebc4b745a488f", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#23\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#23\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#23\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 23\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-134ababb23d1c72c", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369671, "scanner": "foundry_dataset", "fingerprint": "3f4692f6e872fae52147860d0354dfb9bef1c9e8ccd852362b883237eda43f42", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 1, "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": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#20", "issue_number": "20", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-8a2af70803ad5271", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#20\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#20\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#20\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 20\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'link_quality': 5, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'ambiguous_needs_more_evidence': 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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-3e3dbffef69c9d89", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369670, "scanner": "foundry_dataset", "fingerprint": "93008e79967aac7e52a47a6a8e26681bc2d654f3f5a99adb240109bf9770005b", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#19", "issue_number": "19", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-e16e56955c108264", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#19\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#19\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#19\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 19\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-7abf90c8c901a3a4", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369669, "scanner": "foundry_dataset", "fingerprint": "d283447d4b6173d44ea2dc4daad95b8edd02e522b39feda46464a84378f0d2af", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#18", "issue_number": "18", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-518fad7a72868723", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#18\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#18\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#18\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 18\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-29b506ddf41730c4", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369668, "scanner": "foundry_dataset", "fingerprint": "a4ed0274b9866a5044be04b05425c0a7a47d5b4748ad86767bba9d7f8e4a6600", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#17", "issue_number": "17", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-8efef70c1a6dd473", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#17\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#17\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#17\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 17\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-460bdca3f6d67778", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 369667, "scanner": "foundry_dataset", "fingerprint": "f9004efca76a13e4ff44cddc5cc908f2766741f0d775f82db9c72138f61db643", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#16", "issue_number": "16", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-f02485c1eec43c23", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#16\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#16\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#16\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 16\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-3d2790926a713cb6", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355611, "scanner": "foundry_dataset", "fingerprint": "5f8a4c4dbb397a60bf3feea09897fb0c43b345ab26e1fd7d748b61138387deeb", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "runtime_failure": 1, "deployment_env_gap": 1, "agent_instruction_gap": 1, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 6, "human_reported_issue_then_verified_fix_attempt": 4}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 12}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 44, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 14, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 25, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#93", "issue_number": "93", "quality_tiers": {"high_confidence": 6, "assumption_check": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1b7fa6fc104c929e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#93\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#93\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#93\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 93\nGraph consistency label: supported_by_verification_signal\nNodes: 25\nEdges: 44\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'commit': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 14, 'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_with_verification_signal': 6, 'human_reported_issue_then_verified_fix_attempt': 4, 'bug_fix': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'runtime_failure': 1, 'deployment_env_gap': 1, 'test_ci_gap': 1, 'agent_instruction_gap': 1, 'verification_or_tests': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 12}\nQuality tiers: {'high_confidence': 6, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-239d296abadbfb12", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355610, "scanner": "foundry_dataset", "fingerprint": "9828b84bdc722f2b818f65afb19d5b61fc4d75444a802c23db4ca943c2207b57", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "ui_workflow": 1, "ui_workflow_gap": 1, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 18, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 15, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#91", "issue_number": "91", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d6a1076bdb82c6d5", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#91\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#91\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#91\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 91\nGraph consistency label: supported_by_verification_signal\nNodes: 15\nEdges: 18\nNode types: {'link_quality': 4, 'commit': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'ui_workflow': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-4cf62d3096cd075b", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355609, "scanner": "foundry_dataset", "fingerprint": "42ac511a4fcaf37fad3f98c3c94f8b33e993317759b4c18619edde9fa3023b5f", "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": 20, "data_schema": 1, "test_ci_gap": 1, "api_or_backend": 1, "docs_or_claims": 4, "schema_or_data": 1, "ui_or_frontend": 26, "source_or_other": 3, "deployment_env_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 119, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 55, "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": 8, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 75, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 55, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#90", "issue_number": "90", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-3f6aef4c341533ec", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 100, "api_or_backend": 5, "docs_or_claims": 20, "schema_or_data": 5, "ui_or_frontend": 130, "source_or_other": 15}}, "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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#90\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#90\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#90\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 90\nGraph consistency label: supported_by_verification_signal\nNodes: 75\nEdges: 119\nNode types: {'pr_file': 55, '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': 55, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 8, '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': 26, 'test_or_ci': 20, 'docs_or_claims': 4, 'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 4, 'source_or_other': 3, 'human_reported_issue_then_verified_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'api_or_backend': 1, 'schema_or_data': 1, 'data_schema': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-f4c4311385783c16", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355608, "scanner": "foundry_dataset", "fingerprint": "2d7e089a5e62e150f766bcff240cf3bb794fea28b001d43b0bdb5b95b4f42580", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#9", "issue_number": "9", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-39bb4a00178adf31", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#9\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#9\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#9\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 9\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-de947d31dc562d99", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355607, "scanner": "foundry_dataset", "fingerprint": "30a54d8cac6845b47fe56c3c78e6b88ac69cf453143a57630eb1368dba5fff85", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "runtime_failure": 1, "dependency_or_build": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 21, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#89", "issue_number": "89", "quality_tiers": {"high_confidence": 4, "assumption_check": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f3d798cc876170c4", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#89\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#89\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#89\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 89\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 30\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 4, 'human_reported_issue_then_verified_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'runtime_failure': 1, 'test_ci_gap': 1, 'bug_fix': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-31382ff60bc79818", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355606, "scanner": "foundry_dataset", "fingerprint": "cf6e0d64310698f4429b84df6360a9e9ce2b7c2235ea9c413c6d6dd543a72ea9", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "api_or_backend": 1, "source_or_other": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 35, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 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": 7, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#87", "issue_number": "87", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-57f3f05a85424cb1", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 5, "source_or_other": 5}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#87\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#87\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#87\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 87\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 35\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'pr_file': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 7, 'chain_has_link_quality': 5, 'comment_chain_touches_file': 4, 'thread_has_comment': 2, 'thread_touches_file': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 4, 'human_reported_issue_then_verified_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'api_or_backend': 1, 'source_or_other': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-3f50becaf3beb82b", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355605, "scanner": "foundry_dataset", "fingerprint": "1c2cf1d395ed3f49172fa68bdc4ae136e4eed20328f9aad72760bf7545b22936", "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": 33, "test_ci_gap": 1, "api_or_backend": 7, "docs_or_claims": 2, "schema_or_data": 2, "ui_or_frontend": 49, "source_or_other": 3, "deployment_env_gap": 1, "dependency_or_build": 4, "generated_provenance": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 164, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 100, "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": 8, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 120, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 100, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#86", "issue_number": "86", "quality_tiers": {"high_confidence": 4, "assumption_check": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-7fa0c203b0757014", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 165, "api_or_backend": 35, "docs_or_claims": 10, "schema_or_data": 10, "ui_or_frontend": 245, "source_or_other": 15, "dependency_or_build": 20}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#86\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#86\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#86\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 86\nGraph consistency label: supported_by_verification_signal\nNodes: 120\nEdges: 164\nNode types: {'pr_file': 100, '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': 100, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 8, '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': 49, 'test_or_ci': 33, 'api_or_backend': 7, 'dependency_or_build': 4, 'claimed_resolved_with_verification_signal': 4, 'source_or_other': 3, 'verification_or_tests': 3, 'docs_or_claims': 2, 'schema_or_data': 2, 'human_reported_issue_then_verified_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'bug_fix': 1, 'generated_provenance': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-be998e96eb55ab23", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355604, "scanner": "foundry_dataset", "fingerprint": "bf9ee4a4adfa7a53be8927c5e50869e9239dfa266f4752224197973448ceba4f", "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, "security_or_secrets": 2, "security_auth_secret": 1, "verification_or_tests": 3, "data_schema_persistence": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6, "claimed_resolved_with_verification_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 27, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 21, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#85", "issue_number": "85", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-75a305e8962d89f3", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#85\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#85\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#85\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 85\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 27\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 7, '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: {'claimed_resolved_unverified': 3, 'verification_or_tests': 3, 'security_or_secrets': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-736e4870f6f6cc07", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355603, "scanner": "foundry_dataset", "fingerprint": "c821ba1c838646ebf7ddfdad1054ad8788fbba1cb4d124406024047569dd6b51", "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": 16, "test_ci_gap": 1, "api_or_backend": 9, "docs_or_claims": 2, "schema_or_data": 3, "ui_or_frontend": 20, "source_or_other": 2, "deployment_env_gap": 1, "dependency_or_build": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 115, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 53, "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": 6, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 73, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 53, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#84", "issue_number": "84", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-64d82ad4cd3eab60", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 80, "api_or_backend": 45, "docs_or_claims": 10, "schema_or_data": 15, "ui_or_frontend": 100, "source_or_other": 10, "dependency_or_build": 5}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#84\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#84\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#84\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 84\nGraph consistency label: supported_by_verification_signal\nNodes: 73\nEdges: 115\nNode types: {'pr_file': 53, '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': 53, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 6, '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': 20, 'test_or_ci': 16, 'api_or_backend': 9, 'verification_or_tests': 4, 'schema_or_data': 3, 'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'docs_or_claims': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'dependency_or_build': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'comment_has_related_commit_context': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-85e97465773a2800", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355602, "scanner": "foundry_dataset", "fingerprint": "30254125351880e64d9fc427d182414885187aa6fc925894c836cd2f286d7c6a", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"ui_workflow_gap": 1, "positive_human_signal": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "positive_feedback_no_linked_change": 1, "human_positive_or_acceptance_signal": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 6, "human_positive_or_acceptance_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#82", "issue_number": "82", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-4d817c1f11491e9f", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#82\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#82\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#82\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 82\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'positive_human_signal': 1, 'human_reported_issue_no_linked_fix': 1, 'positive_feedback_no_linked_change': 1, 'human_positive_or_acceptance_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'human_positive_or_acceptance_signal': 2}\nQuality tiers: {'unresolved': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-98e5b2dc3052dac9", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355601, "scanner": "foundry_dataset", "fingerprint": "7fdc7ffe270bbb97de46afdb102cd7c95219f1239208fbd820c2b5296d597e6e", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"ui_workflow_gap": 2, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "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": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 19, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#81", "issue_number": "81", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-4031dc51b2419b86", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#81\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#81\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#81\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 81\nGraph consistency label: weak_supervision_needs_review\nNodes: 19\nEdges: 26\nNode types: {'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_links_commit': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'ui_workflow_gap': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_reported_issue_no_linked_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-c2f911b72c1790f0", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355600, "scanner": "foundry_dataset", "fingerprint": "604089fb6473221939f97759c922fe6a8be57c39d251dfb7ef0464cd3c38cd0c", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"ui_workflow_gap": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#80", "issue_number": "80", "quality_tiers": {"unresolved": 4, "assumption_check": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9acf3e0bdf90e14e", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#80\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#80\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#80\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 80\nGraph consistency label: assumption_check\nNodes: 15\nEdges: 20\nNode types: {'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'ui_workflow_gap': 1, 'unlinked_human_feedback': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-78fc23feab9f0413", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355599, "scanner": "foundry_dataset", "fingerprint": "2391d62f38a4d08b60b961df7e89a5c73d5192ef99cf4892de6fc9560015797e", "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": {"deployment_env_gap": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#8", "issue_number": "8", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-7c86e7f27970d0d2", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#8\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#8\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#8\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 8\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 6, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-3e0f1fb5abf38240", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355598, "scanner": "foundry_dataset", "fingerprint": "fa1c89576c76b900069ea45f1044a0b66128e433601f64d7d4de8a3400b60dc8", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "ui_workflow_gap": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#79", "issue_number": "79", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-dfc4d477e9ea8c99", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#79\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#79\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#79\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 79\nGraph consistency label: supported_by_high_confidence_link\nNodes: 13\nEdges: 16\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-84b22d678e0f2585", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355597, "scanner": "foundry_dataset", "fingerprint": "e3542433a78f6f5178538a5e653a859971a6a2e58488b806dd385fac180f6d16", "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": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "dependency_or_build": 2, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 3, "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": 3, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#78", "issue_number": "78", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-ea211d3209cddd38", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 5, "dependency_or_build": 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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#78\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#78\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#78\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 78\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 37\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 3, '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': 6, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_touches_file': 3, 'issue_chain_touches_file': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'dependency_or_build': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 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, '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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-c4c48eddf2dbd683", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355596, "scanner": "foundry_dataset", "fingerprint": "0279477c1ad1940365aaeb97925118050401446ac1701cc3c80de318d2a33217", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "ui_workflow_gap": 1, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 1, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#76", "issue_number": "76", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e0915a996451ef4e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#76\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#76\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#76\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 76\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'ui_workflow_gap': 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, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-7ca4490b612aeb0b", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355595, "scanner": "foundry_dataset", "fingerprint": "02a05ec2ca756efb31d5ac573dbbbbdd222b2b23e90bd9c421c129d3ac6a7064", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "ui_workflow": 2, "api_or_backend": 5, "docs_or_claims": 2, "ui_or_frontend": 14, "source_or_other": 6, "ui_workflow_gap": 1, "deployment_env_gap": 1, "dependency_or_build": 2, "verification_or_tests": 2, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 91, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 29, "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": 6, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 49, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 29, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#75", "issue_number": "75", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-c49a48023bb67bde", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 25, "docs_or_claims": 10, "ui_or_frontend": 70, "source_or_other": 30, "dependency_or_build": 10}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#75\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#75\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#75\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 75\nGraph consistency label: supported_by_verification_signal\nNodes: 49\nEdges: 91\nNode types: {'pr_file': 29, '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': 29, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 6, '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, 'source_or_other': 6, 'api_or_backend': 5, 'claimed_resolved_with_verification_signal': 3, 'docs_or_claims': 2, 'dependency_or_build': 2, 'ui_workflow': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'deployment_env_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-616ee923a2e65139", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355594, "scanner": "foundry_dataset", "fingerprint": "27730eba04e09a0c5679674dcef1a5d95e23f5a46bc7533d2179bae9afd6472a", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#74", "issue_number": "74", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-32a51ab1a4a63648", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#74\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#74\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#74\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 74\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-9371066efdd7a61b", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355593, "scanner": "foundry_dataset", "fingerprint": "6efc0b8cc6b2490ab9b6e8745d6585b69a65a4705af9ac3181d123573866c0d7", "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": 6, "test_ci_gap": 1, "api_or_backend": 7, "docs_or_claims": 2, "schema_or_data": 1, "ui_or_frontend": 17, "source_or_other": 65, "security_or_auth": 2, "deployment_env_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 162, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 100, "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": 6, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 120, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 100, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#73", "issue_number": "73", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-64b02bb1c42dcbff", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 30, "api_or_backend": 35, "docs_or_claims": 10, "schema_or_data": 5, "ui_or_frontend": 85, "source_or_other": 325, "security_or_auth": 10}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#73\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#73\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#73\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 73\nGraph consistency label: supported_by_high_confidence_link\nNodes: 120\nEdges: 162\nNode types: {'pr_file': 100, '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': 100, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 6, '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: {'source_or_other': 65, 'ui_or_frontend': 17, 'api_or_backend': 7, 'test_or_ci': 6, 'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'docs_or_claims': 2, 'security_or_auth': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'schema_or_data': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-1472e620ac429de6", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355592, "scanner": "foundry_dataset", "fingerprint": "83a78abfb6558c4be3f9fc83686ff54dba6249488a221b6c9fffb9044b999217", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "ui_or_frontend": 2, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#72", "issue_number": "72", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-40439e4c261058c7", "graph_gold_label": "supported_by_verification_signal", "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: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#72\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#72\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#72\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 72\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 34\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'pr_file': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 6, 'chain_has_link_quality': 5, 'comment_chain_touches_file': 4, 'thread_has_comment': 2, 'thread_touches_file': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'ui_or_frontend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-ba029ab742e2ec9e", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355591, "scanner": "foundry_dataset", "fingerprint": "7b6a590439a2a2c72b2103d467dc49c9ccd2b1fe2dad38672a442c1f566223f3", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "ui_or_frontend": 3, "ui_workflow_gap": 1, "deployment_env_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 38, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 3, "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": 3, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#71", "issue_number": "71", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-2813b75698c97a81", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"ui_or_frontend": 15}}, "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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#71\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#71\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#71\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 71\nGraph consistency label: supported_by_verification_signal\nNodes: 23\nEdges: 38\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 6, 'comment_chain_touches_file': 6, 'chain_has_link_quality': 5, 'thread_touches_file': 3, 'issue_chain_touches_file': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'ui_or_frontend': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'deployment_env_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-6f6790966d9b9631", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355590, "scanner": "foundry_dataset", "fingerprint": "802f41823235514f0038e19c6abee4be3234d6f825d59de22c766456e4a618f8", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"ui_workflow_gap": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 17, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#70", "issue_number": "70", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-05cf7da3d18da988", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#70\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#70\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#70\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 70\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 17\nNode types: {'link_quality': 4, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-11a47f1b05b9d38f", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355589, "scanner": "foundry_dataset", "fingerprint": "342f193edde197e86a96090ba755691d874c200bda194a2e308a949dc8f855b3", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_or_ci": 3, "test_ci_gap": 1, "api_or_backend": 5, "commit_general": 1, "ui_or_frontend": 5, "source_or_other": 1, "deployment_env_gap": 2, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8, "claimed_resolved_with_verification_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 97, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 14, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "comment_chain_touches_file": 36, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 39, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 3, "pr_file": 14, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#69", "issue_number": "69", "quality_tiers": {"assumption_check": 1, "weak_supervision": 5}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b788d4463b3f2bb2", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 18, "api_or_backend": 30, "ui_or_frontend": 30, "source_or_other": 6}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#69\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#69\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#69\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 69\nGraph consistency label: supported_by_verification_signal\nNodes: 39\nEdges: 97\nNode types: {'pr_file': 14, 'commit': 7, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 36, 'thread_touches_file': 14, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 10, 'chain_has_link_quality': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 5, 'api_or_backend': 5, 'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 4, 'test_or_ci': 3, 'deployment_env_gap': 2, 'comment_has_related_commit_context': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'source_or_other': 1, 'commit_general': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'blueprint_human_gap_disagreement': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 5, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-c80c49187c1750d6", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355588, "scanner": "foundry_dataset", "fingerprint": "13419af7fb03cca6d8da5ecebf6f55be7f6183d1236be7460a6cf0af2dd3c84b", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_or_ci": 2, "api_or_backend": 2, "docs_or_claims": 1, "schema_or_data": 1, "ui_or_frontend": 2, "source_or_other": 2, "ci_success_signal": 1, "dependency_or_build": 1, "security_or_secrets": 2, "security_auth_secret": 1, "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": {"ci_success_signal": 2}, "synthetic": false, "edge_count": 66, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 10, "comment_chain_has_ci": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 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": 31, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 10, "alignment": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#67", "issue_number": "67", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-30cfb11baed93224", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 10, "docs_or_claims": 5, "schema_or_data": 5, "ui_or_frontend": 10, "source_or_other": 10}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#67\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#67\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#67\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 67\nGraph consistency label: supported_by_verification_signal\nNodes: 31\nEdges: 66\nNode types: {'pr_file': 10, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 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, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'ui_or_frontend': 2, 'test_or_ci': 2, 'api_or_backend': 2, 'security_or_secrets': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'docs_or_claims': 1, 'schema_or_data': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1, 'ci_success_signal': 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: {'ci_success_signal': 2}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-542d5e82eb5696f7", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355587, "scanner": "foundry_dataset", "fingerprint": "ab8e02d190728ed874b53825a44638dd44d0ef2de4d7672d1eec2b92587430b4", "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": 3, "test_ci_gap": 1, "docs_or_claims": 1, "schema_or_data": 1, "ui_or_frontend": 3, "deployment_env_gap": 1, "dependency_or_build": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 61, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 9, "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": 9, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 18, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 29, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 9, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#64", "issue_number": "64", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-bae26620c7b52872", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 15, "docs_or_claims": 5, "schema_or_data": 5, "ui_or_frontend": 15, "dependency_or_build": 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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#64\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#64\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#64\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 64\nGraph consistency label: weak_supervision_needs_review\nNodes: 29\nEdges: 61\nNode types: {'pr_file': 9, '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': 18, 'thread_touches_file': 9, 'issue_chain_touches_file': 9, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'test_or_ci': 3, 'ui_or_frontend': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'dependency_or_build': 1, 'docs_or_claims': 1, 'schema_or_data': 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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-a9bad76236df4f75", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355586, "scanner": "foundry_dataset", "fingerprint": "59c954fcb266b611bfdc6b7fda5db7a26c3223bdefdf1729e56363ff831f6371", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 1, "ui_or_frontend": 1, "runtime_failure": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 5, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 3, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 10}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 44, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 3, "comment_chain_links_commit": 9, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "pr_file": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#63", "issue_number": "63", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 2}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-103fbe926dfa46bb", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 6, "ui_or_frontend": 6}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#63\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#63\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#63\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 63\nGraph consistency label: supported_by_high_confidence_link\nNodes: 25\nEdges: 44\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'pr_file': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 9, 'comment_chain_touches_file': 6, 'chain_has_link_quality': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'thread_touches_file': 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': 5, 'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'runtime_failure': 1, 'deployment_env_gap': 1, 'api_integration_gap': 1, 'test_or_ci': 1, 'ui_or_frontend': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 2, '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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-bbb3624d7df9977b", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355585, "scanner": "foundry_dataset", "fingerprint": "a54cb72d9dd54baf34e93ed329ee48ecace452987ff74c6ff5d3296baf366b90", "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": 7, "data_schema": 3, "api_or_backend": 4, "ui_or_frontend": 15, "source_or_other": 2, "mock_placeholder": 1, "security_or_auth": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "dependency_or_build": 5, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8, "claimed_resolved_with_verification_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 114, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 34, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 3, "comment_chain_links_commit": 7, "comment_chain_touches_file": 36, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 57, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "pr_file": 34, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#62", "issue_number": "62", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 2}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-8317a6812ce5b8d9", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 42, "api_or_backend": 24, "ui_or_frontend": 90, "source_or_other": 12, "security_or_auth": 6, "dependency_or_build": 30}}, "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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#62\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#62\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#62\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 62\nGraph consistency label: supported_by_verification_signal\nNodes: 57\nEdges: 114\nNode types: {'pr_file': 34, 'link_quality': 6, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 36, 'thread_touches_file': 34, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 7, 'chain_has_link_quality': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 15, 'test_or_ci': 7, 'dependency_or_build': 5, 'api_or_backend': 4, 'ambiguous_needs_more_evidence': 4, 'data_schema': 3, 'source_or_other': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'deployment_env_gap': 1, 'api_integration_gap': 1, 'security_or_auth': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 2, '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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-1ea3c9da523085a1", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355584, "scanner": "foundry_dataset", "fingerprint": "bf90fdfc70ed29b88fcb175940090ae29a794cade208f541a8c0f4440f901f3e", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "data_schema": 3, "docs_or_claims": 1, "mock_placeholder": 1, "api_integration_gap": 1, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 21, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#61", "issue_number": "61", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-4f5b9cb5def2ed13", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"docs_or_claims": 5}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#61\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#61\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#61\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 61\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 30\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 6, 'chain_has_link_quality': 5, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'data_schema': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'api_integration_gap': 1, 'docs_or_claims': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'bug_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-76c7b5b44999afa9", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355583, "scanner": "foundry_dataset", "fingerprint": "32b98352a8023e1ee020a1aa09e4e64dadd14fa784baf481fdfa74846ba37748", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 2, "verification_or_tests": 6, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 23, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#6", "issue_number": "6", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-5feed18b503aea9b", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#6\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#6\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 6\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 34\nNode types: {'commit': 6, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 6, 'ambiguous_needs_more_evidence': 4, 'test_ci_gap': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-d242b863dac048c0", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355582, "scanner": "foundry_dataset", "fingerprint": "d4e58af512ad6f77bdda2e8e6279360aa9554d119a594993f5b6d5b6348a9864", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "data_schema": 3, "mock_placeholder": 1, "api_integration_gap": 1, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#59", "issue_number": "59", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-901f3cb9115a7470", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#59\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#59\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#59\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 59\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 6, '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: {'data_schema': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'bug_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-99a07dc4aabb64be", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355581, "scanner": "foundry_dataset", "fingerprint": "df9a19b5f83d3c0d3159248224f3dbed361be0ef05480e8b47e72440fce1bf09", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "api_integration_gap": 1, "dependency_or_build": 2, "security_or_secrets": 2, "security_auth_secret": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#58", "issue_number": "58", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-83a975266e7e3361", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#58\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#58\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#58\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 58\nGraph consistency label: supported_by_high_confidence_link\nNodes: 20\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 6, '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: {'claimed_resolved_unverified': 4, 'human_reported_issue_then_fix_attempt': 2, 'security_or_secrets': 2, 'dependency_or_build': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'api_integration_gap': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-fe2d9a8818eeb063", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355580, "scanner": "foundry_dataset", "fingerprint": "0e4e4e0d472610c096234523472359d063446e52a08154f0afb5424005c89dce", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 5, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 3, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 10}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 36, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#57", "issue_number": "57", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 2}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b83e694bac368080", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#57\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#57\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#57\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 57\nGraph consistency label: supported_by_high_confidence_link\nNodes: 25\nEdges: 36\nNode types: {'link_quality': 7, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 7, 'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-cb0bbc03240f72b1", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355579, "scanner": "foundry_dataset", "fingerprint": "48da95dc49cf38f70391c19dcb06fc06d16cbbcd2f869f608a066d221857ce60", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#56", "issue_number": "56", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-bc911226013848ee", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#56\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#56\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#56\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 56\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-a671435dde28319e", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355578, "scanner": "foundry_dataset", "fingerprint": "fecbf2c97c072d2c7c0dd60f9dceb7181670261715115a4879786004d1f69346", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#54", "issue_number": "54", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-32c33c03e5ced6bf", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#54\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#54\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#54\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 54\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 34\nNode types: {'link_quality': 7, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-9584f39be9173cca", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355577, "scanner": "foundry_dataset", "fingerprint": "d59dd3f0da6b300bfc11bb4017448b68fd7516800229ae4e2d25618b911d5204", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#53", "issue_number": "53", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b6f405aabd25b144", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#53\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#53\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#53\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 53\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-995e201f4e6b86a1", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355576, "scanner": "foundry_dataset", "fingerprint": "374587b589a4d6c1fbfe6e470c4409dec4b7c02d7f951b654e8799cf842b8339", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#52", "issue_number": "52", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-846b91ce29e5a2a4", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#52\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#52\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#52\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 52\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-2ee3b022027729e7", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355575, "scanner": "foundry_dataset", "fingerprint": "f575dee5d7e593328e67e27dbcd051cb9d493b634ce3c6e07a3c62e27ba0fb0f", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#51", "issue_number": "51", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-7f8fda803104afc2", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#51\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#51\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#51\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 51\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-3b2ee7d64f317c74", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355574, "scanner": "foundry_dataset", "fingerprint": "cc27dca5f234cd968ef1ffe7b0afc1225274addbd7557d5098e5c1d94750e695", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#50", "issue_number": "50", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0e1530969532caa4", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#50\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#50\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#50\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 50\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 34\nNode types: {'link_quality': 7, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-1d90ec06f80a9957", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355573, "scanner": "foundry_dataset", "fingerprint": "e1e73db4c69b329a5a5460da541b183999286a888e295f7fd6c8565f9c16d824", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#5", "issue_number": "5", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0280d79e01970ac5", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#5\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#5\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#5\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 5\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-67ba369531cc36b8", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355572, "scanner": "foundry_dataset", "fingerprint": "8e7f5c164448840b0620a1c6aff5a8ee22136e992f5faec84eaa02cfa5b474e0", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#49", "issue_number": "49", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d0a559d2cb0ca55d", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#49\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#49\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#49\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 49\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-aaa16ac7dd437725", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355571, "scanner": "foundry_dataset", "fingerprint": "db7ab5da8a9aae88dc4fbaf718e409612992182ce82f693359d98f1f0c37e2f6", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#48", "issue_number": "48", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d6f8d5b611d157c9", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#48\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#48\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#48\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 48\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-8b1426d14f19a36d", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355570, "scanner": "foundry_dataset", "fingerprint": "e718097c99853092a570f51264a9fcdab8e94e4ad167bb675040d25ef5323479", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#47", "issue_number": "47", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-82d48291dc4cc8de", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#47\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#47\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#47\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 47\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-e7d9e15fc63f8fce", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355569, "scanner": "foundry_dataset", "fingerprint": "132cda179fd02ae8d109e6b9072c4c9b9fe464b79f402ca73e22330be75c1bb2", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "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": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#46", "issue_number": "46", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-86f4b65b42b93074", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#46\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#46\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#46\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 46\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-e3a4411f65cf3ac5", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355568, "scanner": "foundry_dataset", "fingerprint": "44210eb0de37998d22f0689e1a8d40b3a5340549cb9218da47cc659e554e3bfa", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"runtime_failure": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#44", "issue_number": "44", "quality_tiers": {"unresolved": 2, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-45548d7c6d79b348", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#44\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#44\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#44\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 44\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 30\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'runtime_failure': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, '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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-abab8b4c0e713cda", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355567, "scanner": "foundry_dataset", "fingerprint": "aba64b4715d85a5fb8602b80af5bafa220343faccde6d4fd9f82c2681ecf17ad", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 2, "verification_or_tests": 8, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 25, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#43", "issue_number": "43", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9cb28426b45868bd", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#43\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#43\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#43\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 43\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 34\nNode types: {'commit': 8, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 8, 'ambiguous_needs_more_evidence': 4, 'test_ci_gap': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-1d520c6187f88313", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355566, "scanner": "foundry_dataset", "fingerprint": "0f62b63773a98e3fe775ebdad1ef94b1225d318c87a3e22198501dcf653fc459", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 2, "verification_or_tests": 8, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 25, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#42", "issue_number": "42", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-c1304bd0ffd8dab8", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#42\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#42\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#42\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 42\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 34\nNode types: {'commit': 8, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 8, 'ambiguous_needs_more_evidence': 4, 'test_ci_gap': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-e42305bf5a7d86ac", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355565, "scanner": "foundry_dataset", "fingerprint": "1ab178a65c297cc8216f8cdebcd66f3c9670141c9e37543d0d7e418abc9f1046", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#41", "issue_number": "41", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-2891dff1f46b6ea5", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#41\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#41\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#41\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 41\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 34\nNode types: {'link_quality': 7, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-e78cdcc611d6d0c2", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355564, "scanner": "foundry_dataset", "fingerprint": "e69cf05bb2d3c103238b8019ec2b0f51c732fc1c579e91b57f682b478638a271", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#40", "issue_number": "40", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-258e7cc6c4784730", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#40\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#40\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#40\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 40\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, '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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-3e166c82da725b8a", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355563, "scanner": "foundry_dataset", "fingerprint": "0388d6ef962184bb8bf14809b965731010dd1fcbc0412d67e4cc04c56fe3fe57", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "data_schema": 3, "test_ci_gap": 1, "mock_placeholder": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 25, "node_types": {"repo": 1, "commit": 10, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#4", "issue_number": "4", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-c2be10ec591084a2", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#4\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#4\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#4\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 4\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 30\nNode types: {'commit': 10, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'data_schema': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'mock_placeholder': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-e01af833f6158681", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355562, "scanner": "foundry_dataset", "fingerprint": "04ee77c3c06240bdc141f0359b238c5311ab3c35917c8ce7f4f5775ce160f1e8", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#3", "issue_number": "3", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-5b2ee29a23fcb815", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#3\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#3\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 3\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-6b017d071083e5f6", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355561, "scanner": "foundry_dataset", "fingerprint": "acbf8674ba0483063f758ee1f384c06ee4a20799314eb8a24d0dfcbd5046a26c", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"mock_placeholder": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 1, "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": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#20", "issue_number": "20", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-266feaeedf13c298", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#20\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#20\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#20\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 20\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'link_quality': 5, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'ambiguous_needs_more_evidence': 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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-b7fd935c0e36f6f2", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 355560, "scanner": "foundry_dataset", "fingerprint": "1ca5de0ac0dd38f0960f329e1975aedafd7df54b8b1d2f9bda1cfd6a985af12e", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#15", "issue_number": "15", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-866a500dd3e82799", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#15\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#15\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#15\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 15\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-d79285d7e91535cc", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311938, "scanner": "foundry_dataset", "fingerprint": "6a7ada69e8e2bfd16c684b1cc9e3037d0207493fdd7f05f96e5bc60deb739584", "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": "ryanssareen/daily-athlete#9", "human_labels": ["human_feedback_general", "test_ci_gap"], "issue_number": "9", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-b7cb5c8649a69fe3", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#9\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#9\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a287149318753002\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/9\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/9\\nTitle: [meta]: Stack pivot \u2014 TypeScript + Supabase + Vercel rollout tracker\\nBody:\\nTracking issue for the stack pivot from Python/FastAPI/Fly.io to TypeScript/Next.js/Vercel/Supabase.\\n\\n**Plan:** [`docs/plans/2026-05-03-001-refactor-stack-pivot-typescript-vercel-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-03-001-refactor-stack-pivot-typescript-vercel-plan.md)\\n**Brainstorm:** [`docs/brainstorms/2026-05-03-stack-pivot-typescript-vercel-requirements.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/brainstorms/2026-05-03-stack-pivot-typescript-vercel-requirements.md)\\n\\n### Units\\n\\n- [x] #1 Unit 0 \u2014 Preflight verification of external assumptions\\n- [x] #2 Unit 1 \u2014 TypeScript server foundation + Vitest + Postgres harness\\n- [x] #3 Unit 2 \u2014 Strava token encryption (AES-256-GCM, multi-key)\\n- [x] #4 Unit 3 \u2014 Route handlers (`/health`, `/me`, `/me/entitlements`)\\n- [ ] #5 Unit 4 \u2014 Vercel Cron + Supabase keepalive\\n- [ ] #6 Unit 5 \u2014 Excise `apps/api/`, simplify CI, schem\"\n  },\n  {\n    \"id\": \"github-feedback-comment-215bdf98cd7d834a\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/9#issuecomment-4368612161\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/9#issuecomment-4368612161\\nTitle: \\nBody:\\n**Cross-link:** the broader product roadmap is now tracked at #10. This issue (#9) remains scoped to the stack-pivot units only. Phase-1 work that wasn\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-bc2389663dcc07d5", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311937, "scanner": "foundry_dataset", "fingerprint": "74a9be8d869b9c8b1a8e5e7dca4ab6c37d18fcf4b83a60e477b5242233baccf1", "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": "ryanssareen/daily-athlete#88", "human_labels": ["human_feedback_general"], "issue_number": "88", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-4345004833c6e6cb", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#88\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#88\nRepo: ryanssareen/daily-athlete\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-27b85ccc4eeb9e3a\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/88\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/88\\nTitle: Show user type in admin dashboard.\\nBody:\\nCurrently, we are doing basic e2e testing in prod and we were checking to try to sign into account of coach but forgot what email was registered for coach one.\\nIf in admin, it will be easy to see.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-627a53012676b4bf\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-c1b0053dbfbc6607", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311936, "scanner": "foundry_dataset", "fingerprint": "d7a2fc358165258141b2e3e432212dd838f30b28ce3eaa45a031e2b2370aa5f9", "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": "ryanssareen/daily-athlete#85", "human_labels": ["data_schema_persistence", "security_auth_secret"], "issue_number": "85", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-7024a612abe1f8cd", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 7, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#85\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: ryanssareen/daily-athlete#85\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 7\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'data_schema_persistence': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a7ee8c3e53e612b0\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/85\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/85\\nTitle: Feature request: Admin operator dashboard\\nBody:\\n## Summary\\nA lightweight, secure operator dashboard for Daily Athlete (`apps/web`) \u2014 backups, user visibility, an audit trail, and a safe API playground \u2014 behind the shared-password admin session.\\n\\n## Motivation\\nPre-launch solo operator needs safe operational tooling without heavyweight infra: backup visibility/safety, read-only user visibility, a tamper-evident audit log, and a way to exercise allow-listed admin endpoints. See `docs/brainstorms/2026-05-21-admin-dashboard-requirements.md`.\\n\\n## Proposed scope\\n- [ ] Server-enforced shared-password gate + audited admin session (CSRF via `Sec-Fetch-Site`)\\n- [ ] Backups: managed Supabase backup/PITR status + on-demand encrypted exports (list/download/prune) + restore runbook\\n- [ ] Users: read-only directory (name + email) with search + pagination\\n- [ ] Audit log viewer (append-only `admin_audit_log`), filterable by area\\n- [ ] API playground: allow-listed, non-destructive, operator-session-only, aud\"\n  },\n  {\n    \"id\": \"github-feedback-comment-95824c957d57423f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/85#issuecomment-4524877045\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/85#issuecomment-4524877045\\nTitle: \\nBody:\\nImplemented and shipped to production on `main`:\\n\\n- Gated admin session + audit pipeline (pre-existing `requireAdmin` + `writeAudit`)\\n- Backups: mana\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-d08209aee0d1d4e1", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311935, "scanner": "foundry_dataset", "fingerprint": "f64c387702fd6275ebebf4153c8545eb37377e7a2e4e986f563943299628f735", "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": "ryanssareen/daily-athlete#80", "human_labels": ["human_feedback_general", "ui_workflow_gap"], "issue_number": "80", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-d7be29a223d00dff", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#80\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#80\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'ui_workflow_gap': 1}\nPolarities: {'neutral': 1, 'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a87b305ed488430b\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/80\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/80\\nTitle: Calendar: replace 1-week view with a 2-week view\\nBody:\\nThe calendar's **Week** segment currently shows a single Mon\u2013Sun week. Replace it with a **2-week (14-day)** view.\\n\\nTouches:\\n- `daily-athlete/lib/features/calendar/calendar_tab.dart` \u2014 the view switcher / segment label\\n- `daily-athlete/lib/features/calendar/calendar_providers.dart` \u2014 the week range (currently 7 days)\\n- `daily-athlete/lib/features/calendar/week_view.dart` \u2014 rendering\\n\\nUpdate the segment label to reflect 2 weeks.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-8692ddab57a594d8\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/80#issuecomment-4499975458\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/80#issuecomment-4499975458\\nTitle: \\nBody:\\nFixed in 1f92c23 (branch mobile-backend-fixes): the 'Week' segment is now a 2-week (14-day) view \u2014 calendar_providers/calendar_tab/day_view use a +13 window and week_view renders 14 days as two rows with \u00b114 navigation.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b95fcf5f0a5b4a58\", \"evidence-chain-comment_to_commit-98c5e90091e51932\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_ne\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-01888b495eaf0df3", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311934, "scanner": "foundry_dataset", "fingerprint": "cb89dd14bea306e65e5a6729acfaed64e306098442347be2d9b1275e69cccff6", "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": "ryanssareen/daily-athlete#8", "human_labels": ["data_schema_persistence", "deployment_env_gap"], "issue_number": "8", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-1bd354f46414dfd3", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 6, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#8\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: ryanssareen/daily-athlete#8\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'deployment_env_gap': 1, 'data_schema_persistence': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b2e34e9b79e0831f\",\n    \"kind\": \"issue_body\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/8\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/8\\nTitle: [unit 8]: Documentation rewrite \u2014 AGENTS.md, README, infra, mobile/web READMEs\\nBody:\\n**Plan doc:** `docs/plans/2026-05-03-001-refactor-stack-pivot-typescript-vercel-plan.md` (line 607)\\n\\n**Goal:** Rewrite every doc that referenced Python, FastAPI, Fly.io, or the previous architecture. After this unit, no agent or human onboarding from `main` is misled by stale instructions.\\n\\n**Requirements:** R15.\\n\\n**Dependencies:** Unit 5 (Python excision must land first).\\n\\n**Deliverables (planned):**\\n- Rewrite `AGENTS.md` to describe the TS-only stack.\\n- Rewrite top-level `README.md`.\\n- Rewrite `infra/README.md` (or delete if obsolete).\\n- Add/refresh `apps/web/README.md`, `apps/mobile/README.md`.\\n- Sweep all `docs/` for stale Python/Fly references; correct or delete.\\n\\n**Verification:**\\n- [ ] `grep -ri \\\"fastapi\\\\|fly\\\\.io\\\\|uv pip\\\" docs/ AGENTS.md README.md` returns nothing relevant.\\n- [ ] A fresh contributor (or fresh Claude session) can clone the repo and bring up the dev environment from docs alone.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-e0840c9cd7639305\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/8#issuecomment-4376744096\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/8#issuecomment-4376744096\\nTitle: \\nBody:\\nClosed by #40 (merged as bc06251). AGENTS.md, root README.md, infra/README.md, and docs/solutions/migration-conventions.md rewritten for the new stack. Plans\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-f4a4c8b53c96344f", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311933, "scanner": "foundry_dataset", "fingerprint": "8c8817030f95f86372bb305efebfeff69de6022cc45f2fbae2c23cc2508ec6e4", "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": "ryanssareen/daily-athlete#79", "human_labels": ["ui_workflow_gap"], "issue_number": "79", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-94c23bff660682cc", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#79\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#79\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f571274178202e5b\",\n    \"kind\": \"issue_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/79\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/79\\nTitle: Dashboard: Log Workout button opens old popup instead of /workouts/new\\nBody:\\n## Summary\\nThe \\\\\\\"Log Workout\\\\\\\" button on the dashboard still triggers the old modal/popup flow instead of navigating to the new `/athlete/workouts/new` page.\\n\\n## Expected behavior\\nClicking \\\\\\\"Log Workout\\\\\\\" from the dashboard navigates to `/athlete/workouts/new`.\\n\\n## Actual behavior\\nClicking \\\\\\\"Log Workout\\\\\\\" opens the old inline popup/dialog.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-8c54ffe55b026a09\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-fc3cf6a4c5c67a93", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311932, "scanner": "foundry_dataset", "fingerprint": "04de3b13a0180a899ec201caa67c710b95d890f8511bc12e404db115bdca5fe9", "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": "ryanssareen/daily-athlete#78", "human_labels": ["api_integration_gap", "dependency_or_build", "deployment_env_gap", "ui_or_frontend"], "issue_number": "78", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-67a40e8f9d3ea69a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 3, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 1, "dependency_or_build": 2}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#78\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: ryanssareen/daily-athlete#78\nRepo: ryanssareen/daily-athlete\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: 3\nLabels: {'api_integration_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'ui_or_frontend': 1, 'dependency_or_build': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-83a8226e6d66b897\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/78\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/78\\nTitle: Install Vercel Web Analytics\\nBody:\\n# Vercel Web Analytics Implementation\\n\\nSuccessfully installed and configured Vercel Web Analytics for the Daily Athlete (DA2) Next.js application.\\n\\n## Changes Made\\n\\n### 1. Installed @vercel/analytics package\\n- Added `@vercel/analytics` version `^2.0.1` to `apps/web/package.json`\\n- Updated `pnpm-lock.yaml` with the new dependency\\n\\n### 2. Integrated Analytics Component\\nModified `apps/web/app/layout.tsx`:\\n- Added import statement: `import { Analytics } from \\\"@vercel/analytics/next\\\";`\\n- Placed the `<Analytics />` component at the end of the `<body>` tag in the root layout\\n\\n## Implementation Details\\n\\nFollowing the official Vercel Web Analytics documentation (fetched from https://vercel.com/docs/analytics/quickstart), I implemented the Next.js App Router integration pattern:\\n\\n1. **Framework Detection**: Identified this project as a Next.js application using the App Router (based on the presence of `apps/web/app/layout.tsx`)\\n\\n2. **Package Installation**: Used \"\n  },\n  {\n    \"id\": \"github-feedback-comment-19e42e4649ae772c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/78#issuecomment-4477916943\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/78#issuecomment-4477916943\\nTitle: \\nBody:\\n[vc]: #CrAlsESQoPECD8lzaIXvkR2OzKX1JZK7SZVpV8K+y7g=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVj\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-7ac6a4c2fe5b8233", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311931, "scanner": "foundry_dataset", "fingerprint": "ceec1a1f1833e4b4613bd399135e6baf6181ce297d54212a8d72d2ef449adb79", "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": "ryanssareen/daily-athlete#77", "human_labels": ["api_or_backend", "dependency_or_build", "deployment_env_gap", "docs_or_claims", "schema_or_data", "security_auth_secret", "test_or_ci", "ui_or_frontend"], "issue_number": "77", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-542478ef0c1d41f5", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 18, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 3, "api_or_backend": 1, "docs_or_claims": 2, "schema_or_data": 1, "ui_or_frontend": 10, "dependency_or_build": 1}, "linked_commit_count": 6, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#77\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#77\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 18\nLabels: {'security_auth_secret': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'ui_or_frontend': 10, 'api_or_backend': 1, 'test_or_ci': 3, 'schema_or_data': 1, 'dependency_or_build': 1, 'docs_or_claims': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7f5bf653a7fb35ed\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/77\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/77\\nTitle: feat(strava): enrich workout-detail with laps, zones, NP, kJ, TSS/IF\\nBody:\\n## Summary\\n\\n- Adds 3 new Strava endpoints (`/activities/{id}/laps`, `/activities/{id}/zones`, `/athlete/zones`) plus richer extraction from the existing `/activities/{id}` call (Normalized Power, kJ, Max Watts, Calories, IF/TSS computed at hydration time, estimated-power annotation).\\n- New **Zone Distribution** + **Lap Splits** sections on the workout detail page, gated on real data presence (no empty states).\\n- **Lazy on-view hydration** \u2014 not backfill \u2014 so we stay well under Strava's 1000/day rate cap. Concurrent-write guard, partial-failure tolerance, and 10-minute negative-cache on Strava errors.\\n\\n## What's NOT shipped (intentional)\\n\\n- Interactive time-series chart over Power/HR/Cadence \u2014 forbidden by Strava ToS R18 (migration `0008` prohibits persisting 1Hz streams)\\n- Weather \u2014 Strava doesn't expose it reliably; would need a separate weather API\\n- AI coach takeaway / RPE / notes \u2014 separate brainstorms\\n\\n## A\"\n  },\n  {\n    \"id\": \"github-feedback-comment-726295e6987c330e\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/77#issuecomment-4477372231\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/77#issuecomment-4477372231\\nTitle: \\nBody:\\n[vc]: #mn+zsjVulHOUnpm7uJO3z1SAN7NBHoVCr\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-da750f62f012abf6", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311930, "scanner": "foundry_dataset", "fingerprint": "81162f30df67d65326f1a74d8fba3ec355381e08240dad57bfdbbdab4b9839fe", "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": "ryanssareen/daily-athlete#73", "human_labels": ["api_or_backend", "deployment_env_gap", "docs_or_claims", "schema_or_data", "security_or_auth", "source_or_other", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "73", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-3a1132161a08f405", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 100, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 6, "api_or_backend": 7, "docs_or_claims": 2, "schema_or_data": 1, "ui_or_frontend": 17, "source_or_other": 65, "security_or_auth": 2}, "linked_commit_count": 6, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#73\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#73\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 100\nLabels: {'test_ci_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'test_or_ci': 6, 'api_or_backend': 7, 'ui_or_frontend': 17, 'source_or_other': 65, 'docs_or_claims': 2, 'schema_or_data': 1, 'security_or_auth': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a7c97fa29f370bf6\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/73\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/73\\nTitle: feat(flutter): Flutter mobile app + coach/activity API routes\\nBody:\\n## Summary\\n\\n- **Flutter app** (`daily-athlete/`) \u2014 full cross-platform mobile app for athlete and coach roles; scaffolded with Flutter 3.41, targeting iOS 16+ and Android 12+\\n- **4 tab screens** \u2014 Dashboard, Activities, Calendar, Settings \u2014 with role-aware routing (athlete vs coach) via go_router v14 shell\\n- **5 Next.js API routes** \u2014 manual activity logging, workout status mutation, Strava disconnect, coach write-on-behalf (workouts + link archive)\\n\\n### Flutter (Units 1\u20139)\\n- `da2://` deep link scheme wired for auth callback + Strava OAuth\\n- Supabase session stored in iOS Keychain / Android Keystore via `flutter_secure_storage`\\n- Riverpod v2 providers for all data fetching; Realtime channels for `completed_workouts`, `planned_workouts`, `plans`\\n- Year heatmap (`CustomPainter`) with 4-tier load buckets\\n- Strava PKCE OAuth (`code_verifier` / `code_challenge`) via `StravaDeepLinkBridge`\\n- Theme toggle (light/dark), units preferenc\"\n  },\n  {\n    \"id\": \"github-feedback-comment-b531f54955a2ec94\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/73#issuecomment-4469611460\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/73#issuecomment-4469611460\\nTitle: \\nBody:\\n[vc]: #qNsAE/VXY9MCjzEXgqL+RQ6mxu\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-2faa511a8acafc10", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311929, "scanner": "foundry_dataset", "fingerprint": "b8558bd16edcb00bb64d90877b7055ccf9854e0fd9c0a2fb42eac60a0c2aa9f0", "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": "ryanssareen/daily-athlete#70", "human_labels": ["ui_workflow_gap"], "issue_number": "70", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.645, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-ec85e02ea9818f6d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#70\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#70\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c8421a1be555fd0e\",\n    \"kind\": \"issue_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/70\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/70\\nTitle: Terms and policy pages return 404\\nBody:\\n## Problem\\nThe public legal pages are not reachable. Local reproduction on May 17, 2026:\\n\\n- `HEAD /terms` returns `404 Not Found`\\n- `HEAD /privacy` returns `404 Not Found`\\n- `HEAD /policy` returns `404 Not Found`\\n\\n## Root cause\\n`apps/web/app` has no App Router pages for the legal routes, so Next.js falls through to its 404 page.\\n\\n## Fix plan\\nAdd public legal routes for the terms and privacy policy surfaces, include a `/policy` alias for the policy URL, and verify the routes return HTTP 200 locally.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-29aab5912449c45a\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-b1c5055518b0b05a", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311928, "scanner": "foundry_dataset", "fingerprint": "a62863d4b94f3f6a7d103f94c1accf66fcb2156c5ec8962e84702da7a21806fb", "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": "ryanssareen/daily-athlete#7", "human_labels": ["security_auth_secret"], "issue_number": "7", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.592, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-8f06964a2de216d9", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#7\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#7\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7cd68ceed1c2f62f\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/7\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/7\\nTitle: [unit 7]: AI-pipeline design note + Strava encryption runbook (docs only)\\nBody:\\n**Plan doc:** `docs/plans/2026-05-03-001-refactor-stack-pivot-typescript-vercel-plan.md` (line 578)\\n\\n**Goal:** Capture the contract from origin R5\u2013R7 as a design note Wave 3 must consult, and a Strava-encryption rotation runbook. **No TypeScript types file is shipped \u2014 it would almost certainly be rewritten when Wave 3 begins implementing, and a doc satisfies R5\u2013R7 as written.**\\n\\n**Requirements:** R5, R6, R7, R12, R16 (interface contracts; implementations deferred).\\n\\n**Dependencies:** Unit 2 (encryption code references the runbook).\\n\\n**Deliverables (planned):**\\n- `docs/solutions/ai-pipeline-resumable-design.md` \u2014 describes the resumable pipeline contract for Wave 3.\\n- `docs/solutions/strava-token-encryption.md` \u2014 operator runbook for adding/rotating/removing keys.\\n\\n**Verification:**\\n- [ ] Both docs exist, render cleanly on GitHub.\\n- [ ] Encryption runbook describes the \\\"do not remove a key version until all rows \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e37a7b877c86da66\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_s\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-358cf1fdb50aba9d", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311927, "scanner": "foundry_dataset", "fingerprint": "41f47dd51757cf312588d6afa9aa45fdc97e749bd5179d4e8421b491df8992ed", "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": "ryanssareen/daily-athlete#69", "human_labels": ["api_or_backend", "deployment_env_gap", "source_or_other", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "69", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.795, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-0a0a8ef38bc4f036", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 14, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 3, "api_or_backend": 5, "ui_or_frontend": 5, "source_or_other": 1}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#69\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: ryanssareen/daily-athlete#69\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 14\nLabels: {'test_ci_gap': 1, 'deployment_env_gap': 2}\nPolarities: {'bad': 3}\nChanged file labels: {'ui_or_frontend': 5, 'api_or_backend': 5, 'test_or_ci': 3, 'source_or_other': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-94f6c3a2f9559886\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/69\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/69\\nTitle: feat(web): replace Inngest backfill with Next.js after() + Vercel cron\\nBody:\\n## Summary\\n\\n- **Eliminates Inngest** from the backfill pipeline \u2014 no more `@/inngest/client` in connect/retry routes\\n- **`runBackfillForUser`** (`src/strava/run-backfill.ts`): synchronous backfill runner called via `after()`, fetches up to 200 activities in a single Strava API call, classifies errors into `needs_reauth`/`failed`/`rate_limited` states\\n- **Connect + retry routes** now call `after(() => runBackfillForUser(userId))` with `export const maxDuration = 60` \u2014 runs inside the Vercel function window after the 202 is sent\\n- **Watchdog cron** at `/api/cron/backfill-watchdog` (every 15 min via `vercel.json`) demotes stale `in_progress` rows that never transitioned, protected by `CRON_SECRET`\\n- **Inngest keys** downgraded back to config warnings (not errors) since `/api/inngest` is now optional infrastructure\\n\\n## Test plan\\n\\n- [ ] All 114 unit tests pass (`npx vitest run --exclude \\\"src/db/__tests__/**\\\"`)\\n- [ ] Connect\"\n  },\n  {\n    \"id\": \"github-feedback-comment-2222a62b5f701063\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/69#issuecomment-4467504981\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/69#issuecomment-4467504981\\nTitle: \\nBody:\\nDeployment failed with the following error:\\n~~~\\nHobby accounts are limited to daily cron jobs. T\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-2c67663da69d98ac", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311926, "scanner": "foundry_dataset", "fingerprint": "92876316cb6510820f343ff6f2f415ed3a9f80fa3c17e9e725f485ac3abaf4a8", "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": "ryanssareen/daily-athlete#68", "human_labels": ["api_or_backend", "deployment_env_gap", "schema_or_data", "security_auth_secret", "test_or_ci", "ui_or_frontend"], "issue_number": "68", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-cc1505f137e63e86", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 15, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 3, "api_or_backend": 2, "schema_or_data": 1, "ui_or_frontend": 9}, "linked_commit_count": 6, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#68\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#68\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 15\nLabels: {'security_auth_secret': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'test_or_ci': 3, 'api_or_backend': 2, 'ui_or_frontend': 9, 'schema_or_data': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-67b5c2c38c4754ef\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/68\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/68\\nTitle: feat(web): Strava backfill Inngest function + retry endpoint -- Phase C (C2)\\nBody:\\n## Summary\\n\\n- **Inngest backfill function** (`strava/backfill.start`): paginates up to 200 Strava activities on connect, normalizes + persists to `completed_workouts` + `strava_raw_payloads`, and tracks progress in `athlete_profiles.backfill_status` with per-page status writes.\\n- **Backfill watchdog** (cron `*/15 * * * *`): demotes `in_progress` rows older than 10 minutes to `failed/watchdog_demoted` \u2014 the only recovery path for stuck runs (timeout, OOM, deploy mid-flight).\\n- **Retry endpoint** (`POST /api/integrations/strava/backfill/retry`): TOCTOU-safe conditional UPDATE on `state='failed'` + re-enqueue. Includes CSRF guard (`Sec-Fetch-Site`), Bearer auth for mobile, and enqueue-failure revert.\\n- **Helpers** (`backfill-helpers.ts`): pure functions decoupled from Inngest so they're unit-testable in isolation.\\n- **`StravaActivitySchema`**: Zod validation of `/athlete/activities` response \u2014 no `as` cast.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-8cdc6c3bbb4789ef\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/68#issuecomment-4466666515\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/68#issuecomment-4466666515\\nTitle: \\nBody:\\n[vc]: #DiE5PKjoBiMGWNseUTBN2LmTANXtghM1M+LJlc5Aj+E=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aH\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-e5d274b03962284b", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311925, "scanner": "foundry_dataset", "fingerprint": "e0c97a6788b14d15286057db2fea4abb875b5211c766c22d044ddc3f657a56b2", "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": "ryanssareen/daily-athlete#66", "human_labels": ["api_or_backend", "dependency_or_build", "deployment_env_gap", "runtime_failure", "source_or_other", "ui_or_frontend"], "issue_number": "66", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-83acb50e9b94c8a6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 9, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 1, "ui_or_frontend": 4, "source_or_other": 2, "dependency_or_build": 2}, "linked_commit_count": 6, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#66\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#66\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 9\nLabels: {'runtime_failure': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 2, 'ui_or_frontend': 4, 'api_or_backend': 1, 'dependency_or_build': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-640e8487e34c6e4c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/66\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/66\\nTitle: feat(web): polished landing + email/password + Google OAuth\\nBody:\\n## Summary\\n\\nRestores the polished marketing landing + modern sign-in flow that was running on the \\\\`feat/stack-pivot-typescript\\\\` preview. PR #64 and PR #65 deployed \\\\`main\\\\` to production, which still had the bare \\\\\\\"DA2 + Sign in\\\\\\\" landing and magic-link-only auth \u2014 regressing the visible UX. This PR brings the polished work back, adapted to current \\\\`main\\\\`.\\n\\n## What changed\\n\\n| File | Change |\\n|------|--------|\\n| \\\\`apps/web/app/page.tsx\\\\` | Polished landing (Hero + FeatureTriad + PlatformBand + SiteFooter). Keeps main's auth-redirect guard. |\\n| \\\\`apps/web/app/(auth)/sign-in/page.tsx\\\\` | Email/password + Google OAuth. **Magic-link mode stripped** per direction (\\\\\\\"one-time email link is the old one\\\\\\\"). |\\n| \\\\`apps/web/app/auth/callback/route.ts\\\\` | OAuth/PKCE callback handler (new file). |\\n| \\\\`apps/web/app/layout.tsx\\\\` | GeistSans + GeistMono fonts. |\\n| \\\\`apps/web/app/globals.css\\\\` | Tailwind v4 + warm-paper theme tokens. |\\n| \"\n  },\n  {\n    \"id\": \"github-feedback-comment-df5b3f92fbf170f1\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/66#issuecomment-4466503117\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/66#issuecomment-4466503117\\nTitle: \\nBody:\\n[vc]: #drZzPHj+HKf/yyA0O8oPc6Mao8k/dj9yDxBzzK8PHdk=:eyJpc01v\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-249c35d209978e38", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311924, "scanner": "foundry_dataset", "fingerprint": "301bc7d68e3789a03e7b7c076757c138edaf7923754066656b40085db9fda27e", "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": "ryanssareen/daily-athlete#65", "human_labels": ["dependency_or_build", "deployment_env_gap", "security_auth_secret", "source_or_other", "ui_or_frontend"], "issue_number": "65", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-07d85a0194392af8", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 1, "source_or_other": 1, "dependency_or_build": 2}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#65\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#65\nRepo: ryanssareen/daily-athlete\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: 4\nLabels: {'security_auth_secret': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 1, 'dependency_or_build': 2, 'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-dd4058a3f5ce7056\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/65\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/65\\nTitle: fix(web): bump next 15.0.3 \u2192 15.5.18 (security gate)\\nBody:\\n## Summary\\n\\nVercel post-deploy security gate fails on Next.js \\\\`15.0.3\\\\` advisory. Bumping to current 15.x patch \\\\`15.5.18\\\\` (latest in the 15 line; 16.x is a major-version skip we're not taking under time pressure).\\n\\n## Migration adjustments required by 15.5\\n\\n| File | Change | Reason |\\n|------|--------|--------|\\n| \\\\`next.config.ts\\\\` | \\\\`experimental.typedRoutes\\\\` \u2192 top-level \\\\`typedRoutes\\\\` | The flag graduated in 15.5; the experimental key now warns. |\\n| \\\\`src/auth/roles.ts\\\\` | \\\\`landingPathForRoles\\\\` return type \\\\`string\\\\` \u2192 \\\\`\\\\\\\"/roster\\\\\\\" \\\\\\\\| \\\\\\\"/athlete\\\\\\\"\\\\` | typedRoutes in 15.5 enforces \\\\`Route\\\\` on \\\\`redirect()\\\\` and \\\\`<Link href>\\\\`; a bare \\\\`string\\\\` no longer satisfies. Both values are real routes. |\\n\\n## Testing\\n\\n- \\\\`pnpm -F @da2/web build\\\\` (Next.js 15.5.18) \u2014 clean, all 14 routes generated, same shape as before\\n- \\\\`pnpm typecheck\\\\` \u2014 green across web + mobile + shared\\n- \\\\`pnpm -F @da2/shared test\\\\` \u2014 173 tests passed (\"\n  },\n  {\n    \"id\": \"github-feedback-comment-2d27c41c387dd1e9\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/65#issuecomment-4466458695\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/65#issuecomment-4466458695\\nTitle: \\nBody:\\n[vc]: #V4wlfVWqWOgR/kfgxL6w848UYrKvvmFVH3wovkalUdk=:ey\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-47575c6ce0a39928", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311923, "scanner": "foundry_dataset", "fingerprint": "be41544e4cb98eca80764247d2f58c5c23bd2a0754da253a63d5bcffe0174fc7", "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": "ryanssareen/daily-athlete#64", "human_labels": ["dependency_or_build", "deployment_env_gap", "docs_or_claims", "schema_or_data", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "64", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a5acc6fab769034f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 9, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 3, "docs_or_claims": 1, "schema_or_data": 1, "ui_or_frontend": 3, "dependency_or_build": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#64\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: ryanssareen/daily-athlete#64\nRepo: ryanssareen/daily-athlete\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: 9\nLabels: {'test_ci_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'test_or_ci': 3, 'dependency_or_build': 1, 'docs_or_claims': 1, 'ui_or_frontend': 3, 'schema_or_data': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c1a61b5e9625e6a7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/64\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/64\\nTitle: feat(schema): backfill_status column + Phase C contracts (C1)\\nBody:\\n## Summary\\n\\nPhase C Unit C1 of the Strava integration: adds the `athlete_profiles.backfill_status JSONB` column (migration 0009) and the `packages/shared/src/strava-backfill.ts` contracts that the C2 Inngest backfill worker and the C3 mobile UI will consume.\\n\\n- **Migration 0009** \u2014 `ALTER TABLE ... ADD COLUMN backfill_status JSONB NOT NULL DEFAULT '{}'::jsonb` plus a CHECK constraint enforcing well-formed-ness (object type, valid `state` enum if present, `provider = 'strava'` if present). PG 11+ fast path: metadata-only, no row rewrite. `SET lock_timeout = '5s'` for safety.\\n- **New shared module** `packages/shared/src/strava-backfill.ts`:\\n  - `BackfillStatusColumnSchema` \u2014 single object with optional `state`; default `{}` parses cleanly as `state: undefined`. Strict mode rejects unknown keys.\\n  - `StravaBackfillErrorCodeSchema` \u2014 **closed** enum so raw `err.message` can never leak from the Inngest worker into the column and ont\"\n  },\n  {\n    \"id\": \"github-feedback-comment-1f2f74d4c0b0bbb3\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/64#issuecomment-4466336806\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/64#issuecomment-4466336806\\nTitle: \\nBody:\\n[vc]: #UUrMuoMfoSogGOhgMamMCu3tLm/O9bKwVPHYS3LH5Cw=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0e\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-e6d74ed8258b8e54", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311922, "scanner": "foundry_dataset", "fingerprint": "1605e0717f448c3604a8e892b330674650bb780e24029f6356c077f5d341c842", "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": "ryanssareen/daily-athlete#63", "human_labels": ["api_integration_gap", "deployment_env_gap", "runtime_failure", "test_or_ci", "ui_or_frontend"], "issue_number": "63", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-8eaa460f3fa4780f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "ui_or_frontend": 1}, "linked_commit_count": 9, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#63\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#63\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 9\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'runtime_failure': 1, 'deployment_env_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {'test_or_ci': 1, 'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-cf43f44fc5e8f6d6\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/63\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/63\\nTitle: fix(web): lazy config Proxy so Next.js build doesn't run prod validator\\nBody:\\n## Summary\\n\\nHotfix for main's broken Vercel deploy after PR #62 merged. Replaces the eager `export const config = loadConfig()` singleton with a Proxy that defers `loadConfig()` until first property access.\\n\\n## Why main is currently broken\\n\\nVercel build for [commit 0e25a15](https://github.com/ryanssareen/daily-athlete/commit/0e25a15) fails with:\\n\\n```\\nError: apps/web boot config invalid:\\n - Supabase service-role key is required in production (...)\\n - Strava client id is required in production (...)\\n - Strava client secret is required in production (...)\\n - Strava webhook verify token is required in production (...)\\n - STRAVA_TOKEN_KEYS is required in production\\n - STRAVA_OAUTH_STATE_SIGNING_KEY is required in production\\nat ... .next/server/app/api/integrations/strava/connect/route.js\\n```\\n\\nRoot cause: Phase B's review revision changed `config.ts` to evaluate `loadConfig()` at module import. Phase A had no consumers,\"\n  },\n  {\n    \"id\": \"github-feedback-comment-7d0e63deaf0709d8\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/63#issuecomment-4455886189\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/63#issuecomment-4455886189\\nTitle: \\nBody:\\n[vc]: #4+ZMlXFB6yBcl+4MgLa1D0FPrKLF2ST7YmEJaqqB98w=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJv\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-a9ba786d8bf229dd", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311921, "scanner": "foundry_dataset", "fingerprint": "919317803807599ebf4f932bbb62fec018387b0b430a00ade2074a576ca1fa15", "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": "ryanssareen/daily-athlete#6", "human_labels": ["test_ci_gap"], "issue_number": "6", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a2d32f82aa4a2f0a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#6\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: ryanssareen/daily-athlete#6\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b91daf10a2b9aa28\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/6\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/6\\nTitle: [unit 5]: Excise apps/api/, simplify CI, switch schema-drift check to codegen\\nBody:\\n**Plan doc:** `docs/plans/2026-05-03-001-refactor-stack-pivot-typescript-vercel-plan.md` (line 533)\\n\\n**Goal:** Remove the entire Python toolchain and the FastAPI app. Replace the schema-drift check with Supabase codegen + git diff. Mobile base URL switches to `<host>/api`.\\n\\n**Requirements:** R13, R14.\\n\\n**Dependencies:** Units 1, 2, 3, 4 (all TS replacements must be in production before Python is removed).\\n\\n**Deliverables (planned):**\\n- Delete `apps/api/` directory.\\n- Delete `pyproject.toml`, `uv.lock`, Python tooling.\\n- Replace `.github/workflows/python-ci.yml` (or equiv) with a Node-only CI.\\n- Add `apps/web/scripts/check-schema-drift.ts` \u2014 runs Supabase codegen, diffs against checked-in `database.types.ts`.\\n- Update mobile `baseURL` from old Fly URL to `https://da2-one.vercel.app/api`.\\n\\n**Verification:**\\n- [ ] `find . -name \\\"*.py\\\" | grep -v node_modules` returns nothing.\\n- [ ] CI workflow file shows only Node steps.\\n\"\n  },\n  {\n    \"id\": \"github-feedback-comment-c46c97bcc8ee9cd5\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/6#issuecomment-4376743964\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/6#issuecomment-4376743964\\nTitle: \\nBody:\\nClosed by #40 (merged as bc06251). apps/api deleted (41 Python files), Python job removed from CI, docker-compose Redis service removed, pnpm-lock.yaml committed. Schema drift check is deferred per docs/solutions/mi\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-06fb6b8612a7b72a", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311920, "scanner": "foundry_dataset", "fingerprint": "7d657745686b9308f09e59a6b5992cfcec3f7804397518f49c36eac32197844d", "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": "ryanssareen/daily-athlete#58", "human_labels": ["api_integration_gap", "security_auth_secret"], "issue_number": "58", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-a60ded1f8deff397", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 6, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#58\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#58\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-da60b41b1b025af2\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/58\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/58\\nTitle: plan: Strava integration \u2014 product plan Units 2.1, 2.2, 2.4\\nBody:\\nImplementation plan for the Strava integration. Breaks product plan Units 2.1 (OAuth + token storage), 2.2 (backfill + ingest), and 2.4 (webhook + matcher + manual completion) into four phases of one PR each.\\n\\nPlan document: [docs/plans/2026-05-13-003-feat-strava-integration-plan.md](docs/plans/2026-05-13-003-feat-strava-integration-plan.md). 841 lines.\\n\\n## Phases at a glance\\n\\n| Phase | PRs | Units | Lands |\\n|---|---|---|---|\\n| A. Foundation prereqs | 1 | token-crypto, Inngest scaffold, env validation, sport map | Local: `pnpm test` works against the new modules; Inngest dev server connects |\\n| B. Unit 2.1 \u2014 OAuth + StravaClient | 1 | StravaClient, connect route, mobile screen | Athlete completes Strava OAuth; encrypted token persists; backfill event visible in Inngest |\\n| C. Unit 2.2 \u2014 Backfill | 1 | backfill-status migration + Inngest function | Test athlete with fixture Strava response gets 200 rows in `completed_work\"\n  },\n  {\n    \"id\": \"github-feedback-comment-e8fc9159840b03e7\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/58#issuecomment-4442070463\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/58#issuecomment-4442070463\\nTitle: \\nBody:\\nSomeone is attempting to deploy this pull request to the **Nectar** Team on [Vercel](https://vercel.com).\\n\\n**No GitHub account was found matching the commit author\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-219686066d716182", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311919, "scanner": "foundry_dataset", "fingerprint": "1394f3eb60284cbfb5a5c39ad230ce5cf7c907bcc7df834679b46d1c73e71988", "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": "ryanssareen/daily-athlete#57", "human_labels": ["api_integration_gap", "deployment_env_gap", "test_ci_gap"], "issue_number": "57", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-05578b8a653fd74d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 7, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#57\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#57\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 7\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1c7c0994d1c39ba0\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/57\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/57\\nTitle: feat(test): completed_workouts + workout_matches DB tests (Unit 3 of Unit 6 plan)\\nBody:\\nUnit 3 of [docs/plans/2026-05-13-002-feat-completed-workouts-and-matches-schema-plan.md](docs/plans/2026-05-13-002-feat-completed-workouts-and-matches-schema-plan.md). DB integration tests for the tables introduced in [#54](https://github.com/ryanssareen/daily-athlete/pull/54) and the Zod schemas from [#56](https://github.com/ryanssareen/daily-athlete/pull/56).\\n\\n## What lands\\n\\n| File | Scenarios |\\n|---|---|\\n| \\\\`apps/web/src/db/__tests__/completed-workouts.test.ts\\\\` | 15 |\\n| \\\\`apps/web/src/db/__tests__/workout-matches.test.ts\\\\` | 15 |\\n| **Total** | **30** |\\n\\n## completed-workouts.test.ts coverage\\n\\n| # | Scenario |\\n|---|---|\\n| 1 | **R14**: athlete inserts Strava completion via JWT, reads it back |\\n| 2 | Manual workout NULL strava_activity_id \u2014 multiple per day allowed |\\n| 3 | **R15 collision**: same `(athlete_id, strava_activity_id)` twice \u2192 23505 |\\n| 4 | **R15 idempotent upsert**: ON CONFLICT DO UPDATE produc\"\n  },\n  {\n    \"id\": \"github-feedback-comment-d4593951d497fc35\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/57#issuecomment-4441356487\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/57#issuecomment-4441356487\\nTitle: \\nBody:\\nSomeone is attempting to deploy this pull request to the **Nectar** Team on [Vercel](https://vercel.com).\\n\\n**No GitHub account was found match\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-729ba3485abf2f45", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311918, "scanner": "foundry_dataset", "fingerprint": "f27b4dedb9298f15b13c81aa2b2590839f47b64f17b7cbdd2be934d4e4776763", "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": "ryanssareen/daily-athlete#56", "human_labels": ["api_integration_gap", "test_ci_gap"], "issue_number": "56", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-d1b3059e26eb5a3f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#56\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: ryanssareen/daily-athlete#56\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4ef37eb28bb6b945\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/56\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/56\\nTitle: feat(shared): Zod modules for completed-workout / workout-match (Unit 2 of Unit 6 plan)\\nBody:\\nUnit 2 of [docs/plans/2026-05-13-002-feat-completed-workouts-and-matches-schema-plan.md](docs/plans/2026-05-13-002-feat-completed-workouts-and-matches-schema-plan.md). Hand-authored Zod row schemas + inferred TS types for the two tables introduced in PR #54 (parent schema plan Unit 6).\\n\\n## What lands\\n\\n| File | Exports |\\n|---|---|\\n| \\\\`packages/shared/src/completed-workout.ts\\\\` | \\\\`CompletedWorkoutSourceSchema\\\\`, \\\\`SummaryStatsSchema\\\\`, \\\\`CompletedWorkoutRowSchema\\\\` + types |\\n| \\\\`packages/shared/src/workout-match.ts\\\\` | \\\\`WorkoutMatchMethodSchema\\\\`, \\\\`WorkoutMatchRowSchema\\\\` + types |\\n| 2 test files | **34 pure-Zod scenarios** (19 completed-workout + 14 workout-match + 1 cross-side documentation pin) |\\n\\n| Schema | Source-of-truth alignment |\\n|---|---|\\n| \\\\`CompletedWorkoutSourceSchema\\\\` | mirrors SQL CHECK \\\\`source IN ('strava','manual')\\\\` |\\n| \\\\`WorkoutMatchMethodSchema\\\\` | mirrors SQL CHECK \\\\`method IN (\"\n  },\n  {\n    \"id\": \"github-feedback-comment-5734d542cfd57bb9\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/56#issuecomment-4441308946\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/56#issuecomment-4441308946\\nTitle: \\nBody:\\nSomeone is attempting to deploy this pull request to the **Nectar** Team on [Vercel](https://vercel.com).\\n\\n**No GitHub account was found matching the com\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-3ebad88fbb051e52", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311917, "scanner": "foundry_dataset", "fingerprint": "21fc1c84891a2194b0038ce847ea05f7736c4572f1f5b88f691c65d1393f946d", "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": "ryanssareen/daily-athlete#55", "human_labels": ["runtime_failure"], "issue_number": "55", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-ede380906d38e3c3", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#55\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#55\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8cfc63f5dd890a0b\",\n    \"kind\": \"issue_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/55\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/55\\nTitle: Unit 6 review residuals: cycle prevention, plan_id index, EXISTS perf, summary_stats cap (from PR #54)\\nBody:\\nTracking residual actionable findings from the ce:review on [PR #54](https://github.com/ryanssareen/daily-athlete/pull/54) (run artifact: \\\\`.context/compound-engineering/ce-review/20260513-171026-de06590b/\\\\`). All safe_auto fixes (13) + the user-approved SEC-001 hardening landed in PR #54.\\n\\n## Ordering\\n\\nItems (1)\u2013(2) gate the matcher (product plan Unit 2.4) and the Unit 8 coach RLS pass. Items (3)\u2013(4) are perf hardening that lands when its trigger condition arrives. Items (5)\u2013(7) are advisory / already-tracked.\\n\\n## (1) Cross-user `superseded_by_id` pointer prevention\\n\\nFinding: security SEC-002 (P3, confidence 0.65)\\n\\n\\\\`completed_workouts.superseded_by_id\\\\` is a self-FK with no cross-user ownership validation. A user could UPDATE their own row to set \\\\`superseded_by_id = <UUID of another user's row>\\\\`. FK passes; RLS doesn't run on FK references. No active leak today (target row is RLS-bloc\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-1eee8f642182d547\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_sour\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-02db52d3ec0d9445", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311916, "scanner": "foundry_dataset", "fingerprint": "e873c76ae9835c454a7717039458f75697b3399da2560ff980683055f72d05f0", "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": "ryanssareen/daily-athlete#53", "human_labels": ["api_integration_gap", "test_ci_gap"], "issue_number": "53", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-8acef7ce1d66c9a9", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#53\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: ryanssareen/daily-athlete#53\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-144c696195c4c384\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/53\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/53\\nTitle: feat(test): plans + planned_workouts DB integration tests (Unit 3 of Unit 5 plan)\\nBody:\\nUnit 3 of [docs/plans/2026-05-13-001-feat-plans-planned-workouts-schema-plan.md](docs/plans/2026-05-13-001-feat-plans-planned-workouts-schema-plan.md). DB integration tests for the tables introduced in [#50](https://github.com/ryanssareen/daily-athlete/pull/50) and the Zod schemas from [#52](https://github.com/ryanssareen/daily-athlete/pull/52).\\n\\n## What lands\\n\\n| File | Scenarios |\\n|---|---|\\n| \\\\`apps/web/src/db/__tests__/plans.test.ts\\\\` | 12 |\\n| \\\\`apps/web/src/db/__tests__/planned-workouts.test.ts\\\\` | 12 |\\n| **Total** | **24** |\\n\\n## plans.test.ts coverage\\n\\n| # | Scenario |\\n|---|---|\\n| 1 | Athlete inserts active plan via JWT, reads back |\\n| 2 | Archive-then-create transition: both rows coexist |\\n| 3 | Soft-delete-then-create transition: deleted row doesn't block new active |\\n| 4 | **R7 enforcement**: two-active 23505 collision on partial unique index |\\n| 5 | CHECK violation: unknown status |\\n| 6 | CHECK viola\"\n  },\n  {\n    \"id\": \"github-feedback-comment-8131cfd554cbd096\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/53#issuecomment-4439287733\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/53#issuecomment-4439287733\\nTitle: \\nBody:\\nSomeone is attempting to deploy this pull request to the **Nectar** Team on [Vercel](https://vercel.com).\\n\\n**No GitHub account was found matching the commit author\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-4a8f6918be59cccf", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311915, "scanner": "foundry_dataset", "fingerprint": "83e427fbe32dce059f0d1df19c1a1c4088e52bb876a3bd8d5470a099bb88a0e2", "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": "ryanssareen/daily-athlete#52", "human_labels": ["api_integration_gap", "test_ci_gap"], "issue_number": "52", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-aa708d295b799108", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#52\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#52\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ad3a94ffc7cac672\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/52\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/52\\nTitle: feat(shared): Zod modules for plan / planned-workout (Unit 2 of Unit 5 plan)\\nBody:\\nUnit 2 of [docs/plans/2026-05-13-001-feat-plans-planned-workouts-schema-plan.md](docs/plans/2026-05-13-001-feat-plans-planned-workouts-schema-plan.md). Hand-authored Zod row schemas + inferred TS types for the two tables introduced in PR #50 (parent schema plan Unit 5).\\n\\n## What lands\\n\\n| File | Exports |\\n|---|---|\\n| \\\\`packages/shared/src/plan.ts\\\\` | \\\\`PlanStatusSchema\\\\`, \\\\`PlanSourceSchema\\\\`, \\\\`PlanRowSchema\\\\` + types |\\n| \\\\`packages/shared/src/planned-workout.ts\\\\` | \\\\`SportSchema\\\\`, \\\\`PlannedWorkoutStatusSchema\\\\`, \\\\`EditedByKindSchema\\\\`, \\\\`PlannedWorkoutStructureSchema\\\\`, \\\\`PlannedWorkoutRowSchema\\\\` + types |\\n| 2 test files | **41 pure-Zod scenarios**: happy paths, enum acceptance/rejection, UUID validation, nullability allowances, timestamp offset format, missing-field rejection |\\n\\n| Schema | Source-of-truth alignment |\\n|---|---|\\n| \\\\`PlanStatusSchema\\\\` | mirrors SQL CHECK \\\\`status IN ('active','archived')\\\\` |\\n| \"\n  },\n  {\n    \"id\": \"github-feedback-comment-ceebe2c1db1569ba\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/52#issuecomment-4439239362\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/52#issuecomment-4439239362\\nTitle: \\nBody:\\nSomeone is attempting to deploy this pull request to the **Nectar** Team on [Vercel](https://vercel.com).\\n\\n**No GitHub account was found matching the\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-70732ee531ff9223", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311914, "scanner": "foundry_dataset", "fingerprint": "8ec4810e5357b87ea09f36aa2d4e07f4ab7eea79255151474b8e953fda793cee", "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": "ryanssareen/daily-athlete#51", "human_labels": ["test_ci_gap"], "issue_number": "51", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-e3b4b043262a1d9f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#51\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: ryanssareen/daily-athlete#51\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f03dfab6e77db70a\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/51\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/51\\nTitle: Unit 5 review residuals: cross-athlete plan_id, edit-attribution trust, plan_id index, JSONB cap, broadcast surface (from PR #50)\\nBody:\\nTracking residual actionable findings from the ce:review on [PR #50](https://github.com/ryanssareen/daily-athlete/pull/50) (run artifact: \\\\`.context/compound-engineering/ce-review/20260513-094934-0e990661/\\\\`). All safe_auto fixes landed in PR #50 itself. The items below were routed as \\\\`manual \u2192 downstream-resolver\\\\` \u2014 each warrants its own change rather than being bundled into the Unit 1 migration PR.\\n\\n## Ordering\\n\\nItems (1) and (2) gate the Unit 8 coach-RLS pass. Items (3)\u2013(5) are dev-loop quality / performance \u2014 can land any time.\\n\\n## (1) Cross-athlete \\\\`plan_id\\\\` exposure in coach-aggregation queries\\n\\nFinding: security S-001 + adversarial ADV-004 (P2, confidence 0.85 boosted)\\n\\n\\\\`planned_workouts_self_insert\\\\` RLS only validates \\\\`auth.uid() = athlete_id\\\\` on the workout row. It does NOT verify the referenced \\\\`plan_id\\\\` is owned by the inserting user. Athlete A \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-2957b85fc245cc3f\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_sourc\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-84b2ed7d3364a851", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311913, "scanner": "foundry_dataset", "fingerprint": "1574b9c2564ee2f186ebb5da31f1c1baf7fa9af7b617354da7fc5c2c9a1ac4dd", "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": "ryanssareen/daily-athlete#5", "human_labels": ["data_schema_persistence"], "issue_number": "5", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-ab418f503c858030", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#5\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#5\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-59df063d8927ae88\",\n    \"kind\": \"issue_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/5\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/5\\nTitle: [unit 4]: Vercel Cron + Supabase keepalive (one cron schedule in v1)\\nBody:\\n**Plan doc:** `docs/plans/2026-05-03-001-refactor-stack-pivot-typescript-vercel-plan.md` (line 495)\\n\\n**Goal:** Implement Supabase keepalive to defeat the 7-day free-tier auto-pause. Document the cron budget so Wave 2+ engineers don't accidentally exceed Hobby's 2-slot limit. **The weekly-review cron stub from the original draft is dropped \u2014 it consumed one of two scarce slots for a no-op. Wave 3's first plan-generation unit creates the schedule and the endpoint together.**\\n\\n**Requirements:** R3 (waitUntil/Cron substitute for Arq), R10 (keepalive), R11 (cron budget).\\n\\n**Dependencies:** Unit 1 (config + supabase clients).\\n\\n**Deliverables (planned):**\\n- `apps/web/app/api/cron/keepalive/route.ts` \u2014 service-role SELECT 1 against Supabase, returns 200.\\n- `vercel.json` \u2014 single cron entry, daily.\\n- `CRON_SECRET` enforcement on the route (already env-set in Unit 0/1).\\n- `docs/solutions/cron-budget.md` \u2014 explicit accounting\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-7ca4c912bc98e0b9\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"rep\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-accc9c7454dc0d9c", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311912, "scanner": "foundry_dataset", "fingerprint": "0b813b2a5a314de2a52e4015715a7d22d938206035a25ba689ab96a325f7a239", "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": "ryanssareen/daily-athlete#49", "human_labels": ["api_integration_gap", "test_ci_gap"], "issue_number": "49", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-01bdb7607d9b3d91", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#49\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: ryanssareen/daily-athlete#49\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7bfff148fb8c87dd\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/49\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/49\\nTitle: feat(ci): realtime publication allow-list guard (Unit 5 of #43)\\nBody:\\nUnit 5 of [#43](https://github.com/ryanssareen/daily-athlete/issues/43) \u2014 the **final** unit of the schema-foundation-backfill plan. Replaces comment-only documentation of the \\\\`supabase_realtime\\\\` publication exclusion with an automated CI guard.\\n\\n## What lands\\n\\n- \\\\`supabase/migrations/0006_realtime_publication_query_function.sql\\\\` \u2014 service-role-only SQL helper wrapping \\\\`pg_publication_tables\\\\`. PostgREST can't query system catalogs directly; the helper exposes the publication membership via \\\\`.rpc()\\\\`.\\n- \\\\`packages/shared/src/realtime-allowlist.ts\\\\` \u2014 \\\\`REALTIME_ALLOWLIST: readonly string[]\\\\` \u2014 the single source of truth. Empty today (no shipped table is a publication member).\\n- \\\\`apps/web/src/db/__tests__/realtime-publication.test.ts\\\\` \u2014 vitest test that diffs live publication membership against the allow-list. Failure messages distinguish \\\"unexpected addition\\\" from \\\"expected but missing\\\" so the diff is immediately actio\"\n  },\n  {\n    \"id\": \"github-feedback-comment-28cfcac785879220\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/49#issuecomment-4436742917\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/49#issuecomment-4436742917\\nTitle: \\nBody:\\nSomeone is attempting to deploy this pull request to the **Nectar** Team on [Vercel](https://vercel.com).\\n\\n**No GitHub account was found matching the commit author\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-a121f25474a72bbb", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311911, "scanner": "foundry_dataset", "fingerprint": "80b052f41c376525b2cc44b53713dcccdbb6c26eaf1a7a0bf95ef6216871d4f1", "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": "ryanssareen/daily-athlete#48", "human_labels": ["api_integration_gap", "test_ci_gap"], "issue_number": "48", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-642d73bb11565df1", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#48\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: ryanssareen/daily-athlete#48\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-372007811751317b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/48\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/48\\nTitle: feat(test): athlete_profiles RLS + cascade + Zod-roundtrip tests (Unit 4 of #43)\\nBody:\\nUnit 4 of [#43](https://github.com/ryanssareen/daily-athlete/issues/43) \u2014 closes the Unit C deferral originally documented in [#41](https://github.com/ryanssareen/daily-athlete/pull/41).\\n\\n## What lands\\n\\n\\\\`apps/web/src/db/__tests__/athlete-profile.test.ts\\\\` with 9 scenarios covering the non-trigger surface of \\\\`athlete_profiles\\\\` (trigger semantics are in \\\\`athlete-profile-lockstep.test.ts\\\\` from Unit 3).\\n\\n| # | Scenario | Why it matters |\\n|---|---|---|\\n| 1 | RLS positive: own row visible | Standard athlete-self SELECT policy |\\n| 2 | RLS negative: other row hidden | Standard cross-user RLS isolation |\\n| 3 | RLS UPDATE denial | Athlete cannot mutate another's profile |\\n| 4 | RLS WITH CHECK denial (42501) | INSERT for a different user_id rejected |\\n| 5 | PK uniqueness (23505) | 1:1-with-users invariant |\\n| 6 | First-touch race | Concurrent \\\\`upsert({ onConflict: 'user_id', ignoreDuplicates: true })\\\\` settles to \"\n  },\n  {\n    \"id\": \"github-feedback-comment-4f475afd0f3b1088\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/48#issuecomment-4436715546\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/48#issuecomment-4436715546\\nTitle: \\nBody:\\nSomeone is attempting to deploy this pull request to the **Nectar** Team on [Vercel](https://vercel.com).\\n\\n**No GitHub account was found matching the commit author em\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-b268436c5c405101", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311910, "scanner": "foundry_dataset", "fingerprint": "00a3ce6ee17a9aa816e1e03ccfee1a589c6d53450f748c8be14397f20fc90365", "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": "ryanssareen/daily-athlete#47", "human_labels": ["api_integration_gap", "test_ci_gap"], "issue_number": "47", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-48ed3d839493ff1c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#47\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: ryanssareen/daily-athlete#47\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-e9b3367c36f2811e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/47\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/47\\nTitle: feat(schema): auto-stamp manual_field_edited_at via trigger (Unit 3 of #43)\\nBody:\\nUnit 3 of [#43](https://github.com/ryanssareen/daily-athlete/issues/43): the R5 lockstep invariant moves from app discipline into the database via a `BEFORE INSERT OR UPDATE` trigger on \\\\`athlete_profiles\\\\`. The auto-stamping-trigger option was chosen during planning of [#44](https://github.com/ryanssareen/daily-athlete/pull/44) \u2014 this PR ships it.\\n\\n## What lands\\n\\n- \\\\`supabase/migrations/0005_athlete_profiles_lockstep_trigger.sql\\\\` \u2014 the trigger function (PL/pgSQL, \\\\`SECURITY DEFINER SET search_path = public\\\\`) plus the trigger binding. PostgreSQL's \\\\`IS DISTINCT FROM\\\\` operator handles the NULL-safe equality check; defensive \\\\`COALESCE\\\\` for the path where a caller passes explicit NULLs to the BEFORE trigger.\\n- \\\\`apps/web/src/db/__tests__/athlete-profile-lockstep.test.ts\\\\` \u2014 10 vitest scenarios covering INSERT, UPDATE add/change/remove key, no-op update, derivation-only update, caller-bypass attempt, target_event\"\n  },\n  {\n    \"id\": \"github-feedback-comment-c7d802d828d89a21\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/47#issuecomment-4436692784\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/47#issuecomment-4436692784\\nTitle: \\nBody:\\nSomeone is attempting to deploy this pull request to the **Nectar** Team on [Vercel](https://vercel.com).\\n\\n**No GitHub account was found matching the commit author email\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-be4a1434a0e71a70", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311909, "scanner": "foundry_dataset", "fingerprint": "7496fc837b813e0cc145598df9bb02e01c504260a484addc806f3b649d7ba178", "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": "ryanssareen/daily-athlete#46", "human_labels": ["api_integration_gap", "test_ci_gap"], "issue_number": "46", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-ed12865244d6f88e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#46\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: ryanssareen/daily-athlete#46\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1fbe295a7aae8921\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/46\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/46\\nTitle: feat(shared): per-table Zod modules for shipped tables (Unit 2 of #43)\\nBody:\\nUnit 2 of [#43](https://github.com/ryanssareen/daily-athlete/issues/43): hand-authored Zod row schemas + inferred TS types for the four tables that shipped before \\\\`athlete-profile.ts\\\\` existed (\\\\`users\\\\`, \\\\`entitlements\\\\`, \\\\`strava_tokens\\\\`, \\\\`strava_raw_payloads\\\\`).\\n\\n## What lands\\n\\n| File | Purpose |\\n|---|---|\\n| \\\\`packages/shared/src/users.ts\\\\` | \\\\`UserRowSchema\\\\`, \\\\`RoleFlagSchema\\\\` enum mirroring SQL CHECK |\\n| \\\\`packages/shared/src/entitlement.ts\\\\` | \\\\`EntitlementRowSchema\\\\`, \\\\`EntitlementSourceSchema\\\\` enum locked to \\\\`['revenuecat']\\\\` |\\n| \\\\`packages/shared/src/strava-token.ts\\\\` | \\\\`StravaTokenRowSchema\\\\` covering encrypted BYTEA columns + \\\\`key_version\\\\` from 0003 |\\n| \\\\`packages/shared/src/strava-raw-payload.ts\\\\` | \\\\`StravaRawPayloadRowSchema\\\\`, \\\\`StravaRawKindSchema\\\\` enum, permissive \\\\`payload\\\\` |\\n| 4 test files | **44 pure-Zod scenarios**: happy paths, nullability, enum rejection, UUID validation, CHECK-constr\"\n  },\n  {\n    \"id\": \"github-feedback-comment-fa1d44f572926873\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/46#issuecomment-4436669259\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/46#issuecomment-4436669259\\nTitle: \\nBody:\\nSomeone is attempting to deploy this pull request to the **Nectar** Team on [Vercel](https://vercel.com).\\n\\n**No GitHub account was found ma\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-f0e87b1bf571a63d", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311908, "scanner": "foundry_dataset", "fingerprint": "33dc544008d840d7886dafaf7f94c530097e226886dc41a3d48c80fad0ab3733", "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": "ryanssareen/daily-athlete#43", "human_labels": ["test_ci_gap"], "issue_number": "43", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-05ff3adb10c79a89", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#43\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: ryanssareen/daily-athlete#43\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-94d97d232e85e4a0\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/43\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/43\\nTitle: Schema Unit 4 follow-ups: vitest infra, Zod backfill, lockstep decision, realtime CI guard\\nBody:\\nTracking work deliberately deferred from [#42](https://github.com/ryanssareen/daily-athlete/issues/42) / [PR #41](https://github.com/ryanssareen/daily-athlete/pull/41) \u2014 the athlete-profile schema plan ships Units A + B (migration `0004_athlete_profiles.sql` and the Zod module) atomically; this issue collects the surrounding work so none of it gets lost.\\n\\nOrdering matters: items (1) and (2) gate item (3). Item (4) gates product plan Unit 2.3 (derivation). Item (5) can land any time, ideally early so subsequent migrations land under it.\\n\\n## (1) Vitest infrastructure in `apps/web`\\n\\nParent plan Unit 1 backfill. Today `apps/web/package.json` has no test runner; there is no `apps/web/src/db/__tests__/setup.ts`; CI does not run any vitest step.\\n\\nAcceptance:\\n- [ ] `vitest` + appropriate environment package added to `apps/web/devDependencies` (pin to a recent stable line).\\n- [ ] `apps/web/vitest.config.ts` creat\"\n  },\n  {\n    \"id\": \"github-feedback-comment-a7ef3960a439b673\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/43#issuecomment-4431351765\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/43#issuecomment-4431351765\\nTitle: \\nBody:\\nImplementation plan opened: [PR #44](https://github.com/ryanssareen/daily-athlete/pull/44) \u2014 [docs/plans/2026-05-12-002-feat-schema-foundation-backfill-plan.md](https://github.com/ryanssareen/daily-athlete/blob/plan/sche\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-e1d4832126bfdedc", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311907, "scanner": "foundry_dataset", "fingerprint": "cf030e4932081053f69ca3a203758f82fc90dc083156c98f7a000bb52c87f35d", "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": "ryanssareen/daily-athlete#42", "human_labels": ["test_ci_gap"], "issue_number": "42", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-27603d7245c5f2cf", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#42\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: ryanssareen/daily-athlete#42\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c139bb785515bfc4\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/42\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/42\\nTitle: Schema Unit 4: athlete profile (R4-R6)\\nBody:\\n---\\ntitle: \\\"feat: Athlete Profile Schema (Schema Plan Unit 4)\\\"\\ntype: feat\\nstatus: active\\ndate: 2026-05-12\\norigin: docs/brainstorms/2026-05-02-database-schema-requirements.md\\nparent: docs/plans/2026-05-02-002-feat-database-schema-plan.md\\n---\\n\\n# Athlete Profile Schema \u2014 Implementation Plan\\n\\n## Overview\\n\\nLand the `athlete_profiles` table that holds per-athlete derived baselines (per-sport pace/HR/power, dominant sport, weekly-volume EWMA, confidence flags) and manual fields (age, weight, weekly hours available, target event), with per-field manual-edit timestamps so derivation never overwrites the athlete's own input. This is Unit 4 of the parent schema plan ([docs/plans/2026-05-02-002-feat-database-schema-plan.md](2026-05-02-002-feat-database-schema-plan.md)) and is a prerequisite for Phase B work on plans, planned/completed workouts, and weekly reviews \u2014 every athlete-data unit downstream reads baselines or manual fields.\\n\\nScope is one migration (`supabase\"\n  },\n  {\n    \"id\": \"github-feedback-comment-8574f7def650e5b4\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/42#issuecomment-4430994749\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/42#issuecomment-4430994749\\nTitle: \\nBody:\\nIssue body refreshed to match the revised plan on [PR #41](https://github.com/ryanssareen/daily-athlete/pull/41) (commit `7011a1f`). Changes vs the original body:\\n\\n- R5 test reframed as \\\"schema permits invarian\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-fabd6de3fc5ce196", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311906, "scanner": "foundry_dataset", "fingerprint": "cecc5891cc7cc2c6a8e36d3fe705c009e7dc498ffdad2158b318aa3eb88b979b", "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": "ryanssareen/daily-athlete#40", "human_labels": ["deployment_env_gap", "test_ci_gap"], "issue_number": "40", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-d0d7458491179913", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#40\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: ryanssareen/daily-athlete#40\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8238f2230f624da2\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/40\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/40\\nTitle: Unit 1.5: drop FastAPI, move API into Next.js + Vercel\\nBody:\\n## Summary\\n\\nArchitectural pivot for Unit 1.5 (hosting). The API is no longer a separate Python service \u2014 it lives inside `apps/web` as Next.js App Router Route Handlers and runs on Vercel serverless. Background work that exceeds Vercel function-time limits goes through a queue provider (default candidate **Inngest**, finalized in 1.5; alternatives QStash and Supabase Edge Functions + pg_cron).\\n\\nThis was originally pushed direct to main as `bb80f4e`. Reverted from main (`c66d9a6`) and re-opened here for review.\\n\\n## What changes\\n\\n**Code**\\n- Delete `apps/api/` (41 Python files: FastAPI app, SQLAlchemy models, Pydantic schemas, Arq stubs, Dockerfiles, pytest suite, schema-drift script)\\n- Drop Redis from `docker-compose.yml`\\n- Drop the Python `api` job from `.github/workflows/ci.yml`\\n\\n**Plan + docs**\\n- Plan 001: Stack Summary, architecture diagram, Key Decisions, Units 1.1 / 1.2 / 1.5, plus every later unit's file paths + Approach lines up\"\n  },\n  {\n    \"id\": \"github-feedback-comment-582726a540f3a43f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/40#issuecomment-4376609731\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/40#issuecomment-4376609731\\nTitle: \\nBody:\\n[vc]: #y/FJ9D8H5ZVZ79Ss35gRzVwNwXUFoWbn8+BO9aNSKj4=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJkYTIiLCJwcm9qZWN0SWQiOiJwcmpfZDUzNnRSWkE3cVNGUnR1bX\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-8cfaff11f574a576", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311905, "scanner": "foundry_dataset", "fingerprint": "1cea6354c76bf81c364e4439caee39cb1cbd556fa3442a925c0babcda3ff4aef", "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": "ryanssareen/daily-athlete#39", "human_labels": ["security_auth_secret"], "issue_number": "39", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-3933be9a0ed22ecc", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#39\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#39\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f9503751d0e32cbe\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/39\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/39\\nTitle: Add athlete experience to web app\\nBody:\\n## Context\\n\\nThe web app (`apps/web`) is currently coach-only, with all routes under the `(coach)` route group (roster, athletes, profile). The athlete experience lives only in the Expo mobile app (`apps/mobile`).\\n\\nWe want to add an athlete-side experience to the web app so athletes can view their plan, calendar, and workouts in a browser without needing the mobile app.\\n\\n## Scope\\n\\nAdd an `(athlete)` route group in `apps/web/app/` parallel to the existing `(coach)` group, with role-based routing after sign-in.\\n\\n### Routes to add\\n- `/athlete` \u2014 dashboard / today's workout\\n- `/athlete/calendar` \u2014 week/month calendar view (mirrors mobile Unit 2.5)\\n- `/athlete/workouts/[id]` \u2014 workout detail\\n- `/athlete/profile` \u2014 athlete profile + Strava connect status\\n\\n### Auth + routing\\n- Detect role on sign-in (`coach` vs `athlete`) and redirect to the correct route group.\\n- Guard `(coach)` and `(athlete)` route groups against the wrong role.\\n- Reuse the existing Supaba\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-36b8438d1a031d89\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"rep\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-78fa0c6fa6e3ea6d", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311904, "scanner": "foundry_dataset", "fingerprint": "5d49f4a643686574edfcc80f094c178bea5ac718657835857a8858a698e51c99", "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": "ryanssareen/daily-athlete#3", "human_labels": ["test_ci_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.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-939ac903360d5df9", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#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: ryanssareen/daily-athlete#3\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-67d8de0d11a8d230\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/3\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/3\\nTitle: [unit 2]: Strava token encryption \u2014 AES-256-GCM, multi-key rotation\\nBody:\\n**Plan doc:** `docs/plans/2026-05-03-001-refactor-stack-pivot-typescript-vercel-plan.md` (line 416)\\n\\n**Goal:** TypeScript replacement for `apps/api/src/security/token_crypto.py`. Same multi-key contract via `STRAVA_TOKEN_KEYS`; new ciphertext format incompatible with Python Fernet (greenfield, accepted).\\n\\n**Requirements:** R16.\\n\\n**Dependencies:** Unit 1 (`config.ts` for `STRAVA_TOKEN_KEYS`).\\n\\n**Status:** \u2705 Done.\\n\\n**Deliverables (shipped):**\\n- `apps/web/src/server/crypto/strava.ts` (313 lines): AES-256-GCM via Web Crypto, envelope `<format_version>:<key_version>:<iv_b64url>:<ct_b64url>:<auth_tag_b64url>`.\\n- `encryptStravaToken(plaintext)` uses highest version; `decryptStravaToken(envelope)` looks up by stamped `key_version`.\\n- Legacy `STRAVA_TOKEN_KEY` accepted as v1 fallback.\\n- Module-level cache + `resetKeyCache()` for tests.\\n- Multi-key rotation contract via `STRAVA_TOKEN_KEYS=1:hex,2:hex,...` (highest version encrypts; all d\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-391179c5e9a493e0\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\":\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-550dcb52166e2979", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311903, "scanner": "foundry_dataset", "fingerprint": "888fc2c8d1b6b38b29d490ec0e8a659007681516daca378a54bd6d9c6320b957", "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": "ryanssareen/daily-athlete#15", "human_labels": ["api_integration_gap"], "issue_number": "15", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.627, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-2d379ae1b9c3c347", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#15\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: ryanssareen/daily-athlete#15\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d8fb2879dd4b88f9\",\n    \"kind\": \"issue_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/15\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/15\\nTitle: [phase 5]: Insights, reports, monetization, launch \u2014 Per-workout insights, reports, paywall, store submissions\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\nFree-tier insights as the acquisition hook, paid reports as upsell, RevenueCat-driven entitlements, paywall surfaces, App/Play Store submission.\\n\\n### Units in this phase\\n\\n- [ ] Unit 5.1 \u2014 Per-workout AI insights (free tier)\\n- [ ] Unit 5.2 \u2014 Reports (free + paid)\\n- [ ] Unit 5.3 \u2014 Subscription entitlements + RevenueCat integration\\n- [ ] Unit 5.4 \u2014 Paywall flows + free-to-paid conversion surfaces\\n- [ ] Unit 5.5 \u2014 Beta launch prep\\n\\n(Sub-issues are linked below \u2014 they're the actual trackers; this is the umbrella.)\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-4b13c7d44e5422cf\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-0b5e2dac60725be7", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311902, "scanner": "foundry_dataset", "fingerprint": "c751de8fb62d85cad7e0700ff0d520082d6d97e764303f55fa56533d28ba6106", "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": "ryanssareen/daily-athlete#14", "human_labels": ["human_feedback_general"], "issue_number": "14", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.645, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-2d2770a78fddc66c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#14\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#14\nRepo: ryanssareen/daily-athlete\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-add8906042181a9f\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/14\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/14\\nTitle: [phase 4]: Coach + real-time \u2014 Invitations, plan editor, realtime sync\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\nCoach surface inside the athlete experience. Coach views and edits the athlete's plan; both sides see updates live.\\n\\n### Units in this phase\\n\\n- [ ] Unit 4.1 \u2014 Coach invitation + connection\\n- [ ] Unit 4.2 \u2014 Coach plan editor + comments\\n- [ ] Unit 4.3 \u2014 Real-time sync wiring\\n\\n(Sub-issues are linked below \u2014 they're the actual trackers; this is the umbrella.)\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e2ee7b82c9bf4981\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-e9c5e37f18232516", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311901, "scanner": "foundry_dataset", "fingerprint": "1039f00c07bf93c8ebf885c5898f80f0c774614088c2f2e61adf47a2ef803eca", "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": "ryanssareen/daily-athlete#13", "human_labels": ["human_feedback_general"], "issue_number": "13", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-d57ce688e5951c98", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#13\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#13\nRepo: ryanssareen/daily-athlete\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1b096ddb971cc898\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/13\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/13\\nTitle: [phase 3]: AI plan core \u2014 Eval harness, plan generator, rendering, weekly review\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\nThe wedge: AI-generated periodized plans. **Eval harness ships before the generator.** All four units in this phase together produce the user-visible AI plan.\\n\\n### Units in this phase\\n\\n- [ ] Unit 3.1 \u2014 Eval harness + reference plans\\n- [ ] Unit 3.2 \u2014 AI plan generation pipeline\\n- [ ] Unit 3.3 \u2014 Plan rendering on athlete calendar + workout detail\\n- [ ] Unit 3.4 \u2014 Weekly adaptive review\\n\\n(Sub-issues are linked below \u2014 they're the actual trackers; this is the umbrella.)\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-d3c29c70458645c9\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-15c69dd92ce87aa1", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311900, "scanner": "foundry_dataset", "fingerprint": "18e5eaaeef94fb22e5fb10d1d0e9c54cae36862c19428ee8a9f8c90a0561f30f", "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": "ryanssareen/daily-athlete#12", "human_labels": ["security_auth_secret"], "issue_number": "12", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.662, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-b16a730330b90419", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#12\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#12\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4234e82a46602c16\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/12\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/12\\nTitle: [phase 2]: Athlete + Strava core \u2014 Strava OAuth, ingest, profile, calendar\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\nAthlete-side data ingestion. Connects athletes to Strava, backfills history, derives a profile, ingests new activities, and renders the calendar. Prerequisite for AI plan generation.\\n\\n### Units in this phase\\n\\n- [ ] Unit 2.1 \u2014 Strava OAuth + token storage\\n- [ ] Unit 2.2 \u2014 Strava activity backfill + workout ingest\\n- [ ] Unit 2.3 \u2014 Athlete profile derivation + ongoing recompute\\n- [ ] Unit 2.4 \u2014 Strava webhook + workout completion + dedup\\n- [ ] Unit 2.5 \u2014 Athlete calendar (read + drag-to-move)\\n\\n(Sub-issues are linked below \u2014 they're the actual trackers; this is the umbrella.)\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-9794250ac376e6c3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-208772565c34b86d", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311899, "scanner": "foundry_dataset", "fingerprint": "c77ac867d3f401079c765f116158953b4b65ac2e8d0703b3432033a85d67b946", "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": "ryanssareen/daily-athlete#11", "human_labels": ["security_auth_secret"], "issue_number": "11", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.662, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-bbb23bb601951a28", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#11\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#11\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8b17c4a7750dc862\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/11\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/11\\nTitle: [phase 1]: Foundations \u2014 Repo, auth, hosting, mobile + web shells\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\nFoundation layer. The stack pivot (#1, #2, #3) covered the TS/Vercel/Supabase parts of this phase. These remaining units still need work to reach Phase-1 completion as defined in the product plan.\\n\\n### Units in this phase\\n\\n- [ ] Unit 1.1 \u2014 Monorepo + tooling skeleton\\n- [ ] Unit 1.2 \u2014 Supabase + auth + base data model\\n- [ ] Unit 1.3 \u2014 Mobile shell + navigation + design tokens\\n- [ ] Unit 1.4 \u2014 Coach web shell\\n- [ ] Unit 1.5 \u2014 Hosting, observability, secrets\\n\\n(Sub-issues are linked below \u2014 they're the actual trackers; this is the umbrella.)\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-d449abfdb464dc9b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-35d1d355f0e57498", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311898, "scanner": "foundry_dataset", "fingerprint": "ed048b486050e26ba941e9166531b8859c801521ab5c411b7a13f50fae1603d6", "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": "ryanssareen/daily-athlete#10", "human_labels": ["human_feedback_general"], "issue_number": "10", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-58865209afe45da3", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#10\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#10\nRepo: ryanssareen/daily-athlete\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1b4d2d1a1117070e\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/10\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/10\\nTitle: [meta]: Product roadmap \u2014 phases 1\u20135 (athlete + coach + AI)\\nBody:\\nTracking issue for the **end-to-end product roadmap** (athlete app + coach app + AI plan generation).\\n\\nThis is the long-horizon counterpart to #9 (which tracks only the stack pivot). All Phase-X parents below are sub-issues of this one; each phase parent fans out to its concrete implementation units.\\n\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Status by phase** (unchecked = open):\\n\\n- [ ] Phase 1 \u2014 Foundations *(stack pivot covers most of this; see #9)*\\n- [ ] Phase 2 \u2014 Athlete + Strava core\\n- [ ] Phase 3 \u2014 AI plan core\\n- [ ] Phase 4 \u2014 Coach + real-time\\n- [ ] Phase 5 \u2014 Insights, reports, monetization, launch\\n\\nThe product wedge is **Phase 3** \u2014 AI-generated periodized plans validated by an eval harness. The phases before it exist to enable it; the phases after i\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-668dc49ff5fddead\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_use\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-bfc0c6ca72a8700c", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 311897, "scanner": "foundry_dataset", "fingerprint": "4ee02b209d3537db9ba2a1c6aaee4e493c6784f8667726e972e266f7c44e8cc0", "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": "ryanssareen/daily-athlete#1", "human_labels": ["security_auth_secret"], "issue_number": "1", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.662, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-863640f9e7286591", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#1\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#1\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-da79b89848fab348\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/1\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/1\\nTitle: [unit 0]: Preflight verification of external assumptions\\nBody:\\n**Plan doc:** `docs/plans/2026-05-03-001-refactor-stack-pivot-typescript-vercel-plan.md` (line 325)\\n\\n**Goal:** Confirm three external-dependency facts the rest of the plan rests on. If any answer comes back wrong, surface it before writing code, not after.\\n\\n**Requirements:** prerequisite for R3, R5\u2013R7, R10\u2013R11, all of Phase A.\\n\\n**Status:** \u2705 Done.\\n\\n**What was verified:**\\n- \u2705 `pg_cron` extension available on Supabase free tier (project `gukhwozgnunbqzllobbd`).\\n- \u2705 JWT signing scheme on freshly-created Supabase project: **ES256** (asymmetric, JWKS at `/auth/v1/.well-known/jwks.json`). Plan revised to use `createRemoteJWKSet` instead of single shared HS256 secret.\\n- \u2705 Vercel Hobby tier function timeout: 300s (sufficient for waitUntil + cron endpoints).\\n- \u2705 PostgREST JWT propagation: anon key + Authorization header \u2192 `auth.uid()` is set automatically. Replaced original `SET LOCAL` design (caught fatal in document review).\\n\\n**Outcome:\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-da267e77d8adf34c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_so\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-assumption_checks-966f10c0ddf1f185", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340847, "scanner": "foundry_dataset", "fingerprint": "4dcace9e13c5da152cb5a3ec26e7ae26f862d63aea6b1ca312a7bda4bf3f0541", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "runtime_failure": 1, "deployment_env_gap": 1, "agent_instruction_gap": 1, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 6, "human_reported_issue_then_verified_fix_attempt": 4}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 12}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 44, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 7, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 14, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 25, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#93", "issue_number": "93", "quality_tiers": {"high_confidence": 6, "assumption_check": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d42dfc99811595f7", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#93\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#93\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#93\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 93\nGraph consistency label: supported_by_verification_signal\nNodes: 25\nEdges: 44\nNode types: {'link_quality': 7, 'comment': 4, 'comment_chain': 4, 'commit': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 14, 'chain_has_link_quality': 7, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_with_verification_signal': 6, 'human_reported_issue_then_verified_fix_attempt': 4, 'bug_fix': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'runtime_failure': 1, 'deployment_env_gap': 1, 'test_ci_gap': 1, 'agent_instruction_gap': 1, 'verification_or_tests': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 12}\nQuality tiers: {'high_confidence': 6, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-95f76ea3ac40e0e9", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340846, "scanner": "foundry_dataset", "fingerprint": "9d8b36a499d45a3674071a34a59890f278dead520a27bcc7c123eb8e26209308", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 20, "data_schema": 1, "test_ci_gap": 1, "api_or_backend": 1, "docs_or_claims": 4, "schema_or_data": 1, "ui_or_frontend": 26, "source_or_other": 3, "deployment_env_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 119, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 55, "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": 8, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 75, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 55, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#90", "issue_number": "90", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b6cc8d05961ae2b7", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 100, "api_or_backend": 5, "docs_or_claims": 20, "schema_or_data": 5, "ui_or_frontend": 130, "source_or_other": 15}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#90\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#90\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#90\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 90\nGraph consistency label: supported_by_verification_signal\nNodes: 75\nEdges: 119\nNode types: {'pr_file': 55, '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': 55, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 8, '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': 26, 'test_or_ci': 20, 'docs_or_claims': 4, 'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 4, 'source_or_other': 3, 'human_reported_issue_then_verified_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'api_or_backend': 1, 'schema_or_data': 1, 'data_schema': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-78e305333a9a1b3c", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340845, "scanner": "foundry_dataset", "fingerprint": "349998367ba540103e303d28b1649273d6215c1b84f4dc575241b5acf2bb567d", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#9", "issue_number": "9", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-fa4762dc07195440", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#9\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#9\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#9\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 9\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-dd548b3edd4ad2de", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340844, "scanner": "foundry_dataset", "fingerprint": "27b47adcfd75678ae71f3d87f8d112b53af0ebe3a231d463a8106d499c5c1f1c", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "runtime_failure": 1, "dependency_or_build": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 21, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#89", "issue_number": "89", "quality_tiers": {"high_confidence": 4, "assumption_check": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-12ca09e4d31ed37f", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#89\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#89\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#89\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 89\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 30\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 4, 'human_reported_issue_then_verified_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'runtime_failure': 1, 'test_ci_gap': 1, 'bug_fix': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-15f11988c0dab18d", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340843, "scanner": "foundry_dataset", "fingerprint": "4faff7c0d2034754ed972a6ae990715cf43e8c8fe3d87971e726ea3678f5d106", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_or_ci": 33, "test_ci_gap": 1, "api_or_backend": 7, "docs_or_claims": 2, "schema_or_data": 2, "ui_or_frontend": 49, "source_or_other": 3, "deployment_env_gap": 1, "dependency_or_build": 4, "generated_provenance": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 164, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 100, "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": 8, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 120, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 100, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#86", "issue_number": "86", "quality_tiers": {"high_confidence": 4, "assumption_check": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c9496190851fbed0", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 165, "api_or_backend": 35, "docs_or_claims": 10, "schema_or_data": 10, "ui_or_frontend": 245, "source_or_other": 15, "dependency_or_build": 20}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#86\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#86\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#86\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 86\nGraph consistency label: supported_by_verification_signal\nNodes: 120\nEdges: 164\nNode types: {'pr_file': 100, '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': 100, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 8, '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': 49, 'test_or_ci': 33, 'api_or_backend': 7, 'dependency_or_build': 4, 'claimed_resolved_with_verification_signal': 4, 'source_or_other': 3, 'verification_or_tests': 3, 'docs_or_claims': 2, 'schema_or_data': 2, 'human_reported_issue_then_verified_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'bug_fix': 1, 'generated_provenance': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-6628903a89497566", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340842, "scanner": "foundry_dataset", "fingerprint": "c05e7689f7f3ffc99517b856be2e499eb36e3f04a66e91acf165c08eb61d7c40", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_or_ci": 16, "test_ci_gap": 1, "api_or_backend": 9, "docs_or_claims": 2, "schema_or_data": 3, "ui_or_frontend": 20, "source_or_other": 2, "deployment_env_gap": 1, "dependency_or_build": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 115, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 53, "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": 6, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 73, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 53, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#84", "issue_number": "84", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-aaacf7f817ef04e8", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 80, "api_or_backend": 45, "docs_or_claims": 10, "schema_or_data": 15, "ui_or_frontend": 100, "source_or_other": 10, "dependency_or_build": 5}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#84\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#84\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#84\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 84\nGraph consistency label: supported_by_verification_signal\nNodes: 73\nEdges: 115\nNode types: {'pr_file': 53, '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': 53, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 6, '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': 20, 'test_or_ci': 16, 'api_or_backend': 9, 'verification_or_tests': 4, 'schema_or_data': 3, 'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'docs_or_claims': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'dependency_or_build': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'comment_has_related_commit_context': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-30b45b00ae3d582a", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340841, "scanner": "foundry_dataset", "fingerprint": "1930b52ed0bc3c00d01295f07cb90e944f53b1a69f64fa68a9ebcf34d94e8f71", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 6, "test_ci_gap": 1, "api_or_backend": 7, "docs_or_claims": 2, "schema_or_data": 1, "ui_or_frontend": 17, "source_or_other": 65, "security_or_auth": 2, "deployment_env_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 162, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 100, "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": 6, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 120, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 100, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#73", "issue_number": "73", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-3ca26e138f33fc00", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 30, "api_or_backend": 35, "docs_or_claims": 10, "schema_or_data": 5, "ui_or_frontend": 85, "source_or_other": 325, "security_or_auth": 10}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#73\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#73\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#73\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 73\nGraph consistency label: supported_by_high_confidence_link\nNodes: 120\nEdges: 162\nNode types: {'pr_file': 100, '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': 100, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 6, '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: {'source_or_other': 65, 'ui_or_frontend': 17, 'api_or_backend': 7, 'test_or_ci': 6, 'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'docs_or_claims': 2, 'security_or_auth': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'schema_or_data': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-c72c2ac045141a20", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340840, "scanner": "foundry_dataset", "fingerprint": "7bdde528d754380d6db588d365cef2e726d9f655424b66cf2298aee1ba167d44", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_or_ci": 3, "test_ci_gap": 1, "api_or_backend": 5, "commit_general": 1, "ui_or_frontend": 5, "source_or_other": 1, "deployment_env_gap": 2, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 97, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 14, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "comment_chain_touches_file": 36, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 39, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 3, "pr_file": 14, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#69", "issue_number": "69", "quality_tiers": {"assumption_check": 1, "weak_supervision": 5}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-9934e6c8d0c35a03", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 18, "api_or_backend": 30, "ui_or_frontend": 30, "source_or_other": 6}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#69\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#69\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#69\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 69\nGraph consistency label: supported_by_verification_signal\nNodes: 39\nEdges: 97\nNode types: {'pr_file': 14, 'commit': 7, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 36, 'thread_touches_file': 14, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 10, 'chain_has_link_quality': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 5, 'api_or_backend': 5, 'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 4, 'test_or_ci': 3, 'deployment_env_gap': 2, 'comment_has_related_commit_context': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'source_or_other': 1, 'commit_general': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'blueprint_human_gap_disagreement': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 5, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-abe6984453f15315", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340839, "scanner": "foundry_dataset", "fingerprint": "bcb7021c64bb12e24b1596c5c9096f8dd79b6b1cf6a4cea1fc5098d7c8c9d1a4", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 3, "test_ci_gap": 1, "docs_or_claims": 1, "schema_or_data": 1, "ui_or_frontend": 3, "deployment_env_gap": 1, "dependency_or_build": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 61, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 9, "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": 9, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 18, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 29, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 9, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#64", "issue_number": "64", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-2443cbc5fbb1e713", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 15, "docs_or_claims": 5, "schema_or_data": 5, "ui_or_frontend": 15, "dependency_or_build": 5}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#64\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#64\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#64\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 64\nGraph consistency label: weak_supervision_needs_review\nNodes: 29\nEdges: 61\nNode types: {'pr_file': 9, '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': 18, 'thread_touches_file': 9, 'issue_chain_touches_file': 9, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'test_or_ci': 3, 'ui_or_frontend': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'dependency_or_build': 1, 'docs_or_claims': 1, 'schema_or_data': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-a855782a5f8d8c2f", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340838, "scanner": "foundry_dataset", "fingerprint": "ab8ef904d787f232d8fff8e098614aa325d1d63fd32f925942dae5641071308d", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 2, "verification_or_tests": 6, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 23, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#6", "issue_number": "6", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b5ffa2ee462e303b", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#6\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#6\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#6\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 6\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 34\nNode types: {'commit': 6, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 6, 'ambiguous_needs_more_evidence': 4, 'test_ci_gap': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-da7220b3a1b53a85", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340837, "scanner": "foundry_dataset", "fingerprint": "e68cc67f651cead0b0a11cb5cfac8606e4eb3a19e8b86cbec3f0bdb517c5a9b3", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 5, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 3, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 10}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 36, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#57", "issue_number": "57", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 2}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-fddd40bc742a80ab", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#57\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#57\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#57\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 57\nGraph consistency label: supported_by_high_confidence_link\nNodes: 25\nEdges: 36\nNode types: {'link_quality': 7, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 7, 'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-94bb3aabfe698614", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340836, "scanner": "foundry_dataset", "fingerprint": "3791b1078fc680b224e570b9e9650d3b11f31a24055fa19e2dbeef64a02a9a34", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#56", "issue_number": "56", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-abbda6ce1bcaf4d4", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#56\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#56\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#56\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 56\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-ebd12824cdb555cd", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340835, "scanner": "foundry_dataset", "fingerprint": "b2db1a134db44857e6d4985c2f22f9d5d0c0bfc8ca899e30f7237f17e2f48c71", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#54", "issue_number": "54", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c8f91576cb5222c3", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#54\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#54\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#54\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 54\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 34\nNode types: {'link_quality': 7, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-ff4c546af264a8ab", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340834, "scanner": "foundry_dataset", "fingerprint": "ccd7303b2ac3ed7fbdcf6cb36393d590e325c9091357836351f6077ea15bd0da", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#53", "issue_number": "53", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e7d53030a565381d", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#53\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#53\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#53\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 53\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-8ed63d8b9843400b", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340833, "scanner": "foundry_dataset", "fingerprint": "b22eaa7e4cd57f8d83c6b7b04a9dd7cb02001e03066dc6cb3741a04c6ccb05d4", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#52", "issue_number": "52", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-24e2b9f25f44c3c8", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#52\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#52\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#52\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 52\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-f3fbeb8404f69a33", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340832, "scanner": "foundry_dataset", "fingerprint": "c2cebd7315cf7a616a50dc880bdf3348976cfe9a486215d55742d8d68474c567", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#51", "issue_number": "51", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-458e9afce2baddc9", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#51\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#51\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#51\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 51\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-b4da2037e8115178", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340831, "scanner": "foundry_dataset", "fingerprint": "6804093e5bdd3324f395fa2620beed8e80501a7fe53002d25125c0b1e0f9a3fb", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#50", "issue_number": "50", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-51a47bb8c419c740", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#50\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#50\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#50\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 50\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 34\nNode types: {'link_quality': 7, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-dc48e5b6f97e7ac9", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340830, "scanner": "foundry_dataset", "fingerprint": "ee97d0ec96ff0043683a138acfdbe03d2da323310c20386aee1427a1602af464", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#49", "issue_number": "49", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-0982c7ec7ef2eac2", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#49\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#49\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#49\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 49\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-b4e46365cd92aed5", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340829, "scanner": "foundry_dataset", "fingerprint": "88b744392781c0bb4eea7b2b60a40885f10884c58f94d3c277363589b3fbd4b3", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#48", "issue_number": "48", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-11b4e6f92e618f6f", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#48\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#48\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#48\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 48\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-56df8efb9508c0a1", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340828, "scanner": "foundry_dataset", "fingerprint": "f300251701f281d8b630a8d0ccaa7531f6df91c0d9abe99a5e449cbc2ffa765c", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#47", "issue_number": "47", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-0070bd2896575899", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#47\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#47\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#47\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 47\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-35209a038014db89", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340827, "scanner": "foundry_dataset", "fingerprint": "e393f85df5685cdf3b611952561bfcbe720d29e73902597c43377b6573a15fb6", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#46", "issue_number": "46", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d041781ac48b3b81", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#46\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#46\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#46\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 46\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 29\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-5c189912123c60b3", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340826, "scanner": "foundry_dataset", "fingerprint": "47d7c31139fb9d210eaec447c3f6a692ae5ae716927bc3534efc9b9c8a7194f6", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 2, "verification_or_tests": 8, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 25, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#43", "issue_number": "43", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-793c3d1e86b7c9c8", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#43\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#43\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#43\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 43\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 34\nNode types: {'commit': 8, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 8, 'ambiguous_needs_more_evidence': 4, 'test_ci_gap': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-1c0124bab01237c9", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340825, "scanner": "foundry_dataset", "fingerprint": "3530f252949c4a9c1f8b1af45dc2159353288a4e2b95a1de93af14bf226427b8", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 2, "verification_or_tests": 8, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 25, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#42", "issue_number": "42", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f764ea56b9bd86ae", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#42\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#42\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#42\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 42\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 34\nNode types: {'commit': 8, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 8, 'ambiguous_needs_more_evidence': 4, 'test_ci_gap': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-f3bfe5916ede6ac6", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340824, "scanner": "foundry_dataset", "fingerprint": "b9dc6e672cf39892efab6b57b05b98f7e779a128b1fd183bd4951a4243c13cdb", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#41", "issue_number": "41", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-a9f0f567447ae06b", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#41\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#41\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#41\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 41\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 34\nNode types: {'link_quality': 7, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-600ddc659bb7bdc6", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340823, "scanner": "foundry_dataset", "fingerprint": "b1021ba4b3388f39b21bb7ab6682f0427713d52a77f1508c48ea97f1bdaa7dae", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#40", "issue_number": "40", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-015b66e781d16fe3", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#40\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#40\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#40\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 40\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, '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- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-209ce0af6bea9203", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340822, "scanner": "foundry_dataset", "fingerprint": "b8b9893cbd3299f528a2989fea24d1560c108a137a81fd0592b50c6365423fe0", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "data_schema": 3, "test_ci_gap": 1, "mock_placeholder": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_unverified": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 25, "node_types": {"repo": 1, "commit": 10, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#4", "issue_number": "4", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-28d2077a947c881a", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#4\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#4\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#4\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 4\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 30\nNode types: {'commit': 10, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'data_schema': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'mock_placeholder': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-716844ac6756435c", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 340821, "scanner": "foundry_dataset", "fingerprint": "1d37d01200695240040a24e961c7614e790f1996e4ea2ae09328a6f0b8b7c2f1", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#3", "issue_number": "3", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-26c423e506861baf", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#3\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#3\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#3\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 3\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-251e3a7b8342916b", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 330909, "scanner": "foundry_dataset", "fingerprint": "3522b84300da78c64f4d460eefcdc2a443d44cc94f8d2c44af45d4db14b5bd46", "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, "security_or_secrets": 2, "security_auth_secret": 1, "verification_or_tests": 3, "data_schema_persistence": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 27, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 21, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#85", "issue_number": "85", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-1eeb7560ddd44bf1", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#85\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#85\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#85\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 85\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 27\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 7, '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: {'claimed_resolved_unverified': 3, 'verification_or_tests': 3, 'security_or_secrets': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-d84f5e0b8715a277", "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": "ryanssareen/daily-athlete", "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: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 330908, "scanner": "foundry_dataset", "fingerprint": "8ef6342d3002f63edf18eceec5a040afcd9409586643708b5d4745fe12f336f8", "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": {"deployment_env_gap": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#8", "issue_number": "8", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-e38bbec287a8b4b1", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#8\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#8\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#8\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 8\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 6, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-490ee6c2460c582c", "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": "ryanssareen/daily-athlete", "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: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 330907, "scanner": "foundry_dataset", "fingerprint": "cf05bf1aa0b9ce93392e827d602011b3eb22a0f1544a9c39402380cd872f0c7b", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 2, "test_or_ci": 2, "api_or_backend": 2, "docs_or_claims": 1, "schema_or_data": 1, "ui_or_frontend": 2, "source_or_other": 2, "ci_success_signal": 1, "dependency_or_build": 1, "security_or_secrets": 2, "security_auth_secret": 1, "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": {"ci_success_signal": 2}, "synthetic": false, "edge_count": 66, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 10, "comment_chain_has_ci": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 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": 31, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 10, "alignment": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#67", "issue_number": "67", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-84bc98160bf04e97", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 10, "docs_or_claims": 5, "schema_or_data": 5, "ui_or_frontend": 10, "source_or_other": 10}}, "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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#67\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#67\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#67\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 67\nGraph consistency label: supported_by_verification_signal\nNodes: 31\nEdges: 66\nNode types: {'pr_file': 10, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 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, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'ui_or_frontend': 2, 'test_or_ci': 2, 'api_or_backend': 2, 'security_or_secrets': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'docs_or_claims': 1, 'schema_or_data': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1, 'ci_success_signal': 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: {'ci_success_signal': 2}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-4a8dac50aa0f156f", "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": "ryanssareen/daily-athlete", "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: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 330906, "scanner": "foundry_dataset", "fingerprint": "33ad907f41bd5ceb71053f683e1a5a9864bbcc93352930b39fe3596dae57e3da", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#5", "issue_number": "5", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-3fa20c4f12cc47a8", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#5\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: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#5\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#5\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 5\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-021052251620954a", "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": "ryanssareen/daily-athlete", "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: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 330905, "scanner": "foundry_dataset", "fingerprint": "93716a1359413ed4bb5e86f09886bf4461436295d1cf4f16522dff56db44293d", "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": {"mock_placeholder": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 1, "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": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#20", "issue_number": "20", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-9d1bec1a0b638eea", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#20\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#20\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#20\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 20\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'link_quality': 5, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'ambiguous_needs_more_evidence': 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/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-0d2ee3ac462764f9", "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": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322487, "scanner": "foundry_dataset", "fingerprint": "86a024a2c57d96b96c5c464053734a1e58abb38a8463c4d963782c6bdae5188b", "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": "ryanssareen/daily-athlete#82", "human_labels": ["positive_human_signal", "ui_workflow_gap"], "issue_number": "82", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-14c03d4069fabad7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#82\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#82\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 1, 'positive_human_signal': 1}\nPolarities: {'bad': 1, 'good': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f43b901555a72214\",\n    \"kind\": \"issue_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/82\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/82\\nTitle: Create workout: form should start empty (no prefilled data)\\nBody:\\nThe create-workout form starts with prefilled default values. It should start **empty** so the user enters their own data. Remove default values from the form controllers / initial state on the create-workout screen.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-467710f9ad73c94b\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"positive_human_signal\",\n    \"polarity\": \"good\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/82#issuecomment-4499976654\",\n    \"text\": \"GitHub feedback: positive_human_signal\\nPolarity: good\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/82#issuecomment-4499976654\\nTitle: \\nBody:\\nFixed in 1f92c23: assign_workout_sheet no longer prefills \u2014 sport is nullable with a 'Select a sport' hint and duration is an empty numeric field; submit validates both.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-9f3a351b0ca3484e\", \"evidence-chain-comment_to_commit-24e8f11a5760475b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"sour\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-324f0a1a70065300", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322486, "scanner": "foundry_dataset", "fingerprint": "4b665e7a35feb9a87165023b8c0277cf5edaa573bb288de86db6ead099863b80", "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": "ryanssareen/daily-athlete#81", "human_labels": ["ui_workflow_gap"], "issue_number": "81", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.627, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-9958c20ee3a47759", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#81\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\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#81\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 2\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-29ca56b1bd223dc1\",\n    \"kind\": \"issue_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/81\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/81\\nTitle: Create workout: clicking Create loops forever, nothing uploads\\nBody:\\nOn the create-workout page, tapping **Create** enters an infinite loop and no workout is uploaded.\\n\\nInvestigate the submit handler / Riverpod provider for a re-trigger loop or an unawaited/again-rebuilding state update. Identify the correct screen (planned-workout creation vs the manual log sheet) and fix so submit does a single upload and closes/navigates on success.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-516e7a38804cba9e\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/81#issuecomment-4499975828\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/81#issuecomment-4499975828\\nTitle: \\nBody:\\nFixed in 1f92c23: root cause was no single-flight guard on submit (taps re-fired POSTs) plus the realtime _refetch flipping the calendar to AsyncLoading on every event. Added an 'if (_loading) return;' guard, disabled-button-while-loading, a mounted check, and a _refetching guard using copyWithPrevious \u2014 Create now uploads once and pops.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-a9397d554bbff73d\", \"evidence-chain-comment_to_commit-696f0e1eaa2cd150\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_clai\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-6f6a23d570f3e2cf", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322485, "scanner": "foundry_dataset", "fingerprint": "54690364f3b74f072d29fb1c74e2a24cb2178593ade7ddb0df45abdf2d50dbd5", "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": "ryanssareen/daily-athlete#62", "human_labels": ["api_integration_gap", "api_or_backend", "dependency_or_build", "deployment_env_gap", "mock_placeholder", "security_or_auth", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "62", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-4931b5541e97292f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 34, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 7, "api_or_backend": 4, "ui_or_frontend": 15, "source_or_other": 2, "security_or_auth": 1, "dependency_or_build": 5}, "linked_commit_count": 7, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#62\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#62\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 7\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 34\nLabels: {'mock_placeholder': 1, 'deployment_env_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {'source_or_other': 2, 'ui_or_frontend': 15, 'dependency_or_build': 5, 'test_or_ci': 7, 'api_or_backend': 4, 'security_or_auth': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d650eb6fce5eb4a7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/62\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/62\\nTitle: feat(web,mobile): Strava OAuth + StravaClient + connect route -- Phase B (Units B1-B3)\\nBody:\\n## Summary\\n\\nLands product plan Unit 2.1 of the [Strava integration plan](docs/plans/2026-05-13-003-feat-strava-integration-plan.md): mobile-initiated OAuth via `expo-auth-session` (PKCE end-to-end), server-side code-for-token exchange, per-user `StravaClient` with refresh-on-401 + atomic token rotation, and a re-connect collision policy that rejects shared accounts with HTTP 409.\\n\\n- **Unit B1**: Per-user `StravaClient` \u2014 service-role token load, body-inspection on 401 (rate-limit vs auth-expired), atomic refresh persistence, retry-re-reads-from-DB on concurrent-refresh collisions. Typed errors: `StravaReauthRequired`, `StravaRateLimited`, `StravaKeyRotationError`.\\n- **Unit B2**: `POST /api/integrations/strava/connect` \u2014 JWT-bound auth, timing-safe state-nonce validation (CSRF, before Strava exchange), HTTP 409 on shared-account collision, isolated Inngest enqueue failure, structured-no-secrets logg\"\n  },\n  {\n    \"id\": \"github-feedback-comment-fd35f1911350e643\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/62#issuecomment-4450122005\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/62#issuecomment-4450122005\\nTitle: \\nBody:\\n[vc]: #oQFVWeApGNBuBmgcUhwr9L\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-245d83dfa9c6bc1e", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322484, "scanner": "foundry_dataset", "fingerprint": "03ba8ee45256bbb7277fe04f0d6affaa982bbb0c2e16b90a6d1c0ce39dcfcfd1", "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": "ryanssareen/daily-athlete#60", "human_labels": ["deployment_env_gap", "mock_placeholder"], "issue_number": "60", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-7de97e3b96c1a3bc", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#60\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#60\nRepo: ryanssareen/daily-athlete\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: 0\nLabels: {'mock_placeholder': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b3b8f9b5b4d7129b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/60\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/60\\nTitle: brainstorm: Strava B1 (StravaClient) requirements + review residuals\\nBody:\\n## Summary\\n\\nBrainstorm doc for **Unit B1** (StravaClient \u2014 refresh-on-401 + rate-limit awareness) of the Strava integration plan. Sits on top of the existing detailed plan section ([docs/plans/2026-05-13-003-feat-strava-integration-plan.md:418](docs/plans/2026-05-13-003-feat-strava-integration-plan.md#L418)) and tightens product behavior + resolves several review residuals before implementation.\\n\\nRefs #21.\\n\\n## What this changes\\n\\nResolves the A2 follow-up on test mocking (Vitest built-in + hand-rolled `Response` fixtures, with a deferred-promise harness for the parallel race test).\\n\\nAddresses high-confidence findings from coherence / feasibility / security / adversarial document review:\\n\\n| Risk surfaced | New requirement |\\n|---|---|\\n| Strava rotates, DB write fails \u2192 permanent lockout | R5 persist-before-retry; `StravaTokenPersistFailed` typed error |\\n| Factory takes admin client + arbitrary `userId` with no authz | \"\n  },\n  {\n    \"id\": \"github-feedback-comment-b32f50d1de96afe9\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/60#issuecomment-4447157460\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/60#issuecomment-4447157460\\nTitle: \\nBody:\\n[vc]: #4WYQOho123RtqQq0uyejFgYcERrqH6G5no1DNVJi8hw=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJkYTIiLCJwcm9qZWN0SWQiOiJwcmpfZDUzNnRSWkE3cVNGUnR1bX\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-b6bc0596ed894d07", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322483, "scanner": "foundry_dataset", "fingerprint": "051e714ede698066de3104b8ec8244173cddb901b37d4caeb84c2a01beecf1d9", "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": "ryanssareen/daily-athlete#54", "human_labels": ["api_integration_gap", "deployment_env_gap", "test_ci_gap"], "issue_number": "54", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-05c522609c313705", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#54\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: ryanssareen/daily-athlete#54\nRepo: ryanssareen/daily-athlete\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: 0\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-31e94dc0396b0a60\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/54\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/54\\nTitle: feat(schema): completed_workouts + workout_matches tables (Unit 6 plan + Unit 1)\\nBody:\\nParent schema plan **Unit 6** \u2014 \\\\`completed_workouts\\\\` + \\\\`workout_matches\\\\` schema (R14\u2013R22). This PR contains the plan + Unit 1 of three (migration + realtime publication). Units 2 (Zod) and 3 (DB tests) ship in follow-up PRs.\\n\\n## What lands\\n\\n\\\\`supabase/migrations/0008_completed_workouts_and_matches.sql\\\\`:\\n\\n| Surface | Detail |\\n|---|---|\\n| \\\\`public.completed_workouts\\\\` | id, athlete_id, source (CHECK strava/manual), strava_activity_id (BIGINT, nullable), started_at, sport (CHECK 6-value), distance_m, duration_s, summary_stats JSONB (permissive), superseded_by_id (self-FK SET NULL for R21 merge), created_at, deleted_at |\\n| Partial unique \\\\`completed_workouts_strava_idempotency\\\\` | \\\\`(athlete_id, strava_activity_id) WHERE strava_activity_id IS NOT NULL\\\\` \u2014 R15 |\\n| Partial composite \\\\`completed_workouts_athlete_started\\\\` | \\\\`(athlete_id, started_at DESC) WHERE deleted_at IS NULL\\\\` \u2014 trend queries |\\n| \\\\`public.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-2a5b6535564a3d44\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/54#issuecomment-4439382853\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/54#issuecomment-4439382853\\nTitle: \\nBody:\\nSomeone is attempting to deploy this pull request to the **Nectar** Team on [Vercel](https://vercel.com).\\n\\n**No GitHub account was found matchi\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-a0019a11d9dd348b", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322482, "scanner": "foundry_dataset", "fingerprint": "7bb758aba1e5370fcd71c09e0e2d005db092d8d2c335e83311f30005984ca7ed", "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": "ryanssareen/daily-athlete#50", "human_labels": ["api_integration_gap", "deployment_env_gap", "test_ci_gap"], "issue_number": "50", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-8a7c312adaafc023", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#50\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: ryanssareen/daily-athlete#50\nRepo: ryanssareen/daily-athlete\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: 0\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-e50e84c3fff28ab7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/50\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/50\\nTitle: feat(schema): plans + planned_workouts tables (Unit 1 of parent Unit 5)\\nBody:\\nUnit 1 of [docs/plans/2026-05-13-001-feat-plans-planned-workouts-schema-plan.md](docs/plans/2026-05-13-001-feat-plans-planned-workouts-schema-plan.md). Advances R7\u2013R10 from the schema brainstorm.\\n\\n## What lands\\n\\n\\\\`supabase/migrations/0007_plans_and_planned_workouts.sql\\\\`:\\n\\n| Surface | Detail |\\n|---|---|\\n| \\\\`public.plans\\\\` | id, athlete_id, status (CHECK active/archived), event_type, event_date, source (CHECK ai_generated/coach_assigned/imported), \\\\`created_from_review_id\\\\` (plain UUID, no FK \u2014 deferred), created_at, archived_at, deleted_at |\\n| Partial unique index \\\\`plans_one_active_per_athlete\\\\` | \\\\`(athlete_id) WHERE status = 'active' AND deleted_at IS NULL\\\\` \u2014 enforces R7 with soft-delete awareness |\\n| Partial \\\\`plans_athlete_lookup\\\\` | \\\\`(athlete_id) WHERE deleted_at IS NULL\\\\` \u2014 supports listing all of an athlete's plans |\\n| \\\\`public.planned_workouts\\\\` | id, athlete_id, plan_id (NULL allowed = R8), scheduled_date,\"\n  },\n  {\n    \"id\": \"github-feedback-comment-43103cfd8364fcc7\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/50#issuecomment-4437071503\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/50#issuecomment-4437071503\\nTitle: \\nBody:\\nSomeone is attempting to deploy this pull request to the **Nectar** Team on [Vercel](https://vercel.com).\\n\\n**No GitHub account was found matchin\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-b3328c1291aaf498", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322481, "scanner": "foundry_dataset", "fingerprint": "d69a6cc0e25790b9aec627ee8dfe0165e2c7ff217a306000d91fbde9cb23913b", "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": "ryanssareen/daily-athlete#45", "human_labels": ["mock_placeholder"], "issue_number": "45", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-4828daa25278f044", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#45\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: ryanssareen/daily-athlete#45\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-73a679b48d47df98\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/45\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/45\\nTitle: Unit 1 review residuals: harness hardening + manual handoff items (from PR #44)\\nBody:\\nTracking the residual actionable findings from the ce:review on [PR #44](https://github.com/ryanssareen/daily-athlete/pull/44) (run artifact: `.context/compound-engineering/ce-review/20260512-200730-65a83b0a/`). All `safe_auto` fixes and the P1 gated_auto guard landed in PR #44 itself. The items below were routed as `manual \u2192 downstream-resolver` \u2014 concrete, actionable, but each warrants its own change rather than being bundled into the Unit 1 PR.\\n\\n## Ordering\\n\\nItems (1)\u2013(3) are dev-loop quality; can land any time. Items (4)\u2013(6) gate other work and should land before the unit they gate.\\n\\n## (1) `Database` type parameter on `SupabaseClient<Database>`\\n\\nFinding: kieran-typescript KT-001 (P2, confidence 0.90)\\n\\n`SupabaseClient` defaults `Database = any`, so every `.from().select(...)` in tests passes type-check regardless of column-name typos or schema drift. Same gap will appear in route handlers when product plan\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-4311183f67341f61\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-5bdd69cd2a616ebb", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322480, "scanner": "foundry_dataset", "fingerprint": "2eda036554ede7d267ef24eb644e6e3bacc0bb9767522fb0e50f9ed4543ec07a", "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": "ryanssareen/daily-athlete#44", "human_labels": ["api_integration_gap", "deployment_env_gap", "runtime_failure"], "issue_number": "44", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-d638876832eeb32a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#44\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: ryanssareen/daily-athlete#44\nRepo: ryanssareen/daily-athlete\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: 0\nLabels: {'runtime_failure': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ede6d55f0f7f4962\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/44\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/44\\nTitle: plan + Unit 1: schema foundation backfill (vitest + DB harness)\\nBody:\\nImplementation plan for [#43](https://github.com/ryanssareen/daily-athlete/issues/43) + Unit 1 implementation.\\n\\n## Commits\\n\\n| Commit | Scope |\\n|---|---|\\n| `9bcc995` | Plan document |\\n| `365dc4b` | **Unit 1**: vitest + DB test bootstrap (`apps/web`) + CI test job + drive-by pnpm/action-setup fix |\\n\\nUnits 2\u20135 ship in follow-up PRs.\\n\\n## Unit 1 \u2014 what landed\\n\\n**Test harness in `apps/web`**\\n\\n- `apps/web/vitest.config.ts` \u2014 Node environment, pool forks, files run serially (DB-backed tests share the local Supabase instance).\\n- `apps/web/src/db/__tests__/setup.ts` \u2014 service-role admin client, `createTestUser()` that mints an `auth.users` row and signs in to return a JWT-bound supabase-js client, plus a global `afterEach` that hard-deletes tracked users.\\n- `apps/web/src/db/__tests__/smoke.test.ts` \u2014 5 scenarios: service-role reachability, `public.users` auto-mirror via the `handle_new_auth_user` trigger, RLS positive (own row visi\"\n  },\n  {\n    \"id\": \"github-feedback-comment-8d463ac8a289f746\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/44#issuecomment-4431352273\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/44#issuecomment-4431352273\\nTitle: \\nBody:\\nSomeone is attempting to deploy this pull request to the **Nectar** Team on [Vercel](https://vercel.com).\\n\\n**No GitHub account was found matching\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-030ef3275d089abc", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322479, "scanner": "foundry_dataset", "fingerprint": "5a9dc7f9eef1a9e11b2a4319f03b462415125bca7c51835c9137579e78ce9632", "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": "ryanssareen/daily-athlete#41", "human_labels": ["api_integration_gap", "deployment_env_gap", "test_ci_gap"], "issue_number": "41", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-3615612e60c00ee8", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#41\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: ryanssareen/daily-athlete#41\nRepo: ryanssareen/daily-athlete\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: 0\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7fb8bcce258c6f9e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/41\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/41\\nTitle: feat: athlete profile schema (Unit 4) \u2014 plan + Unit A/B implementation\\nBody:\\nSchema plan Unit 4 \u2014 athlete profile.\\n\\n## What this PR contains\\n\\n| Commit | Scope |\\n|---|---|\\n| `0de6bec` | Plan document |\\n| `7011a1f` | Plan revisions integrating review feedback |\\n| `15f585d` | **Unit A**: `supabase/migrations/0004_athlete_profiles.sql` |\\n| `9e87029` | **Unit B**: `packages/shared/src/athlete-profile.ts` + barrel re-export |\\n\\nUnit C (tests) is deferred to a follow-up PR per the plan's locked decision \u2014 tracked at [#43](https://github.com/ryanssareen/daily-athlete/issues/43).\\n\\n## Migration shape\\n\\n- 1:1 with `public.users` via `user_id UUID PRIMARY KEY REFERENCES public.users(id) ON DELETE CASCADE`.\\n- Four JSONB columns: `baselines`, `weekly_volume_ewma` (derivation-owned), `manual_fields`, `manual_field_edited_at` (athlete-owned).\\n- `derived_at TIMESTAMPTZ NULL` for R6 idempotency; no `derivation_version` (YAGNI).\\n- `ENABLE ROW LEVEL SECURITY` + three athlete-self policies (SELECT / INSERT / UPDATE).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-20f63d5f7813bb56\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/41#issuecomment-4430586870\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/41#issuecomment-4430586870\\nTitle: \\nBody:\\nSomeone is attempting to deploy this pull request to the **Nectar** Team on [Vercel](https://vercel.com).\\n\\n**No GitHub account was found matching the com\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-5cabacbf83e40fd9", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322478, "scanner": "foundry_dataset", "fingerprint": "f0c9455e6e78a1515674899fc5463c099c60d3a41db16b2e20ff62cdd86e4aca", "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": "ryanssareen/daily-athlete#4", "human_labels": ["mock_placeholder", "test_ci_gap"], "issue_number": "4", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a768ce1ee7464f9a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#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: ryanssareen/daily-athlete#4\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'mock_placeholder': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5a1b9c7ed19b6695\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/4\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/4\\nTitle: [unit 3]: Route handlers \u2014 port /health, /me, /me/entitlements\\nBody:\\n**Plan doc:** `docs/plans/2026-05-03-001-refactor-stack-pivot-typescript-vercel-plan.md` (line 452)\\n\\n**Goal:** Identical HTTP surface to the Python implementation. Same status codes, same response shapes, same RLS-irrelevant-but-GUC-pinned posture.\\n\\n**Requirements:** R1, R4 (preserve product surface).\\n\\n**Dependencies:** Unit 1 (auth + supabase clients), Unit 2 (token crypto for any Strava-touching route).\\n\\n**Deliverables (planned):**\\n- `apps/web/app/api/health/route.ts` \u2014 DB ping + 200/503.\\n- `apps/web/app/api/me/route.ts` \u2014 current user profile from Supabase.\\n- `apps/web/app/api/me/entitlements/route.ts` \u2014 paid/free + feature flags.\\n- Tests in `apps/web/tests/api/` covering: 401 without bearer, 200 with valid bearer, 403 wrong role.\\n\\n**Verification:**\\n- [ ] `pnpm --filter @da2/web vitest run` green for `tests/api/`.\\n- [ ] `pnpm e2e` adds smoke tests hitting each endpoint with a real test user.\\n- [ ] Response shapes byte-equal to `a\"\n  },\n  {\n    \"id\": \"github-feedback-comment-6146f8d1b0d03b89\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/4#issuecomment-4369241914\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/4#issuecomment-4369241914\\nTitle: \\nBody:\\n**Status: \u2705 Done. Closing.**\\n\\nShipped on `feat/stack-pivot-typescript` across three commits and deployed to https://da2-one.vercel.app:\\n\\n- `f01bcb4` feat(web): Unit 3 \u2014 port /health, /me,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-c6cf741d5b9f090f", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322477, "scanner": "foundry_dataset", "fingerprint": "e9f8ad350ac0e4c82564f08a36c05ccf275003c6ed0555ccf21c385e75299b3b", "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": "ryanssareen/daily-athlete#38", "human_labels": ["deployment_env_gap", "mock_placeholder"], "issue_number": "38", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-687a7970c8aa452a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#38\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: ryanssareen/daily-athlete#38\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 2, 'deployment_env_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9781497ffa659fae\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/38\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/38\\nTitle: feat(web): Unit 3 \u2014 route handlers /health, /me, /me/entitlements\\nBody:\\nCloses #4. Tracked by #9 (stack-pivot meta).\\n\\nThree commits implementing the Unit 3 route handlers from `docs/plans/2026-05-03-001-refactor-stack-pivot-typescript-vercel-plan.md`:\\n\\n| SHA | Subject |\\n|---|---|\\n| `ad30a7d` | feat: port /health, /me, /me/entitlements to TypeScript (3 routes + 20 unit tests + 11 e2e) |\\n| `568b996` | fix: config falls back to `NEXT_PUBLIC_SUPABASE_*` on the server (production env didn't have bare `SUPABASE_*` set, caused 500s) |\\n| `fc7cd2e` | fix: ce:review autofixes \u2014 `ApiError.cause` + logging, `.nullish()` for null=no-op parity, PATCH refresh re-checks `deleted_at` |\\n\\n## What this adds\\n\\n| Route | Method | Behavior |\\n|---|---|---|\\n| `/api/health` | GET | 200 `{status: \\\"ok\\\"}`, no auth (Python parity with `apps/api/src/api/health.py`) |\\n| `/api/me` | GET | 200 UserOut / 401 missing-or-invalid bearer / 404 user-not-found-or-soft-deleted |\\n| `/api/me` | PATCH | 200 / 400 (Zod validation) / 40\"\n  },\n  {\n    \"id\": \"github-feedback-comment-e4ac9b6478a7c7d4\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/pull/38#issuecomment-4369286025\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/ryanssareen/daily-athlete/pull/38#issuecomment-4369286025\\nTitle: \\nBody:\\n[vc]: #UqW5qgGPiRy36p8joua6XsQMGkBZpWMDnjfLfkbBbD4=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJkYTIiLCJwcm9qZWN0SWQiOiJwcmpfZDUzNnRSWkE3cVNGUn\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-087216d32c0fef6d", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322476, "scanner": "foundry_dataset", "fingerprint": "5c229bfdf9a45a771c2ce283984a729d0cb67934eeba938fe75dbcf61a8c7345", "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": "ryanssareen/daily-athlete#37", "human_labels": ["mock_placeholder"], "issue_number": "37", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-169ba1b126d204d3", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#37\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#37\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-0f4144f276789609\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/37\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/37\\nTitle: [phase 5.5]: Beta launch prep\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** App Store + Play Store submission, Strava ToS compliance review, privacy policy, terms, support surface.\\n\\n**Requirements:** Cross-cutting (R26, R27, R28; Strava ToS).\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #15\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-9f5cc9f7a626ca5c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-b473c86de6d292b8", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322475, "scanner": "foundry_dataset", "fingerprint": "b261cfa75dd28aaf6d6443d092be4a12d3f429c61f1ae0ec0751e5ade0e650a9", "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": "ryanssareen/daily-athlete#36", "human_labels": ["mock_placeholder"], "issue_number": "36", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-b46a5cd276b244fc", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#36\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#36\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-47ba3d6e5d8dd347\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/36\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/36\\nTitle: [phase 5.4]: Paywall flows + free-to-paid conversion surfaces\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Paywall modal on mobile + web at the right moments (try to generate plan, view trend section, invite coach).\\n\\n**Requirements:** R26, R27\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #15\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-f8d061023a6aa6a8\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-094ce6c06acccee2", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322474, "scanner": "foundry_dataset", "fingerprint": "68753f1e6cc8148d8b2244333b367c32ad09fd751be3a52f72bae23ef5e0625c", "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": "ryanssareen/daily-athlete#35", "human_labels": ["mock_placeholder"], "issue_number": "35", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-dc69a856a7daba36", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#35\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#35\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2ea20a78ad5a0b47\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/35\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/35\\nTitle: [phase 5.3]: Subscription entitlements + RevenueCat integration\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Single source of truth for entitlements (`ai_plans`, `trend_reports`, `coach_invite`) sourced from RevenueCat webhooks.\\n\\n**Requirements:** R27, R28\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #15\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-97c246c42b75447f\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-0cc329ad45b8061f", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322473, "scanner": "foundry_dataset", "fingerprint": "80c82b1909fadb118fd2df2d89f9b3bbecc9a336547b88ddae86d8d032f7eaa1", "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": "ryanssareen/daily-athlete#34", "human_labels": ["mock_placeholder"], "issue_number": "34", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-fe62ba704f457d3b", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#34\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#34\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9e2130cac0c6c5b2\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/34\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/34\\nTitle: [phase 5.2]: Reports (free + paid)\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Weekly/monthly/annual reports, free at the rollup level, paid unlocks trend analysis + AI narrative + race readiness score.\\n\\n**Requirements:** R24, R25\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #15\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-46e64e3baaa1f715\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-13f0f439d4f48c63", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322472, "scanner": "foundry_dataset", "fingerprint": "6ce13c97daabcdf3de84ee594b5b1db55d9c9f8a7fc91892e1b3a5ebc570c092", "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": "ryanssareen/daily-athlete#33", "human_labels": ["mock_placeholder"], "issue_number": "33", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-dfb65d77df915977", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#33\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#33\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a04fdd8c8214c2b8\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/33\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/33\\nTitle: [phase 5.1]: Per-workout AI insights (free tier)\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** After each completed workout, generate a short AI insight using a small model with cached athlete context.\\n\\n**Requirements:** R22, R23\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #15\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-bfb93de1f7412192\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-249af0973010a617", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322471, "scanner": "foundry_dataset", "fingerprint": "14e4e76a865bdd0f50ee3de457b5eafd97415f014166de6968afd95aa267e18b", "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": "ryanssareen/daily-athlete#32", "human_labels": ["mock_placeholder"], "issue_number": "32", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-5a17a728de3be496", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#32\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#32\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-3215b9d9a1639870\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/32\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/32\\nTitle: [phase 4.3]: Real-time sync wiring\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Mobile + web subscribe to Supabase Realtime channels for plans, workouts, and comments so all parties see edits live.\\n\\n**Requirements:** R20\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #14\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-3ba8c9ccaa18c312\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-f8da3f9f201d7f2a", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322470, "scanner": "foundry_dataset", "fingerprint": "c563e3597985f8998d2f1363044d4f3f6ec7b3a1132dd6b44bafa3c1a437aa78", "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": "ryanssareen/daily-athlete#31", "human_labels": ["mock_placeholder"], "issue_number": "31", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-0c458c7aff190dff", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#31\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#31\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-53cdf6922837782e\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/31\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/31\\nTitle: [phase 4.2]: Coach plan editor + comments\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Coach can edit individual planned workouts (structure, date, notes) and leave comments on workouts and weeks.\\n\\n**Requirements:** R19, R20\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #14\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-93b8c5cf0f43b1a1\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-5e48dc6fefe1290f", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322469, "scanner": "foundry_dataset", "fingerprint": "423287fc35e95a3c3f1349f4ab52b94a07a9960f57ae41c6176b7d064f794f2b", "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": "ryanssareen/daily-athlete#30", "human_labels": ["mock_placeholder"], "issue_number": "30", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-71e4caff392fa44d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#30\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#30\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-10f403262c42b978\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/30\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/30\\nTitle: [phase 4.1]: Coach invitation + connection\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Athlete invites a coach by email; coach signs up (if new) and sees the athlete in their roster.\\n\\n**Requirements:** R18, R21\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #14\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-23c1e3733e4be7c5\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-ceef5e65e79baf20", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322468, "scanner": "foundry_dataset", "fingerprint": "adc80d6ae1e02c6125f9c036e1d3d3684ad07b643ef8b36665bc330ec25ccfc4", "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": "ryanssareen/daily-athlete#29", "human_labels": ["mock_placeholder"], "issue_number": "29", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.592, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-b85a5630c205eb28", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#29\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: ryanssareen/daily-athlete#29\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-dc7933f5983d899d\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/29\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/29\\nTitle: [phase 3.4]: Weekly adaptive review\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Once per training week, generate proposed adjustments based on completed/missed/over-performed workouts; athlete accepts/edits/rejects.\\n\\n**Requirements:** R9, R10, R11\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #13\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b9b7b1f135f319b1\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-2225095fb7b609b6", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322467, "scanner": "foundry_dataset", "fingerprint": "0c35fdcf4d6b13b476906d926c06d00de2659ec8c87a77fbf46bcbdb7dc29fbe", "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": "ryanssareen/daily-athlete#28", "human_labels": ["mock_placeholder"], "issue_number": "28", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-50043883941b2668", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#28\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#28\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-30fad1228bc7681c\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/28\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/28\\nTitle: [phase 3.3]: Plan rendering on athlete calendar + workout detail\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Plan is visible on the calendar; tapping a workout shows structure, target intensity, rationale.\\n\\n**Requirements:** R7, R16\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #13\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-d04bd5a07649a005\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-22d7c30546a38118", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322466, "scanner": "foundry_dataset", "fingerprint": "318794011a0596b598a017ac85750ab5829db894e491e563609b6570993cb853", "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": "ryanssareen/daily-athlete#27", "human_labels": ["mock_placeholder"], "issue_number": "27", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-11ade06f21a28a0d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#27\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#27\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ba7003e88e0d360a\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/27\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/27\\nTitle: [phase 3.2]: AI plan generation pipeline\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Multi-step structured generation (block \u2192 week \u2192 workout) producing a calendar-ready plan from athlete profile + event inputs.\\n\\n**Requirements:** R5, R6, R7, R8\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #13\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c249b8208d82b3c7\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-22221647340f65f0", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322465, "scanner": "foundry_dataset", "fingerprint": "74bf93278668757155bcddfa04f6eeccc9379fa83790013adb8a1115cf50a466", "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": "ryanssareen/daily-athlete#26", "human_labels": ["mock_placeholder"], "issue_number": "26", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-f3a57741e575fde9", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#26\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#26\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-aa8ca4a62b2edd8d\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/26\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/26\\nTitle: [phase 3.1]: Eval harness + reference plans\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Promptfoo-based eval harness with 30\u201350 coach-graded reference plans (built with alpha coaches) running in CI. **Ship this before Unit 3.2 generates production plans.**\\n\\n**Requirements:** R8\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #13\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-fc7fdf340be11827\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-5aac7df0318e6fad", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322464, "scanner": "foundry_dataset", "fingerprint": "9f25cdc4f8ee4e0a6ed475e28a342befda24618810602c3b278d3bc8590e3926", "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": "ryanssareen/daily-athlete#25", "human_labels": ["mock_placeholder"], "issue_number": "25", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-a25cd7a8b070d599", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#25\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#25\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a40ff284093bfe24\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/25\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/25\\nTitle: [phase 2.5]: Athlete calendar (read + drag-to-move)\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Athlete sees a multi-week calendar of planned + completed workouts; can drag-move a planned workout (within reason).\\n\\n**Requirements:** R16, R17\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #12\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ad312e564d2a2ff3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-dd214c0af96c0cd1", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322463, "scanner": "foundry_dataset", "fingerprint": "20d6c27772c570003ae919daa88d25fc8b404316ff19271fbdb419bd685ba63d", "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": "ryanssareen/daily-athlete#24", "human_labels": ["mock_placeholder"], "issue_number": "24", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-17a28090300b3819", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#24\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#24\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-49d210a9b45f327d\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/24\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/24\\nTitle: [phase 2.4]: Strava webhook + workout completion + dedup\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Strava webhook receives `create | update | delete` events; backend hydrates the activity, links it to a planned workout if one matches, and emits a Realtime event. Manual completion goes through the same path.\\n\\n**Requirements:** R12, R13, R14, R15\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #12\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ed1a1d704775b3c9\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-4db8c9e6983a469d", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322462, "scanner": "foundry_dataset", "fingerprint": "4a2fe1f5f7c616a8f73eb7da306313ceb0d366871d60ab38a049c880904ffda5", "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": "ryanssareen/daily-athlete#23", "human_labels": ["mock_placeholder"], "issue_number": "23", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-51e05fc1b90ae870", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#23\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#23\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6e373fa719353d4b\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/23\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/23\\nTitle: [phase 2.3]: Athlete profile derivation + ongoing recompute\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Derive an initial athlete profile from backfilled activities; recompute as new completed workouts arrive.\\n\\n**Requirements:** R2, R3, R4\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #12\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e9a468e81b3fbb39\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-6e44fc0f6c7d6480", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322461, "scanner": "foundry_dataset", "fingerprint": "9dc224fdccb172ec527805d8bb7ff0e5982e058409218291dd407d46af199476", "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": "ryanssareen/daily-athlete#22", "human_labels": ["mock_placeholder"], "issue_number": "22", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.592, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-24bb3171993fc83a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#22\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#22\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2e9444f934546b42\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/22\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/22\\nTitle: [phase 2.2]: Strava activity backfill + workout ingest\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** On first Strava connection, fetch the last 200 activities, normalize, and persist as `completed_workouts` (source = strava). Subsequent activities arrive via webhook (Unit 2.4).\\n\\n**Requirements:** R2\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #12\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-713db8097ea9e01b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-18eeb65bfcc54c27", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322460, "scanner": "foundry_dataset", "fingerprint": "c9f0f063148e050c22b901e4f7b8f16dfde63e5c18fc42e6d6230863229e93c4", "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": "ryanssareen/daily-athlete#20", "human_labels": ["data_schema_persistence", "mock_placeholder"], "issue_number": "20", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-25031a690eacbb7b", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#20\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: ryanssareen/daily-athlete#20\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'data_schema_persistence': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f21374840a4ff199\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/20\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/20\\nTitle: [phase 1.5]: Hosting, observability, secrets\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Deploy infra so subsequent units have a target. Fly.io app for FastAPI + Arq workers, Vercel for Next.js, Supabase project, Sentry, Langfuse.\\n\\n**Requirements:** R31\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #11\\n\"\n  },\n  {\n    \"id\": \"github-feedback-comment-cef5ffb146277d8e\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/20#issuecomment-4376739062\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_comment\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/20#issuecomment-4376739062\\nTitle: \\nBody:\\nClosed by #40 (merged as bc06251). The architectural decision and plan rewrite for Unit 1.5 landed \u2014 backend moved into Next.js Route Handlers on Vercel, Fly.io and the Python service dropped, queue provider defaulted to Inngest (final pick still TBD). Actual provisioning (Vercel project, Supabase prod project, Inngest setup, Sentry/Langfuse wiring) is still pending and can be tracked in a fresh issue when ready to deploy.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-897fbc703f0c502f\", \"evidence-chain-comment_to_commit-37329e822f0c2d31\"]\nSource graph e\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-0c431b4e1dac30e1", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322459, "scanner": "foundry_dataset", "fingerprint": "8e8d4f909146c2d57be50d2be24694767226fc793425dfa8df4297adfd1b1361", "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": "ryanssareen/daily-athlete#2", "human_labels": ["mock_placeholder"], "issue_number": "2", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.607, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-9ea81d147e627bf7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#2\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#2\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-40a454ccc3c1118a\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/2\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/2\\nTitle: [unit 1]: TypeScript server foundation + Vitest + Postgres harness\\nBody:\\n**Plan doc:** `docs/plans/2026-05-03-001-refactor-stack-pivot-typescript-vercel-plan.md` (line 352)\\n\\n**Goal:** Stand up the TypeScript-side equivalents of `apps/api/src/{config,db,auth}/` AND the Vitest+Postgres test harness in the same unit. The test framework is a first-class deliverable, not deferred. By the end of this unit, an implementer can run `pnpm --filter @da2/web vitest run` and see green tests against a real local Postgres with all four migrations applied.\\n\\n**Requirements:** R1, R9 (env hooks for Sentry/Langfuse), R14 (CI is single Node pipeline starting from this unit).\\n\\n**Status:** \u2705 Done.\\n\\n**Deliverables (shipped):**\\n- `apps/web/src/server/config.ts` \u2014 Zod-validated config with non-dev placeholder-secret guard, JWKS hardening (https + origin match against SUPABASE_URL).\\n- `apps/web/src/server/auth.ts` \u2014 `createRemoteJWKSet` + `jwtVerify` ES256, role whitelist, regex bearer extraction, generic 401 detail (no \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e57c37a9f35a078f\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"s\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-b1a00a21a4496b94", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322458, "scanner": "foundry_dataset", "fingerprint": "73680e2bb255ef9f922563f9d68a2a184e0d6c1abb2beccc36a741ddcb7909eb", "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": "ryanssareen/daily-athlete#19", "human_labels": ["mock_placeholder"], "issue_number": "19", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-bfc6c66e72581ff1", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#19\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#19\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-3fe486f95c3cf40d\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/19\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/19\\nTitle: [phase 1.4]: Coach web shell\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Next.js app with auth, athlete-roster page (empty state), and athlete-detail route ready for plan rendering later.\\n\\n**Requirements:** R30, R21\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #11\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e41f7d1dea434b9c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-9bd413f914756853", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322457, "scanner": "foundry_dataset", "fingerprint": "264f53a4813c63b03ef19949921c8dac045d5ac4b123d07b8c1e82cfdcfb5d12", "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": "ryanssareen/daily-athlete#18", "human_labels": ["mock_placeholder"], "issue_number": "18", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-ab291cd20515ccfc", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#18\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#18\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a1af6892d3f6801a\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/18\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/18\\nTitle: [phase 1.3]: Mobile shell + navigation + design tokens\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Expo app boots on iOS + Android with auth, tab navigation (Today / Calendar / Insights / Profile), and a design system stub.\\n\\n**Requirements:** R29\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #11\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-bacec2eead5c7b59\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-c962c045a3993040", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322456, "scanner": "foundry_dataset", "fingerprint": "10b42cc283641880e57ec04c00b8406827ba155a8f2928e93da7242e02ededd7", "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": "ryanssareen/daily-athlete#17", "human_labels": ["mock_placeholder"], "issue_number": "17", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-a48250d7ae867710", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#17\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#17\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-52b18105e938abe7\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/17\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/17\\nTitle: [phase 1.2]: Supabase + auth + base data model\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Provision Supabase, configure email + Apple + Google sign-in, define core tables, and gate FastAPI on Supabase JWT.\\n\\n**Requirements:** R1, R31\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #11\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-df67a822bb79ed09\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-6f2fe35e3b467ac3", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 322455, "scanner": "foundry_dataset", "fingerprint": "101486000f8ef9aa66674a1a1d208e7a9dad6abc5e1e0b25468061a210280ef0", "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": "ryanssareen/daily-athlete#16", "human_labels": ["mock_placeholder"], "issue_number": "16", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-ae8d3d29c12a11f8", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 3, "tests": 2, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#16\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ryanssareen/daily-athlete#16\nRepo: ryanssareen/daily-athlete\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-06b618b78baf0a5c\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ryanssareen/daily-athlete/issues/16\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: ryanssareen/daily-athlete\\nAuthor: ryanssareen (User)\\nURL: https://github.com/ryanssareen/daily-athlete/issues/16\\nTitle: [phase 1.1]: Monorepo + tooling skeleton\\nBody:\\n**Plan doc:** [`docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md`](https://github.com/ryanssareen/daily-athlete/blob/main/docs/plans/2026-05-02-001-feat-ai-endurance-training-app-plan.md)\\n\\n**Goal:** Stand up the repo, package layout, type-share pipeline, CI, and dev environments so all later units have somewhere to land.\\n\\n**Requirements:** R29, R30, R31\\n\\nThis is a placeholder feature-request stub. Refine the deliverables, dependencies, and verification list when this unit is picked up.\\n\\nParent phase: #11\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-fc8e3703be7066de\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ryanssareen/daily-athlete\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 4, \"artifact_supports_verification\": 4, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"docs\": 3, \"generated_claims\": 1, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "comment-chain-pattern-bad_chains-15aeaa4956e53374", "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": "ryanssareen/daily-athlete", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 334872, "scanner": "foundry_dataset", "fingerprint": "69c561a47a5e2c0c5f528101e9500217c5fee49b69efb5a450c81b5f23bd4084", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 1, "security_or_secrets": 2, "security_auth_secret": 1, "verification_or_tests": 3, "data_schema_persistence": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 27, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 21, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#85", "issue_number": "85", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-f323536cf4c399e3", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#85\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#85\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#85\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 85\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 27\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 7, '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: {'claimed_resolved_unverified': 3, 'verification_or_tests': 3, 'security_or_secrets': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-8abbef77340c169a", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 334871, "scanner": "foundry_dataset", "fingerprint": "33fc7b737f03e2440936bda29e9b964bdbb2124a8091f319b82b6f6b9d0981a9", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"security_or_secrets": 1, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 12, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 10, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#7", "issue_number": "7", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-d1ecc2c524552b13", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#7\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#7\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#7\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 7\nGraph consistency label: weak_supervision_needs_review\nNodes: 10\nEdges: 12\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-2408181e809083d3", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 334870, "scanner": "foundry_dataset", "fingerprint": "67f87df469103f0ab5063b7a67c1b5e197598729798929afd58c15bad31d3e7f", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 3, "ui_or_frontend": 1, "source_or_other": 1, "deployment_env_gap": 1, "dependency_or_build": 3, "security_or_secrets": 1, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 4, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 4, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 21, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#65", "issue_number": "65", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-33cd83d8ca7a613f", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 5, "source_or_other": 5, "dependency_or_build": 10}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#65\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#65\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#65\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 65\nGraph consistency label: weak_supervision_needs_review\nNodes: 21\nEdges: 37\nNode types: {'commit': 5, 'pr_file': 4, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 8, 'comment_chain_links_commit': 5, 'thread_touches_file': 4, 'chain_has_link_quality': 4, 'issue_chain_touches_file': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'dependency_or_build': 3, 'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'deployment_env_gap': 1, 'source_or_other': 1, 'ui_or_frontend': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-4bb4c49f0088b432", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 334869, "scanner": "foundry_dataset", "fingerprint": "331efb1c880868e5cade23a14402567fbcf8d1dad4e1014711cacc70821ea6c2", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 1, "api_integration_gap": 1, "dependency_or_build": 2, "security_or_secrets": 2, "security_auth_secret": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 8}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#58", "issue_number": "58", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-970fd823aa6b143d", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_high_confidence_link\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#58\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#58\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#58\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 58\nGraph consistency label: supported_by_high_confidence_link\nNodes: 20\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 6, '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: {'claimed_resolved_unverified': 4, 'human_reported_issue_then_fix_attempt': 2, 'security_or_secrets': 2, 'dependency_or_build': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'api_integration_gap': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-ea1bea3a89814fce", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 334868, "scanner": "foundry_dataset", "fingerprint": "2b65af9a648ecd122fa53d6ee8499d9639102bbf80a0d53c35976e11662d5e8b", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 1, "dependency_or_build": 2, "security_or_secrets": 2, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#39", "issue_number": "39", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b8812bf00d97a7cf", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#39\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#39\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#39\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 39\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'security_or_secrets': 2, 'dependency_or_build': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-b744dbf25bf52337", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 334867, "scanner": "foundry_dataset", "fingerprint": "b749e512bdba749040d86317c7edc3b400d1d10dee4aa60c63bc99711eb0aa19", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"security_or_secrets": 2, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 13, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 11, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#12", "issue_number": "12", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-168e86c636048dce", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#12\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#12\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#12\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 12\nGraph consistency label: weak_supervision_needs_review\nNodes: 11\nEdges: 13\nNode types: {'link_quality': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'security_or_secrets': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-2bc9851e40221923", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 334866, "scanner": "foundry_dataset", "fingerprint": "aa9fa02f84c589b2af3bc90f73f0f9ff5e98cc759895b4f6081299f0e179c00c", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"dependency_or_build": 1, "security_or_secrets": 2, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 14, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#11", "issue_number": "11", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-6cd62793199d17b5", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#11\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#11\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#11\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 11\nGraph consistency label: weak_supervision_needs_review\nNodes: 12\nEdges: 14\nNode types: {'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 3, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'security_or_secrets': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1, 'dependency_or_build': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-4635642f761e0632", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 334865, "scanner": "foundry_dataset", "fingerprint": "63e43c454d92ce66dd9362d026a9beb322e4294703d6d9c81fa7d209821f7b9a", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 2, "dependency_or_build": 1, "security_or_secrets": 2, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#1", "issue_number": "1", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-d88a8924a4550b33", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#1\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#1\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#1\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 1\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'bug_fix': 2, 'security_or_secrets': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1, 'dependency_or_build': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-06dfe734060c9fa0", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327082, "scanner": "foundry_dataset", "fingerprint": "93e9db8fcf6460f96287638470b5fe01cbc6b6e97658e11b9dae991421b3e94d", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 1, "test_or_ci": 7, "data_schema": 3, "api_or_backend": 4, "ui_or_frontend": 15, "source_or_other": 2, "mock_placeholder": 1, "security_or_auth": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "dependency_or_build": 5, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"ambiguous_needs_more_evidence": 8, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 114, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 34, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 3, "comment_chain_links_commit": 7, "comment_chain_touches_file": 36, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 57, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "pr_file": 34, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#62", "issue_number": "62", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 2}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-1a5712cc6b7e1b27", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 42, "api_or_backend": 24, "ui_or_frontend": 90, "source_or_other": 12, "security_or_auth": 6, "dependency_or_build": 30}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#62\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#62\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#62\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 62\nGraph consistency label: supported_by_verification_signal\nNodes: 57\nEdges: 114\nNode types: {'pr_file': 34, 'link_quality': 6, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 36, 'thread_touches_file': 34, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 7, 'chain_has_link_quality': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 15, 'test_or_ci': 7, 'dependency_or_build': 5, 'api_or_backend': 4, 'ambiguous_needs_more_evidence': 4, 'data_schema': 3, 'source_or_other': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'deployment_env_gap': 1, 'api_integration_gap': 1, 'security_or_auth': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 2, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-e52de2d1a872ec44", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327081, "scanner": "foundry_dataset", "fingerprint": "5790adb185299d5733202f42daf5ed871ec617089f6cebfafa321246b942350c", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 1, "data_schema": 3, "docs_or_claims": 1, "mock_placeholder": 1, "api_integration_gap": 1, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 21, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#61", "issue_number": "61", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-75a23685aab5a94b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"docs_or_claims": 5}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#61\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#61\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#61\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 61\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 30\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 6, 'chain_has_link_quality': 5, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'data_schema': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'api_integration_gap': 1, 'docs_or_claims': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'bug_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-3f3df9baeaf4ba99", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327080, "scanner": "foundry_dataset", "fingerprint": "de891061c12703433fa69691dbf50a657b3fbdefc4b50597512d5db3241aa16e", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 2, "data_schema": 3, "mock_placeholder": 1, "deployment_env_gap": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 21, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#60", "issue_number": "60", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-1290dedcd0631248", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#60\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#60\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#60\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 60\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 21\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'data_schema': 3, 'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'deployment_env_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-7accf199d98c75c1", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327079, "scanner": "foundry_dataset", "fingerprint": "c47da492cfd149f6d5c32d8fbf709b37a0739b23b83360fb361ba098c4ffabc4", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 1, "data_schema": 3, "mock_placeholder": 1, "api_integration_gap": 1, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#59", "issue_number": "59", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-49a4a593aec6c48d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#59\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#59\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#59\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 59\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 6, '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: {'data_schema': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'bug_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-70cb2b4c4ecad3ed", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327078, "scanner": "foundry_dataset", "fingerprint": "9c47b22d1bd46c28864afed850b5f52dccded06bb37f96253f92fe60936e57c1", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 2, "data_schema": 3, "mock_placeholder": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#45", "issue_number": "45", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-013ad1d9ace69d22", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#45\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#45\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#45\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 45\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'data_schema': 3, 'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-6c8038a23e92fec9", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327077, "scanner": "foundry_dataset", "fingerprint": "bca83a4a89102c57a92e0bfae83dfcea127b36ad8bcc3e2c41b402b1f87bb8e2", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 2, "data_schema": 3, "test_ci_gap": 1, "mock_placeholder": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 25, "node_types": {"repo": 1, "commit": 10, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#4", "issue_number": "4", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-dfe22051db935ef8", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#4\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#4\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#4\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 4\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 30\nNode types: {'commit': 10, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'data_schema': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'mock_placeholder': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-9237f93f7e6ef0b1", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327076, "scanner": "foundry_dataset", "fingerprint": "8f2885d09cbe670491029587f85394af747f51faa197135eec41262613ac8500", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 5, "data_schema": 3, "mock_placeholder": 2, "deployment_env_gap": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 8, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 23, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#38", "issue_number": "38", "quality_tiers": {"unresolved": 1, "weak_supervision": 4}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f907e9c99429ebd8", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#38\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#38\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#38\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 38\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 31\nNode types: {'commit': 8, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 4, 'data_schema': 3, 'mock_placeholder': 2, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-77f2ab39798cc7b2", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327075, "scanner": "foundry_dataset", "fingerprint": "73a844f7494572ecd526f80e2e13adc7ffaf62ec95dc43c038f90b75751d7ae5", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#37", "issue_number": "37", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-8c3c1a54d2204a29", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#37\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#37\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#37\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 37\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-b4a2158141c00a59", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327074, "scanner": "foundry_dataset", "fingerprint": "eb3639e21cd2f86c404a4f4937faa45af4bb83864f5315dd4e6dd7522421228e", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#36", "issue_number": "36", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-5eec2ab5505a1278", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#36\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#36\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#36\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 36\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-61c3c37d9d256f9d", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327073, "scanner": "foundry_dataset", "fingerprint": "ac292137fcfb295c355603d2f7490020a08779e75aaf600550ed6eebeff4d940", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#35", "issue_number": "35", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-43f7df2a03516614", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#35\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#35\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#35\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 35\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-602e7d0c43c2f949", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327072, "scanner": "foundry_dataset", "fingerprint": "68f8d6b555e45dd562bf51271d679f9ee363c5b4ba24876309e4c6e3e4c25072", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#34", "issue_number": "34", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f7b224605ad60304", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#34\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#34\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#34\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 34\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-e54e52be07ba9a23", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327071, "scanner": "foundry_dataset", "fingerprint": "436b6ac4e758c094fffecd15a58bde63ec121f840f8bd5d5e2ac99e8045d7255", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#33", "issue_number": "33", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-dd90720a1a42e5d6", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#33\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#33\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#33\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 33\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-fb7043cd005f5899", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327070, "scanner": "foundry_dataset", "fingerprint": "7f5003bf3114b462a501aa0c8799f9531108e2f4355c1417adea855bd8a1e7de", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#32", "issue_number": "32", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-cc8e6cf9478f5ac5", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#32\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#32\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#32\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 32\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-ca31cc1bc1cd9b0c", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327069, "scanner": "foundry_dataset", "fingerprint": "f61a864c67ae37cbbe83448a0165c73b2eff5fed9a5cc465dedb901b565e7578", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#31", "issue_number": "31", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-379a892a6b0ad12b", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#31\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#31\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#31\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 31\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-3d555f2f01711275", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327068, "scanner": "foundry_dataset", "fingerprint": "1e0b10e5b47ba5609b6ad915ba1871fa5b95a1dd11935217198de8cc817d471f", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#30", "issue_number": "30", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c2a54db8fc323301", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#30\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#30\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#30\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 30\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-8178058297d598d1", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327067, "scanner": "foundry_dataset", "fingerprint": "c0a2f8214d93d0d117f5e426a51f9060c9c096bc60c8aea0f84ffcd3f2adb882", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"data_schema": 1, "mock_placeholder": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 12, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 10, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#29", "issue_number": "29", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f7e2efbd01b36183", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#29\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#29\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#29\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 29\nGraph consistency label: weak_supervision_needs_review\nNodes: 10\nEdges: 12\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-e2f4e48c82cabb4e", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327066, "scanner": "foundry_dataset", "fingerprint": "fa5d75b93a8aec24a46ad403656458881cbde2ef8bd45abe001b537720c81029", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#28", "issue_number": "28", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-83d978dc196a26db", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#28\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#28\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#28\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 28\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-dfb7ea26327d2a92", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327065, "scanner": "foundry_dataset", "fingerprint": "954d475626563a7329b33c8f8eac6afee0db62887e657ee791b63f21a3f175ac", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#27", "issue_number": "27", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-84243bcc3c19e7bc", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#27\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#27\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#27\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 27\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-d78ac2e6319cd6a4", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327064, "scanner": "foundry_dataset", "fingerprint": "6538dcd2ee25e5b82f7d2db1431f56ed188ae43ac38137f201c38500237adb46", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#26", "issue_number": "26", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-44ed9c733cb11b99", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#26\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#26\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#26\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 26\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-b6e45f7570690a27", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327063, "scanner": "foundry_dataset", "fingerprint": "e78ff7837f18abb25fd83afa49e791b2db97fe9185f8631aaaa950fd60247e42", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#25", "issue_number": "25", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-9ad2d52291ed3dd1", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#25\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#25\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#25\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 25\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-12d752885bcbf06d", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327062, "scanner": "foundry_dataset", "fingerprint": "50dca6d0103a4dad3e111810e0a25d2188b5ecc8d0b9dfea5f1e991a29f85f98", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#24", "issue_number": "24", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-37d8dd4cf6716262", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#24\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#24\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#24\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 24\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-322f8c40bc60604a", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327061, "scanner": "foundry_dataset", "fingerprint": "5b4aa3dba71f1cdcc1e8400d4e5750d5f69419c82e407a3438fb4aa649951e17", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#23", "issue_number": "23", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-108adb4d4ff37843", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#23\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#23\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#23\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 23\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-5f49f2eb0905d23b", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327060, "scanner": "foundry_dataset", "fingerprint": "2841594387f5f6d061e202079c9461068a0811018fab46983c6c720ef515cda2", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"data_schema": 2, "mock_placeholder": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 13, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 11, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#22", "issue_number": "22", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-57ea5d70ed773380", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#22\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#22\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#22\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 22\nGraph consistency label: weak_supervision_needs_review\nNodes: 11\nEdges: 13\nNode types: {'link_quality': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'data_schema': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-f68bf056fae798d3", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327059, "scanner": "foundry_dataset", "fingerprint": "1977653a6f38b3147247a251a1ae6ed5c58bb6e0c25fcbde2246d04a1e2b8967", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 2, "data_schema": 2, "mock_placeholder": 2, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#21", "issue_number": "21", "quality_tiers": {"high_confidence": 3, "weak_supervision": 1}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6d173d97b0805ba4", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#21\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#21\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#21\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 21\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 23\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 7, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 4, 'mock_placeholder': 2, 'human_reported_issue_then_verified_fix_attempt': 2, 'data_schema': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'verification_or_tests': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-f6dd080fb3f69d6b", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327058, "scanner": "foundry_dataset", "fingerprint": "4e1e2b4af136568a12b7962f9918d78e6a367029ad7cde94c75026bc685b37be", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 1, "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": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#20", "issue_number": "20", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b4ced8c22b47f674", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#20\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#20\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#20\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 20\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'link_quality': 5, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'not_resolved_or_not_observed': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'data_schema_persistence': 1, 'human_reported_issue_no_linked_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-49812cb5b2d76687", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327057, "scanner": "foundry_dataset", "fingerprint": "555cea7498a8d56206500ee95d57482e920ba1e98d6665fcbf8312c3c5d60aa5", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 1, "data_schema": 1, "mock_placeholder": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 13, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 11, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#2", "issue_number": "2", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6a1d7daaff41d400", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#2\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#2\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#2\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 2\nGraph consistency label: weak_supervision_needs_review\nNodes: 11\nEdges: 13\nNode types: {'link_quality': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'bug_fix': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-ac0469e004aeac60", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327056, "scanner": "foundry_dataset", "fingerprint": "b8dbe37be842dd0dfb6726627fae8cf27425bdc945b138ae21d19a314104861a", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#19", "issue_number": "19", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-25419d9fbc09268e", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#19\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#19\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#19\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 19\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-ebf7548bc50b8243", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327055, "scanner": "foundry_dataset", "fingerprint": "891614cf6fdad1cb828dee7173d7c508f79602c2231034466abc54dc5b1e9410", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#18", "issue_number": "18", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-49fd460078933c01", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#18\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#18\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#18\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 18\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-85c906888ebf35d3", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327054, "scanner": "foundry_dataset", "fingerprint": "3187a1a40ced1e3233d17ff98de5563d2a8190f840ea999b048f4964bd20cae5", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#17", "issue_number": "17", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-644b79bb44db0077", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#17\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#17\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#17\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 17\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-ac8415dfd75745ce", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: ryanssareen/daily-athlete"}, "properties": {"repobilityId": 327053, "scanner": "foundry_dataset", "fingerprint": "eae76fee2c8f47924f5ba915ea8f62234334af4c0be94446fcdc20500acbe55f", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ryanssareen/daily-athlete#16", "issue_number": "16", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ryanssareen/daily-athlete", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-aff55362e2399453", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#16\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ryanssareen/daily-athlete\nThread: ryanssareen/daily-athlete#16\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ryanssareen/daily-athlete#16\nRepo: ryanssareen/daily-athlete\nIssue/PR number: 16\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ryanssareen/daily-athlete", "source_id": "graph-query-motif_query-b1639b1c4fbef78c", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ryanssareen/daily-athlete", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"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-2e531c15e313c457", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/web/src/ai/adaptive/llm.ts:7"}, "properties": {"repobilityId": "d23d1c1bddc607ad", "scanner": "scanner-primary", "fingerprint": "2e531c15e313c457", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-554aaaa8d8e0697a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/web/src/inngest/functions/adaptive-detectors.ts:74"}, "properties": {"repobilityId": "07a8008b8d0b1041", "scanner": "scanner-primary", "fingerprint": "554aaaa8d8e0697a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-f1c66f97d0709f69", "level": "note", "message": {"text": "Very large file: apps/web/app/(athlete-onboarding)/athlete/onboarding/onboarding-flow.tsx (1894 lines)"}, "properties": {"repobilityId": "32efb7a01e2c7857", "scanner": "scanner-primary", "fingerprint": "f1c66f97d0709f69", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "3a16668be54794d8", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-d0c2205560692580", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/mobile/package.json"}, "properties": {"repobilityId": "b3dfed7bb3d70ed3", "scanner": "scanner-primary", "fingerprint": "d0c2205560692580", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/mobile/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4a9eb7dc7c6e3880", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/web/package.json"}, "properties": {"repobilityId": "6c1704bf24cf19ac", "scanner": "scanner-primary", "fingerprint": "4a9eb7dc7c6e3880", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/web/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2699d5f16ae11282", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/shared/package.json"}, "properties": {"repobilityId": "37ac218a4ef9b430", "scanner": "scanner-primary", "fingerprint": "2699d5f16ae11282", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/shared/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "0b8bcdf60b047c4a", "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": "6cc2c63f51799036", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "a175ad861f03aa5a", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "9cf08b58b7ab44f9", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "da59d8cf16eec7fa", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "d01927b583cf5dbf", "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": "9d73bda5a7056525", "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": "8d8fb260aeec8a7e", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-e1d3fbc30bead412", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: AGENTS.md"}, "properties": {"repobilityId": "56bfc666b358d0d0", "scanner": "scanner-primary", "fingerprint": "e1d3fbc30bead412", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "AGENTS.md"}, "region": {"startLine": 84}}}]}, {"ruleId": "scanner-1e6c322115ff2eb0", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/mobile/vitest.config.ts:3"}, "properties": {"repobilityId": "9c3eddf349244347", "scanner": "scanner-primary", "fingerprint": "1e6c322115ff2eb0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ec395045bcfeaaa", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/app/(modals)/weekly-review.tsx:1"}, "properties": {"repobilityId": "503a299d8ed1affc", "scanner": "scanner-primary", "fingerprint": "8ec395045bcfeaaa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d8eb57a0f1f7929", "level": "none", "message": {"text": "Commented-code block (14 lines) in apps/mobile/src/integrations/strava.tsx:3"}, "properties": {"repobilityId": "a9f434048bde69c1", "scanner": "scanner-primary", "fingerprint": "4d8eb57a0f1f7929", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-859bb28c7be867f6", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/src/integrations/__tests__/strava.test.tsx:1"}, "properties": {"repobilityId": "5b9b0fb778fc29d3", "scanner": "scanner-primary", "fingerprint": "859bb28c7be867f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd9cae5872aa69c2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/src/api/client.ts:24"}, "properties": {"repobilityId": "685b177821293ba4", "scanner": "scanner-primary", "fingerprint": "cd9cae5872aa69c2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1308c044c714151b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/src/adaptive/useProposal.ts:33"}, "properties": {"repobilityId": "334e609818779872", "scanner": "scanner-primary", "fingerprint": "1308c044c714151b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f25d2f56f288e8e8", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/mobile/src/adaptive/ReviewBanner.tsx:1"}, "properties": {"repobilityId": "5c20a64a9aa6e0a6", "scanner": "scanner-primary", "fingerprint": "f25d2f56f288e8e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-784c2d1224ef8f82", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/mobile/src/adaptive/__tests__/useProposal.test.ts:3"}, "properties": {"repobilityId": "0dc9f8c674dcffe4", "scanner": "scanner-primary", "fingerprint": "784c2d1224ef8f82", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-36e43ae627ab9a71", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/middleware.ts:1"}, "properties": {"repobilityId": "6af1c454c61a0a18", "scanner": "scanner-primary", "fingerprint": "36e43ae627ab9a71", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ae995bc32bc7e80", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/vitest.config.ts:21"}, "properties": {"repobilityId": "eb6af029d9e81010", "scanner": "scanner-primary", "fingerprint": "6ae995bc32bc7e80", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4748960aa821783b", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/web/app/(athlete-onboarding)/athlete/onboarding/onboarding-flow.tsx:271"}, "properties": {"repobilityId": "192c22df47e25f65", "scanner": "scanner-primary", "fingerprint": "4748960aa821783b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-725ed4391a16af06", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/web/app/auth/callback/route.ts:96"}, "properties": {"repobilityId": "caa92cd7e39b8f5b", "scanner": "scanner-primary", "fingerprint": "725ed4391a16af06", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08f6f8d2a612d25a", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/api/integrations/strava/disconnect/route.ts:3"}, "properties": {"repobilityId": "4189fd0f05ecdc1e", "scanner": "scanner-primary", "fingerprint": "08f6f8d2a612d25a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-791379f3d8eeef85", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/api/integrations/strava/disconnect/route.ts:179"}, "properties": {"repobilityId": "5712bcdbb49debea", "scanner": "scanner-primary", "fingerprint": "791379f3d8eeef85", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-03bd081b9da7861a", "level": "none", "message": {"text": "Commented-code block (20 lines) in apps/web/app/api/integrations/strava/connect/route.ts:8"}, "properties": {"repobilityId": "503af87ed0cdc88d", "scanner": "scanner-primary", "fingerprint": "03bd081b9da7861a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3641988bd7a1c516", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/api/integrations/strava/connect/__tests__/route.test.ts:3"}, "properties": {"repobilityId": "f53b792677e4bea3", "scanner": "scanner-primary", "fingerprint": "3641988bd7a1c516", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2710e8be8a976b4", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/integrations/strava/mobile-bounce/route.ts:3"}, "properties": {"repobilityId": "ac2a7576de403323", "scanner": "scanner-primary", "fingerprint": "e2710e8be8a976b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f8ceee144b91de03", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/web/app/api/integrations/strava/webhook/route.ts:4"}, "properties": {"repobilityId": "4ff33c298f7192bc", "scanner": "scanner-primary", "fingerprint": "f8ceee144b91de03", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b9b2f95d3abd2a78", "level": "none", "message": {"text": "Commented-code block (10 lines) in apps/web/app/api/integrations/strava/callback/route.ts:7"}, "properties": {"repobilityId": "f1d918e6e1215fd4", "scanner": "scanner-primary", "fingerprint": "b9b2f95d3abd2a78", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99406591cdadb5f0", "level": "none", "message": {"text": "Commented-code block (10 lines) in apps/web/app/api/integrations/strava/authorize/route.ts:3"}, "properties": {"repobilityId": "8989793143457f48", "scanner": "scanner-primary", "fingerprint": "99406591cdadb5f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cfca838f733d2e9e", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/integrations/strava/backfill/retry/route.ts:7"}, "properties": {"repobilityId": "628e942629ee27ea", "scanner": "scanner-primary", "fingerprint": "cfca838f733d2e9e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ecd76a81f3032f71", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/app/api/integrations/strava/init/route.ts:8"}, "properties": {"repobilityId": "edc2dd945b51906d", "scanner": "scanner-primary", "fingerprint": "ecd76a81f3032f71", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c630bf6ab2b8c6f", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/app/api/integrations/strava/init/__tests__/route.test.ts:3"}, "properties": {"repobilityId": "30b0f321ea283154", "scanner": "scanner-primary", "fingerprint": "8c630bf6ab2b8c6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-edc2c0477fb140bf", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/weekly-review/route.ts:3"}, "properties": {"repobilityId": "3fd815a992bf2434", "scanner": "scanner-primary", "fingerprint": "edc2c0477fb140bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9014654071444357", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/__tests__/post-route.test.ts:3"}, "properties": {"repobilityId": "1a6986d68b38dfa4", "scanner": "scanner-primary", "fingerprint": "9014654071444357", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88728fca2e98f4ab", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/__tests__/route.test.ts:8"}, "properties": {"repobilityId": "3e0e321f387f7f9b", "scanner": "scanner-primary", "fingerprint": "88728fca2e98f4ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12954912d1a4595a", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/web/app/api/weekly-review/[id]/accept/route.ts:8"}, "properties": {"repobilityId": "efb3c826ca0269f5", "scanner": "scanner-primary", "fingerprint": "12954912d1a4595a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0970d03c25a2cc3c", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/[id]/accept/__tests__/route.test.ts:3"}, "properties": {"repobilityId": "66da4ed5fd0b3da0", "scanner": "scanner-primary", "fingerprint": "0970d03c25a2cc3c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-24e36d6577968b2a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/api/weekly-review/[id]/accept/__tests__/route.test.ts:40"}, "properties": {"repobilityId": "19cbdc36b29f4132", "scanner": "scanner-primary", "fingerprint": "24e36d6577968b2a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-21bc25cb5662d860", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/[id]/reject/route.ts:3"}, "properties": {"repobilityId": "eb465632836920e1", "scanner": "scanner-primary", "fingerprint": "21bc25cb5662d860", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94bc5f3fb0200525", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/api/weekly-review/[id]/reject/__tests__/route.test.ts:6"}, "properties": {"repobilityId": "c653bd7447f1a336", "scanner": "scanner-primary", "fingerprint": "94bc5f3fb0200525", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f992dce08ca072f2", "level": "none", "message": {"text": "Commented-code block (12 lines) in apps/web/app/api/admin/playground/route.ts:4"}, "properties": {"repobilityId": "7092807536dd2f1a", "scanner": "scanner-primary", "fingerprint": "f992dce08ca072f2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-90c5e286c13f9f06", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/api/admin/users/[id]/moderation/route.ts:3"}, "properties": {"repobilityId": "346a6afce5f7586e", "scanner": "scanner-primary", "fingerprint": "90c5e286c13f9f06", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e43b13840c293929", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/admin/users/[id]/moderation/__tests__/route.test.ts:1"}, "properties": {"repobilityId": "1fab418b95a908ff", "scanner": "scanner-primary", "fingerprint": "e43b13840c293929", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f466e4dc3f25050", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/admin/login/route.ts:3"}, "properties": {"repobilityId": "2df54f96d4486c96", "scanner": "scanner-primary", "fingerprint": "6f466e4dc3f25050", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-77005ab818108680", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/admin/logs/route.ts:1"}, "properties": {"repobilityId": "282dadd8eba0ac15", "scanner": "scanner-primary", "fingerprint": "77005ab818108680", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-976dfea25f9c865d", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/admin/backups/[id]/route.ts:1"}, "properties": {"repobilityId": "5129e482765d3545", "scanner": "scanner-primary", "fingerprint": "976dfea25f9c865d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc0793e3c85c8c44", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/admin/backups/[id]/download/route.ts:1"}, "properties": {"repobilityId": "ac529a5e02623db5", "scanner": "scanner-primary", "fingerprint": "bc0793e3c85c8c44", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-79a825fee770dac9", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/coach/links/[id]/archive/route.ts:6"}, "properties": {"repobilityId": "9b402f5e3b13fdb2", "scanner": "scanner-primary", "fingerprint": "79a825fee770dac9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84eaddbcb424b88a", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/app/api/coach/workouts/route.ts:5"}, "properties": {"repobilityId": "02b87382e7923431", "scanner": "scanner-primary", "fingerprint": "84eaddbcb424b88a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27390e15362a9768", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/web/app/api/activities/manual/route.ts:5"}, "properties": {"repobilityId": "8074bf083bb879e4", "scanner": "scanner-primary", "fingerprint": "27390e15362a9768", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d810a0da51361ebf", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/web/app/api/activities/manual/__tests__/route.test.ts:9"}, "properties": {"repobilityId": "1096e4c07f87f408", "scanner": "scanner-primary", "fingerprint": "d810a0da51361ebf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3713c7b62a46cb1e", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/api/athlete/coach/disconnect/route.ts:3"}, "properties": {"repobilityId": "1726e00ed06a4e7c", "scanner": "scanner-primary", "fingerprint": "3713c7b62a46cb1e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1432bca005b48a78", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/athlete/coach/disconnect/__tests__/route.test.ts:3"}, "properties": {"repobilityId": "58d5e0db4e9d5344", "scanner": "scanner-primary", "fingerprint": "1432bca005b48a78", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-53e5f071ffed95cd", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/onboarding/strava-status/route.ts:3"}, "properties": {"repobilityId": "baa9690fdf207d68", "scanner": "scanner-primary", "fingerprint": "53e5f071ffed95cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4036500f442125d2", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/app/api/cron/weekly-review-expiry/route.ts:6"}, "properties": {"repobilityId": "9d49ca8b57ba0220", "scanner": "scanner-primary", "fingerprint": "4036500f442125d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89a645ce24358755", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/plans/route.ts:3"}, "properties": {"repobilityId": "eaf089f990c0a87d", "scanner": "scanner-primary", "fingerprint": "89a645ce24358755", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e6e0cbae12cf72d", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/inngest/route.ts:8"}, "properties": {"repobilityId": "ed5afbe92fece428", "scanner": "scanner-primary", "fingerprint": "1e6e0cbae12cf72d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2ad9acbc49aec51", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/app/api/workouts/[id]/status/route.ts:12"}, "properties": {"repobilityId": "55448c41f73f95ad", "scanner": "scanner-primary", "fingerprint": "e2ad9acbc49aec51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d30f75482a5c33c0", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/api/workouts/[id]/status/__tests__/route.test.ts:3"}, "properties": {"repobilityId": "07a65f839ee66a4f", "scanner": "scanner-primary", "fingerprint": "d30f75482a5c33c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5847851aeabc6a7a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/api/workouts/[id]/status/__tests__/route.test.ts:47"}, "properties": {"repobilityId": "a68f98196680ec05", "scanner": "scanner-primary", "fingerprint": "5847851aeabc6a7a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7ed21b6d3633a4c6", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/users/_components/moderation-actions.tsx:3"}, "properties": {"repobilityId": "9d3018474ad68a76", "scanner": "scanner-primary", "fingerprint": "7ed21b6d3633a4c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b45cc86372a67b3", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/users/_components/users-table.tsx:3"}, "properties": {"repobilityId": "bae05927c03e2f75", "scanner": "scanner-primary", "fingerprint": "0b45cc86372a67b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1de2454bcea85186", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/admin/(authed)/users/_components/users-table.tsx:78"}, "properties": {"repobilityId": "78b4d6e0284531c2", "scanner": "scanner-primary", "fingerprint": "1de2454bcea85186", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6074119271f71477", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/logs/_components/logs-table.tsx:3"}, "properties": {"repobilityId": "ee385f42747ee9ba", "scanner": "scanner-primary", "fingerprint": "6074119271f71477", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59993c1112f85bd3", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/backups/_components/restore-panel.tsx:3"}, "properties": {"repobilityId": "484de7332772dafd", "scanner": "scanner-primary", "fingerprint": "59993c1112f85bd3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b94eaa15eb3003f0", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/backups/_components/backup-logs.tsx:3"}, "properties": {"repobilityId": "e0c162e75ec216d5", "scanner": "scanner-primary", "fingerprint": "b94eaa15eb3003f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-90a9280f9d43e3ac", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/admin/(authed)/backups/_components/backup-list.tsx:3"}, "properties": {"repobilityId": "0ae81a22a8d6fa3b", "scanner": "scanner-primary", "fingerprint": "90a9280f9d43e3ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-243dd66605b38663", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/admin/(authed)/api-playground/_components/playground-panel.tsx:7"}, "properties": {"repobilityId": "5b370dfa8b3a9a4d", "scanner": "scanner-primary", "fingerprint": "243dd66605b38663", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f76369c5680fdb99", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/app/admin/(authed)/_components/admin-nav.tsx:29"}, "properties": {"repobilityId": "291141bda90c9d51", "scanner": "scanner-primary", "fingerprint": "f76369c5680fdb99", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b0b7244ab0cd7cc2", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/(athlete)/layout.tsx:19"}, "properties": {"repobilityId": "ec69f0205ed48bc8", "scanner": "scanner-primary", "fingerprint": "b0b7244ab0cd7cc2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a5d2eb8006bc0509", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/app/(athlete)/athlete/workouts/[id]/LapSplits.tsx:7"}, "properties": {"repobilityId": "5faba0938fa84fb6", "scanner": "scanner-primary", "fingerprint": "a5d2eb8006bc0509", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da8cbf9816ce2fa1", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/(athlete)/athlete/workouts/[id]/ZoneDistribution.tsx:3"}, "properties": {"repobilityId": "a957ccdc80e1f077", "scanner": "scanner-primary", "fingerprint": "da8cbf9816ce2fa1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-720795348330cec4", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/(athlete)/athlete/workouts/[id]/page.tsx:166"}, "properties": {"repobilityId": "d3b47a35efbb973f", "scanner": "scanner-primary", "fingerprint": "720795348330cec4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd6103e5a8a261ee", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/(athlete)/athlete/workouts/[id]/StatsDetail.tsx:1"}, "properties": {"repobilityId": "06c21e44606853d2", "scanner": "scanner-primary", "fingerprint": "fd6103e5a8a261ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e9f7ba1ab0a3de3", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/app/(athlete)/plan/page.tsx:10"}, "properties": {"repobilityId": "e1a58c6c2518bbec", "scanner": "scanner-primary", "fingerprint": "9e9f7ba1ab0a3de3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed0cce7327fde195", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/(athlete)/plan/__tests__/page.test.tsx:3"}, "properties": {"repobilityId": "aa6682ea30e6ef2d", "scanner": "scanner-primary", "fingerprint": "ed0cce7327fde195", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5cb3e2a286f09278", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/app/(coach)/athletes/[id]/plan/page.tsx:1"}, "properties": {"repobilityId": "ca306cfc53b4071d", "scanner": "scanner-primary", "fingerprint": "5cb3e2a286f09278", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a8d4b1605743dc6", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/app/(auth)/sign-up/coach/page.tsx:52"}, "properties": {"repobilityId": "665582d4c8525951", "scanner": "scanner-primary", "fingerprint": "8a8d4b1605743dc6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ced43efe3cad4b12", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/config.ts:1"}, "properties": {"repobilityId": "3530b55e5659eb4f", "scanner": "scanner-primary", "fingerprint": "ced43efe3cad4b12", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30f0a46b9dde8e78", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/__tests__/config.test.ts:3"}, "properties": {"repobilityId": "45ff8cac08dd3beb", "scanner": "scanner-primary", "fingerprint": "30f0a46b9dde8e78", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db304d04a5c9ce67", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/ai/prompt-delimiters.ts:4"}, "properties": {"repobilityId": "98cf61a501d6a149", "scanner": "scanner-primary", "fingerprint": "db304d04a5c9ce67", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-796ea4ff798ba5b5", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/__tests__/structure-superset.test.ts:1"}, "properties": {"repobilityId": "d42a27ef15498ee1", "scanner": "scanner-primary", "fingerprint": "796ea4ff798ba5b5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-adb18bfcc00b44d2", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/eval/judge.ts:1"}, "properties": {"repobilityId": "7798b8b1c6139a24", "scanner": "scanner-primary", "fingerprint": "adb18bfcc00b44d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84aff87af089c719", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/eval/deterministic.ts:3"}, "properties": {"repobilityId": "a21988c197bccae0", "scanner": "scanner-primary", "fingerprint": "84aff87af089c719", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-856024ba8dd83ebb", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/propose.ts:6"}, "properties": {"repobilityId": "82c820d9b041eedb", "scanner": "scanner-primary", "fingerprint": "856024ba8dd83ebb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7bb438548ac9b467", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/recipient-auth.ts:6"}, "properties": {"repobilityId": "5ab30f4ee443a595", "scanner": "scanner-primary", "fingerprint": "7bb438548ac9b467", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ba104e8f6307c2c", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/schedule.ts:1"}, "properties": {"repobilityId": "7c5fa01ace44d594", "scanner": "scanner-primary", "fingerprint": "9ba104e8f6307c2c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87d796ff3588e264", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/web/src/ai/adaptive/context.ts:5"}, "properties": {"repobilityId": "6add60d81dfec50e", "scanner": "scanner-primary", "fingerprint": "87d796ff3588e264", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c6b9e62ff769d4bc", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/precedence.ts:8"}, "properties": {"repobilityId": "ff145f2c10fe1df9", "scanner": "scanner-primary", "fingerprint": "c6b9e62ff769d4bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-91b4d785e773d28c", "level": "none", "message": {"text": "Commented-code block (11 lines) in apps/web/src/ai/adaptive/persist.ts:6"}, "properties": {"repobilityId": "387b98368bbd435c", "scanner": "scanner-primary", "fingerprint": "91b4d785e773d28c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16927c9de863d3ce", "level": "none", "message": {"text": "Commented-code block (17 lines) in apps/web/src/ai/adaptive/apply.ts:9"}, "properties": {"repobilityId": "2cb7726035a7df92", "scanner": "scanner-primary", "fingerprint": "16927c9de863d3ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75d70af5df7c6f10", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/ai/adaptive/llm-proposer.ts:5"}, "properties": {"repobilityId": "b442acdecff9f6bf", "scanner": "scanner-primary", "fingerprint": "75d70af5df7c6f10", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-63c2335cec6b076e", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/llm.ts:12"}, "properties": {"repobilityId": "4cb863f781d7574d", "scanner": "scanner-primary", "fingerprint": "63c2335cec6b076e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-112a6499cb68c7ac", "level": "none", "message": {"text": "Commented-code block (13 lines) in apps/web/src/ai/adaptive/engine.ts:5"}, "properties": {"repobilityId": "ea831865c09ebccf", "scanner": "scanner-primary", "fingerprint": "112a6499cb68c7ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04257f393bea1de3", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/__tests__/engine.test.ts:23"}, "properties": {"repobilityId": "bbe1c0d9d6d373b9", "scanner": "scanner-primary", "fingerprint": "04257f393bea1de3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa236f6799f37938", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/__tests__/apply.test.ts:3"}, "properties": {"repobilityId": "22b222a7a034299d", "scanner": "scanner-primary", "fingerprint": "fa236f6799f37938", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e897cb1d3fbdb54", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/ai/adaptive/triggers/on-demand.ts:3"}, "properties": {"repobilityId": "53f99f92d8afae88", "scanner": "scanner-primary", "fingerprint": "5e897cb1d3fbdb54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-413bf1b0c0fabd0e", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/web/src/ai/adaptive/triggers/__tests__/on-demand.test.ts:3"}, "properties": {"repobilityId": "4e2f3591db2cddfb", "scanner": "scanner-primary", "fingerprint": "413bf1b0c0fabd0e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38408988cec85108", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/ai/adaptive/__fixtures__/structure.ts:1"}, "properties": {"repobilityId": "d29af8c0b887ff59", "scanner": "scanner-primary", "fingerprint": "38408988cec85108", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8cc62df14216b96", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/web/src/ai/adaptive/detectors/missed-block.ts:7"}, "properties": {"repobilityId": "b135b4f80aa63f09", "scanner": "scanner-primary", "fingerprint": "a8cc62df14216b96", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a279aefe6a0c6504", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/adaptive/prompts/replan.ts:3"}, "properties": {"repobilityId": "424bdafe722c678e", "scanner": "scanner-primary", "fingerprint": "a279aefe6a0c6504", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34cb868184c4a3e0", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/ai/generation/validate-plan.ts:3"}, "properties": {"repobilityId": "9b3407397c7a65fc", "scanner": "scanner-primary", "fingerprint": "34cb868184c4a3e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-42ca36c76b0bf71e", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/generation/feasibility.ts:1"}, "properties": {"repobilityId": "4ec1260cbc2efbea", "scanner": "scanner-primary", "fingerprint": "42ca36c76b0bf71e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4816543fe8ba9474", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/ai/generation/phase-coherence.ts:3"}, "properties": {"repobilityId": "cb380e51e2ad1b24", "scanner": "scanner-primary", "fingerprint": "4816543fe8ba9474", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54bdcaa598379e17", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/ai/generation/context.ts:30"}, "properties": {"repobilityId": "5c1a58414531a8d6", "scanner": "scanner-primary", "fingerprint": "54bdcaa598379e17", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb155d7641357ee0", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/generation/content-gate.ts:1"}, "properties": {"repobilityId": "8412afe082aefba7", "scanner": "scanner-primary", "fingerprint": "fb155d7641357ee0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-036c4a0ce9e74003", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/generation/generate.ts:9"}, "properties": {"repobilityId": "c73a455c91070498", "scanner": "scanner-primary", "fingerprint": "036c4a0ce9e74003", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c33f009409dc649b", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/ai/generation/__tests__/validate-plan.test.ts:3"}, "properties": {"repobilityId": "77e310a310c97e6c", "scanner": "scanner-primary", "fingerprint": "c33f009409dc649b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-095621c64a3e5020", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/ai/generation/prompts/generate-plan.ts:3"}, "properties": {"repobilityId": "a7207bd2c9232460", "scanner": "scanner-primary", "fingerprint": "095621c64a3e5020", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04524a6e0ad68801", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/auth/entitlements.ts:5"}, "properties": {"repobilityId": "f525a46c2be38552", "scanner": "scanner-primary", "fingerprint": "04524a6e0ad68801", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0309ec71e7bb97c", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/auth/admin-session.ts:3"}, "properties": {"repobilityId": "3335b6ba7b4e2ecd", "scanner": "scanner-primary", "fingerprint": "c0309ec71e7bb97c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d22090c82658827", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/auth/trial.ts:5"}, "properties": {"repobilityId": "17a085c78452a4ea", "scanner": "scanner-primary", "fingerprint": "2d22090c82658827", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-13e216fba6394f1c", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/auth/bearer.ts:4"}, "properties": {"repobilityId": "42bc39cbfdbc2d09", "scanner": "scanner-primary", "fingerprint": "13e216fba6394f1c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-32b80b376a98fc39", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/auth/__tests__/entitlements.test.ts:8"}, "properties": {"repobilityId": "f054814a1743a8b5", "scanner": "scanner-primary", "fingerprint": "32b80b376a98fc39", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-532b587239a09f23", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/auth/__tests__/admin-session.test.ts:1"}, "properties": {"repobilityId": "362a48ca162c36b9", "scanner": "scanner-primary", "fingerprint": "532b587239a09f23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d258a47d0c6dc2a9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/api/client.ts:18"}, "properties": {"repobilityId": "99bd632f8b7d3dbc", "scanner": "scanner-primary", "fingerprint": "d258a47d0c6dc2a9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-57e9183da9ac4fb5", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/api/__tests__/coach-workouts.test.ts:7"}, "properties": {"repobilityId": "56abf702517ef61f", "scanner": "scanner-primary", "fingerprint": "57e9183da9ac4fb5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2b018b1cceb08a4", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/api/__tests__/workout-status.test.ts:8"}, "properties": {"repobilityId": "8b3e8c2c04fd413f", "scanner": "scanner-primary", "fingerprint": "e2b018b1cceb08a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f94f22991e9a8184", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/api/__tests__/strava-disconnect.test.ts:3"}, "properties": {"repobilityId": "bd042b484a9f2750", "scanner": "scanner-primary", "fingerprint": "f94f22991e9a8184", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bef5014e0e315c89", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/api/__tests__/strava-disconnect.test.ts:7"}, "properties": {"repobilityId": "5efcc4e090075f28", "scanner": "scanner-primary", "fingerprint": "bef5014e0e315c89", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c0d87ad259f9b0b1", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/api/__tests__/strava-mobile-bounce.test.ts:7"}, "properties": {"repobilityId": "069a84efe34d7966", "scanner": "scanner-primary", "fingerprint": "c0d87ad259f9b0b1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-13342b599da24bcd", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/api/__tests__/coach-links.test.ts:7"}, "properties": {"repobilityId": "f5cac60dfc6e8a6f", "scanner": "scanner-primary", "fingerprint": "13342b599da24bcd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1ad5e6b3d4e1fcc", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/strava/state-nonce.ts:3"}, "properties": {"repobilityId": "4351ef0fd718992f", "scanner": "scanner-primary", "fingerprint": "d1ad5e6b3d4e1fcc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e18435099f5ec5cf", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/strava/auto-match.ts:9"}, "properties": {"repobilityId": "d746222a0f0d0c31", "scanner": "scanner-primary", "fingerprint": "e18435099f5ec5cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d1057dd10d58344", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/strava/schemas.ts:5"}, "properties": {"repobilityId": "8b11382415d0d550", "scanner": "scanner-primary", "fingerprint": "2d1057dd10d58344", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16a46f0d48c264bd", "level": "none", "message": {"text": "Commented-code block (10 lines) in apps/web/src/strava/endpoints.ts:3"}, "properties": {"repobilityId": "f16ff542d9adabd8", "scanner": "scanner-primary", "fingerprint": "16a46f0d48c264bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f52920dc0c653466", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/strava/endpoints.ts:34"}, "properties": {"repobilityId": "fa53ed780d2921ca", "scanner": "scanner-primary", "fingerprint": "f52920dc0c653466", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cefebfc62de5fca6", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/strava/client.ts:4"}, "properties": {"repobilityId": "fa7e8c91fa45218b", "scanner": "scanner-primary", "fingerprint": "cefebfc62de5fca6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0f6e3d5a70da427", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/strava/client.ts:12"}, "properties": {"repobilityId": "5c356b0de2a532e3", "scanner": "scanner-primary", "fingerprint": "e0f6e3d5a70da427", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-836df760920fbf32", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/strava/http.ts:7"}, "properties": {"repobilityId": "6ed48be776ecb433", "scanner": "scanner-primary", "fingerprint": "836df760920fbf32", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30fd59bf58c86944", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/strava/hydrate-workout.ts:26"}, "properties": {"repobilityId": "4ccbc9b9be062349", "scanner": "scanner-primary", "fingerprint": "30fd59bf58c86944", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a3a11ea2c034b9c2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/strava/hydrate-workout.ts:61"}, "properties": {"repobilityId": "2483508f0a14122c", "scanner": "scanner-primary", "fingerprint": "a3a11ea2c034b9c2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f11fa6859200c603", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/strava/errors.ts:3"}, "properties": {"repobilityId": "7d919a2d2d675b20", "scanner": "scanner-primary", "fingerprint": "f11fa6859200c603", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d89e3dce753ebf2e", "level": "none", "message": {"text": "Commented-code block (10 lines) in apps/web/src/strava/__tests__/client.test.ts:3"}, "properties": {"repobilityId": "329f62c7a23ee8d0", "scanner": "scanner-primary", "fingerprint": "d89e3dce753ebf2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c24c78ed04eab6a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/strava/__tests__/client.test.ts:213"}, "properties": {"repobilityId": "867efa8e65287845", "scanner": "scanner-primary", "fingerprint": "0c24c78ed04eab6a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e82a5f1b2f547766", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/web/src/components/__tests__/app-shell-responsive.test.ts:3"}, "properties": {"repobilityId": "60c2e8507ee82fb7", "scanner": "scanner-primary", "fingerprint": "e82a5f1b2f547766", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80c5b9f287dad35f", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/lib/zone-palette.ts:1"}, "properties": {"repobilityId": "67cac6729b5be2fc", "scanner": "scanner-primary", "fingerprint": "80c5b9f287dad35f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-798ec4dc328f76f8", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/lib/training-math.ts:1"}, "properties": {"repobilityId": "ff61659b0edc01d4", "scanner": "scanner-primary", "fingerprint": "798ec4dc328f76f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a279873b777eb30", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/admin/backup-export.ts:8"}, "properties": {"repobilityId": "40e98415f3bdff22", "scanner": "scanner-primary", "fingerprint": "2a279873b777eb30", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a787d14e40ab401", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/web/src/admin/backup-retention.ts:3"}, "properties": {"repobilityId": "ce3f0e9e701ede21", "scanner": "scanner-primary", "fingerprint": "7a787d14e40ab401", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35b4e4a26064e321", "level": "note", "message": {"text": "Legacy-named symbol `is_physical_backup` in apps/web/src/admin/managed-backups.ts:35"}, "properties": {"repobilityId": "e07618ef0cd9361c", "scanner": "scanner-primary", "fingerprint": "35b4e4a26064e321", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c633332cb97fbda7", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/admin/backup-crypto.ts:3"}, "properties": {"repobilityId": "7abcd0b8794feb2f", "scanner": "scanner-primary", "fingerprint": "c633332cb97fbda7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0da681381350bdd", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/admin/backup-restore.ts:3"}, "properties": {"repobilityId": "7fa6cdeb7e2fc7ba", "scanner": "scanner-primary", "fingerprint": "c0da681381350bdd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe2789244aee7e7e", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/adaptive/ProposalReview.tsx:3"}, "properties": {"repobilityId": "9e600116061a0f09", "scanner": "scanner-primary", "fingerprint": "fe2789244aee7e7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-48ad289b6f4669f0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/adaptive/ProposalReview.tsx:5"}, "properties": {"repobilityId": "bfd7000e2732fe50", "scanner": "scanner-primary", "fingerprint": "48ad289b6f4669f0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9454679ffe0eb954", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/adaptive/ReviewBanner.tsx:3"}, "properties": {"repobilityId": "ecc759ba0a6cdc8b", "scanner": "scanner-primary", "fingerprint": "9454679ffe0eb954", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c16aafa8c2a650c0", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/web/src/db/admin-users.ts:7"}, "properties": {"repobilityId": "8eaf8ec4e920e6e3", "scanner": "scanner-primary", "fingerprint": "c16aafa8c2a650c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b9c13bf2efec1d9", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/db/admin-moderation.ts:11"}, "properties": {"repobilityId": "086938a795ebc67e", "scanner": "scanner-primary", "fingerprint": "0b9c13bf2efec1d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73e06d588ccb040b", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/db/workout-edits.ts:3"}, "properties": {"repobilityId": "26148ecf47e6f3ed", "scanner": "scanner-primary", "fingerprint": "73e06d588ccb040b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-61b7aad0af8831f8", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/db/strava-tokens.ts:3"}, "properties": {"repobilityId": "4b7937b6b219ea63", "scanner": "scanner-primary", "fingerprint": "61b7aad0af8831f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb0e140f0ce741c1", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/db/create-ai-plan.ts:5"}, "properties": {"repobilityId": "d0dc0c45e68fb745", "scanner": "scanner-primary", "fingerprint": "bb0e140f0ce741c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-51b987d54680a9e9", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/db/admin.ts:14"}, "properties": {"repobilityId": "524d477875e79fea", "scanner": "scanner-primary", "fingerprint": "51b987d54680a9e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4fb18e4f50f2fcd1", "level": "none", "message": {"text": "Commented-code block (10 lines) in apps/web/src/db/weekly-reviews.ts:5"}, "properties": {"repobilityId": "9f200873b44fd63a", "scanner": "scanner-primary", "fingerprint": "4fb18e4f50f2fcd1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87060b7806079b78", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/db/__tests__/workout-edits.rls.test.ts:1"}, "properties": {"repobilityId": "55fbf517e82d6fa0", "scanner": "scanner-primary", "fingerprint": "87060b7806079b78", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df0ed5b787693c38", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/db/__tests__/admin-moderation.unit.test.ts:1"}, "properties": {"repobilityId": "bd990c68db9b803e", "scanner": "scanner-primary", "fingerprint": "df0ed5b787693c38", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12fbdaa4151ee500", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/db/__tests__/weekly-reviews.rls.test.ts:1"}, "properties": {"repobilityId": "9986048cd8253d25", "scanner": "scanner-primary", "fingerprint": "12fbdaa4151ee500", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c4345a4b3226aa0", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/db/__tests__/athlete-profile-lockstep.test.ts:1"}, "properties": {"repobilityId": "58874f83e7305108", "scanner": "scanner-primary", "fingerprint": "0c4345a4b3226aa0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0137be17bc270cf7", "level": "none", "message": {"text": "Commented-code block (10 lines) in apps/web/src/db/__tests__/create-ai-plan.test.ts:1"}, "properties": {"repobilityId": "21931edc038df466", "scanner": "scanner-primary", "fingerprint": "0137be17bc270cf7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a99bfef6939f4ad9", "level": "none", "message": {"text": "Commented-code block (12 lines) in apps/web/src/db/__tests__/athlete-profile-backfill-status.test.ts:5"}, "properties": {"repobilityId": "a6e0296b262c060e", "scanner": "scanner-primary", "fingerprint": "a99bfef6939f4ad9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-11f28f4f6f1a71df", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/web/src/db/__tests__/smoke.test.ts:1"}, "properties": {"repobilityId": "e053cd580d15efa6", "scanner": "scanner-primary", "fingerprint": "11f28f4f6f1a71df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87524572d697392a", "level": "none", "message": {"text": "Commented-code block (10 lines) in apps/web/src/db/__tests__/apply-weekly-review.rls.test.ts:1"}, "properties": {"repobilityId": "fd934d4a1ada3991", "scanner": "scanner-primary", "fingerprint": "87524572d697392a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-13ac54265be11ce2", "level": "none", "message": {"text": "Commented-code block (14 lines) in apps/web/src/db/__tests__/planned-workouts.test.ts:1"}, "properties": {"repobilityId": "6c8c3809131b7c5f", "scanner": "scanner-primary", "fingerprint": "13ac54265be11ce2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d287d4e33895a591", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/web/src/db/__tests__/plans.test.ts:1"}, "properties": {"repobilityId": "02f30a21d6cd9d97", "scanner": "scanner-primary", "fingerprint": "d287d4e33895a591", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2446ec3833cfec6b", "level": "none", "message": {"text": "Commented-code block (10 lines) in apps/web/src/db/__tests__/workout-matches.test.ts:1"}, "properties": {"repobilityId": "0655d3a111362024", "scanner": "scanner-primary", "fingerprint": "2446ec3833cfec6b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88e369157f12a177", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/db/__tests__/ai-generation-attempts.rls.test.ts:1"}, "properties": {"repobilityId": "95c059727dd65f10", "scanner": "scanner-primary", "fingerprint": "88e369157f12a177", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0714092006e25709", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/db/__tests__/coach-athlete-links.rls.test.ts:1"}, "properties": {"repobilityId": "d3e8b2466d081812", "scanner": "scanner-primary", "fingerprint": "0714092006e25709", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a556af98b6b9c06a", "level": "none", "message": {"text": "Commented-code block (16 lines) in apps/web/src/db/__tests__/setup.ts:3"}, "properties": {"repobilityId": "abfbffa2c37fbc89", "scanner": "scanner-primary", "fingerprint": "a556af98b6b9c06a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af50435b19e80c7f", "level": "none", "message": {"text": "Commented-code block (13 lines) in apps/web/src/db/__tests__/completed-workouts.test.ts:1"}, "properties": {"repobilityId": "3185b8dae444ca86", "scanner": "scanner-primary", "fingerprint": "af50435b19e80c7f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17a3d026001f4374", "level": "none", "message": {"text": "Commented-code block (12 lines) in apps/web/src/db/__tests__/athlete-profile.test.ts:1"}, "properties": {"repobilityId": "66871fb6357d0c84", "scanner": "scanner-primary", "fingerprint": "17a3d026001f4374", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d41a35556f63d67f", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/db/__tests__/workout-edits-append.test.ts:3"}, "properties": {"repobilityId": "9bebc106a8ec982a", "scanner": "scanner-primary", "fingerprint": "d41a35556f63d67f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5cc25e4a78952a19", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/training-load/load-series.ts:8"}, "properties": {"repobilityId": "aae19c510b65e91d", "scanner": "scanner-primary", "fingerprint": "5cc25e4a78952a19", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d77b1cb160c08ceb", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/training-load/invariants.ts:12"}, "properties": {"repobilityId": "b6dbe4a147dd540a", "scanner": "scanner-primary", "fingerprint": "d77b1cb160c08ceb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-efe0ca0fd8360665", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/plan/GeneratePlanCard.tsx:3"}, "properties": {"repobilityId": "1a8e8a3735cd68d3", "scanner": "scanner-primary", "fingerprint": "efe0ca0fd8360665", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c046284c4c858ec", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/realtime/weekly-reviews.ts:6"}, "properties": {"repobilityId": "2d049866f5b795ad", "scanner": "scanner-primary", "fingerprint": "6c046284c4c858ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31063812476069aa", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/inngest/client.ts:4"}, "properties": {"repobilityId": "16da328b891e10ec", "scanner": "scanner-primary", "fingerprint": "31063812476069aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-51d20ac068c9801e", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/inngest/functions/adaptive-detectors.ts:3"}, "properties": {"repobilityId": "ea91c0d18400aa57", "scanner": "scanner-primary", "fingerprint": "51d20ac068c9801e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-854d62731e127022", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/inngest/functions/adaptive-run.ts:3"}, "properties": {"repobilityId": "4aa923435d133f89", "scanner": "scanner-primary", "fingerprint": "854d62731e127022", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19fac77be36117d2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/inngest/functions/backfill-strava.ts:101"}, "properties": {"repobilityId": "3c33fb85cb3650c4", "scanner": "scanner-primary", "fingerprint": "19fac77be36117d2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d3017896b5343017", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/inngest/functions/backfill-watchdog.ts:3"}, "properties": {"repobilityId": "2c8aab1772730476", "scanner": "scanner-primary", "fingerprint": "d3017896b5343017", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-172184a6b6e3948d", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/inngest/functions/generate-plan.ts:5"}, "properties": {"repobilityId": "b84b794bc148de31", "scanner": "scanner-primary", "fingerprint": "172184a6b6e3948d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ff625df7f3771ce", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/inngest/functions/__tests__/generate-plan.test.ts:1"}, "properties": {"repobilityId": "a075b92f3e5a9774", "scanner": "scanner-primary", "fingerprint": "2ff625df7f3771ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c6e6b25eccbb43f", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/inngest/functions/__tests__/registry.test.ts:1"}, "properties": {"repobilityId": "03546ce1471b0c6b", "scanner": "scanner-primary", "fingerprint": "7c6e6b25eccbb43f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-732f20e2ed030fb0", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/llm/index.ts:3"}, "properties": {"repobilityId": "871c1997fad02581", "scanner": "scanner-primary", "fingerprint": "732f20e2ed030fb0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ffd6116634e66f52", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/llm/tracing.ts:3"}, "properties": {"repobilityId": "0a9ade1502b2d08b", "scanner": "scanner-primary", "fingerprint": "ffd6116634e66f52", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8caab3e8f1f404cf", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/llm/errors.ts:3"}, "properties": {"repobilityId": "bd4b63c32a162fd5", "scanner": "scanner-primary", "fingerprint": "8caab3e8f1f404cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2f79bcb2f591701", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/llm/__tests__/anthropic.test.ts:12"}, "properties": {"repobilityId": "7bcff924e6e00f21", "scanner": "scanner-primary", "fingerprint": "b2f79bcb2f591701", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b54efa1d0181c197", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/llm/__tests__/groq.test.ts:13"}, "properties": {"repobilityId": "d008ae3220ea9dc1", "scanner": "scanner-primary", "fingerprint": "b54efa1d0181c197", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-466edd54734b8567", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/app-store-odds.py:57"}, "properties": {"repobilityId": "23362f809952664b", "scanner": "scanner-primary", "fingerprint": "466edd54734b8567", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3eb330ce38aff55f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/shared/src/admin-moderation.ts:1"}, "properties": {"repobilityId": "23dac4c8fdc4444a", "scanner": "scanner-primary", "fingerprint": "3eb330ce38aff55f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af984e72a378fe29", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/shared/src/weekly-review.ts:1"}, "properties": {"repobilityId": "1b3f243435a28d01", "scanner": "scanner-primary", "fingerprint": "af984e72a378fe29", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a5b9a75cc3584a37", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/shared/src/strava-raw-payload.ts:19"}, "properties": {"repobilityId": "806fdf5dcf2f1ee5", "scanner": "scanner-primary", "fingerprint": "a5b9a75cc3584a37", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fea4ac42bd561402", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/shared/src/completed-workout.ts:5"}, "properties": {"repobilityId": "f11dae1a3b88ba5f", "scanner": "scanner-primary", "fingerprint": "fea4ac42bd561402", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c154cb5f7e36247", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/shared/src/workout-edit.ts:6"}, "properties": {"repobilityId": "fca48a5e3ea81d7d", "scanner": "scanner-primary", "fingerprint": "7c154cb5f7e36247", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b68c76ab1e733974", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/shared/src/edit-op.ts:1"}, "properties": {"repobilityId": "0407ee38e744e150", "scanner": "scanner-primary", "fingerprint": "b68c76ab1e733974", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88c7874d273eb23f", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/shared/src/plan-generation.ts:6"}, "properties": {"repobilityId": "964f666c28e440f9", "scanner": "scanner-primary", "fingerprint": "88c7874d273eb23f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f77875da79b1647", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/shared/src/realtime-allowlist.ts:5"}, "properties": {"repobilityId": "5a962f22b315f78c", "scanner": "scanner-primary", "fingerprint": "3f77875da79b1647", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dc677498d9402211", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/shared/src/athlete-profile.ts:1"}, "properties": {"repobilityId": "94cb6947c1423bf4", "scanner": "scanner-primary", "fingerprint": "dc677498d9402211", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-119fd545827c3385", "level": "none", "message": {"text": "Commented-code block (13 lines) in packages/shared/src/strava-connect.ts:4"}, "properties": {"repobilityId": "d1380dd168dbd959", "scanner": "scanner-primary", "fingerprint": "119fd545827c3385", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-478d5fee6cbadbc6", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/shared/src/entitlement.ts:17"}, "properties": {"repobilityId": "f46e5425fb7127e0", "scanner": "scanner-primary", "fingerprint": "478d5fee6cbadbc6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56db1315fcc470c7", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/shared/src/workout-match.ts:6"}, "properties": {"repobilityId": "3615e05b4b7fe760", "scanner": "scanner-primary", "fingerprint": "56db1315fcc470c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5aacc49180ab1b82", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/shared/src/strava-token.ts:9"}, "properties": {"repobilityId": "b5a512f0b5dd07c5", "scanner": "scanner-primary", "fingerprint": "5aacc49180ab1b82", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8509b81c6dd76cbf", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/shared/src/planned-workout.ts:36"}, "properties": {"repobilityId": "9795d69172ac37c3", "scanner": "scanner-primary", "fingerprint": "8509b81c6dd76cbf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1ea76d75622c2d2", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/shared/src/strava-backfill.ts:8"}, "properties": {"repobilityId": "6ca0bb8a8a81077c", "scanner": "scanner-primary", "fingerprint": "e1ea76d75622c2d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a4d88ef44dddc78b", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/shared/src/__tests__/workout-match.test.ts:144"}, "properties": {"repobilityId": "b01e4b4e914aeac0", "scanner": "scanner-primary", "fingerprint": "a4d88ef44dddc78b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-57f130848d4657bb", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/shared/src/__tests__/strava-raw-payload.test.ts:77"}, "properties": {"repobilityId": "bfcd42e031216e92", "scanner": "scanner-primary", "fingerprint": "57f130848d4657bb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af022f937dd5b7fd", "level": "note", "message": {"text": "9 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "5597384795dea7a4", "scanner": "scanner-primary", "fingerprint": "af022f937dd5b7fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}]}]}