{"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: SIRXIII/FitConnect", "shortDescription": {"text": "Foundry mined unresolved feedback: SIRXIII/FitConnect"}, "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: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#5\nRepo: SIRXIII/FitConnect\nIssue/PR number: 5\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 30\nEdges: 77\nNode types: {'pr_file': 10, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'commit':"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: SIRXIII/FitConnect", "shortDescription": {"text": "Foundry mined blueprint gap alignment: SIRXIII/FitConnect"}, "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: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#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: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#5\nRepo: SIRXIII/FitConnect\nIssue/PR number: 5\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 30\nEdges: 77\nNode types: {'pr_file': 10, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'comm"}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: SIRXIII/FitConnect", "shortDescription": {"text": "Foundry mined assumption checks: SIRXIII/FitConnect"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#3\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: SIRXIII/FitConnect#3\nRepo: SIRXIII/FitConnect\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 5\nLinked CI commit count: 1\nLinked CI labels: {'ci_failure_signal': 1}\nChanged file count: 6\nLabels: {'agent_instruction_gap': 1, 'human_feedback_general': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2, 'neutral': 1}\nChanged file labels: {'ui_or_frontend': 6}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-14c17e5acdaf5c0d\",\n    \"kind\": \"pull_reques"}, "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: SIRXIII/FitConnect", "shortDescription": {"text": "Foundry mined test ci gap after feedback: SIRXIII/FitConnect"}, "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: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#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: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#4\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#4\nRepo: SIRXIII/FitConnect\nIssue/PR number: 4\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 25\nEdges: 36\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'pr_file': 1, 'ci_summary': 1, "}, "properties": {"scanner": "foundry_dataset", "category": "testing", "severity": "high", "confidence": 0.78, "cwe": "", "owasp": ""}}, {"id": "foundry_schema_ui_api_gap", "name": "Foundry mined schema ui api mismatch: SIRXIII/FitConnect", "shortDescription": {"text": "Foundry mined schema ui api mismatch: SIRXIII/FitConnect"}, "fullDescription": {"text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#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: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#5\nRepo: SIRXIII/FitConnect\nIssue/PR number: 5\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 30\nEdges: 77\nNode types: {'pr_file': 10, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'commit': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcom"}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_docs_only_fix", "name": "Foundry mined docs only runtime fix: SIRXIII/FitConnect", "shortDescription": {"text": "Foundry mined docs only runtime fix: SIRXIII/FitConnect"}, "fullDescription": {"text": "Graph query export: Docs-only response to runtime or integration issue\nQuery id: docs_only_runtime_fix\nQuery type: motif_query\nIntent: Assumption-check examples where docs or claims are not enough proof.\nMotif: docs_only_runtime_fix\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#1\nEvidence:\nGraph motif: Runtime/integration complaint answered mostly with docs or claims\nMotif id: docs_only_runtime_fix\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#1\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#1\nRepo: SIRXIII/FitConnect\nIssue/PR number: 1\nGraph consistency label: weak_supervision_needs_review\nNodes: 113\nEdges: 153\nNode types: {'pr_file': 100, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fi"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "high", "confidence": 0.8, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: SIRXIII/FitConnect", "shortDescription": {"text": "Foundry mined bad chains: SIRXIII/FitConnect"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: SIRXIII/FitConnect#5\nRepo: SIRXIII/FitConnect\nThread label: thread_has_human_issue_and_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 3\nLinked commit count: 1\nLinked CI commit count: 1\nLinked CI labels: {'ci_failure_signal': 1}\nChanged file count: 10\nLabels: {'data_schema_persistence': 1, 'deployment_env_gap': 2}\nPolarities: {'bad': 3}\nChanged file labels: {'ui_or_frontend': 7, 'test_or_ci': 2, 'schema_or_data': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-fe3ef592d3dde932\",\n    \"kind\": \"pull_request_body\""}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "high", "confidence": 0.84, "cwe": "", "owasp": ""}}, {"id": "foundry_failing_ci_claim", "name": "Foundry mined claimed resolved with failing ci: SIRXIII/FitConnect", "shortDescription": {"text": "Foundry mined claimed resolved with failing ci: SIRXIII/FitConnect"}, "fullDescription": {"text": "Graph query export: Claimed resolved with failing CI\nQuery id: claimed_resolved_with_failing_ci\nQuery type: motif_query\nIntent: Hard negatives where CI/failure evidence contradicts a resolution claim.\nMotif: claimed_resolved_with_failing_ci\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nEvidence:\nGraph motif: Claimed resolved while CI or failure evidence contradicts it\nMotif id: claimed_resolved_with_failing_ci\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#5\nRepo: SIRXIII/FitConnect\nIssue/PR number: 5\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 30\nEdges: 77\nNode types: {'pr_file': 10, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'com"}, "properties": {"scanner": "foundry_dataset", "category": "ci", "severity": "critical", "confidence": 0.86, "cwe": "", "owasp": ""}}, {"id": "scanner-718f16757fe8fc33", "name": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/stripe-billing-webhook/index.ts:85", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/stripe-billing-webhook/index.ts:85"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c94ffb1e7acd3a9f", "name": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/weekly-payouts/index.ts:75", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/weekly-payouts/index.ts:75"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a0fdc769657330b0", "name": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/send-notification-email/index.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/send-notification-email/index.ts:76"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3679add38768b4ef", "name": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/create-payout/index.ts:193", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/create-payout/index.ts:193"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ed617d32a69cb0d", "name": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/stripe-webhook/index.ts:170", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/stripe-webhook/index.ts:170"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3088a446427609e7", "name": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/waitlist-signup/index.ts:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/waitlist-signup/index.ts:87"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebb2706e75b36178", "name": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/notify-trainer-booking/index.ts:119", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/notify-trainer-booking/index.ts:119"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-95280f2506bd51a1", "name": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/send-push-notification/index.ts:158", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/send-push-notification/index.ts:158"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f352328ce71d3f19", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/layout/Navbar.tsx:203", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/layout/Navbar.tsx:203"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2df752339c6c9ffd", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/client/WorkoutTab.tsx:167", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/client/WorkoutTab.tsx:167"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-761fa0c136a912cf", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/recommendations/RecommendedTra", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/recommendations/RecommendedTrainerCard.tsx:38"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-64676bf0915ad088", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/shared/ReferralWidget.tsx:37", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/shared/ReferralWidget.tsx:37"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c67496922ec4003", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/search/MobileTrainerSheet.tsx:", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/search/MobileTrainerSheet.tsx:136"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4d7c9b70c5ab2c46", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/support/ClientSupportTab.tsx:4", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/support/ClientSupportTab.tsx:440"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c0e3dacaa687f10b", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/support/MyTickets.tsx:219", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/support/MyTickets.tsx:219"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f269771ae662495f", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/support/AdminSupportQueue.tsx:", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/support/AdminSupportQueue.tsx:431"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a56ce299cfff5e6b", "name": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/src/components/trainer/OptimizationSection.tsx:247", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/src/components/trainer/OptimizationSection.tsx:247"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9f2a89634a2b0b1b", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/trainer/GoLiveLocationPicker.t", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/trainer/GoLiveLocationPicker.tsx:103"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ae646586ebbd1ec", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/trainer/WorkoutLocationsManage", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/trainer/WorkoutLocationsManager.tsx:281"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c6a21d9a3bfb0f33", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/map/TrainerInfoCard.tsx:64", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/map/TrainerInfoCard.tsx:64"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ca88c83acf8fc61b", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/calendar/CalendarExportCard.ts", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/calendar/CalendarExportCard.tsx:78"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-797ff3c054c97fd9", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/pages/Messages.tsx:314", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/pages/Messages.tsx:314"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-19cd007329b97491", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/pages/AdminDashboard.tsx:1214", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/pages/AdminDashboard.tsx:1214"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8ca62bc821214ee", "name": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/pages/ClientDashboard.tsx:172", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/pages/ClientDashboard.tsx:172"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5ca5b31f08606140", "name": "Insecure pattern 'cors_wildcard' in Cenlar demand gt 1-17/supabase/functions/create-setup-intent/index.ts:18", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in Cenlar demand gt 1-17/supabase/functions/create-setup-intent/index.ts:18"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b1a93896e41b5b17", "name": "Insecure pattern 'cors_wildcard' in Cenlar demand gt 1-17/supabase/functions/_shared/cors.ts:2", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in Cenlar demand gt 1-17/supabase/functions/_shared/cors.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5948f6e2cdcf07c6", "name": "Insecure pattern 'local_storage_auth_token' in Cenlar demand gt 1-17/src/components/calendar/GoogleCalendarConnect.tsx:2", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in Cenlar demand gt 1-17/src/components/calendar/GoogleCalendarConnect.tsx:29"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6f60f012ede581eb", "name": "Possible secret in Cenlar demand gt 1-17/e2e/auth.setup.ts", "shortDescription": {"text": "Possible secret in Cenlar demand gt 1-17/e2e/auth.setup.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-e985faa094c4c02d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c81d80bcfdee5c21", "name": "Very large file: Cenlar demand gt 1-17/src/pages/AdminDashboard.tsx (2391 lines)", "shortDescription": {"text": "Very large file: Cenlar demand gt 1-17/src/pages/AdminDashboard.tsx (2391 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "23 tests / 208 src (ratio 0.11)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 33 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 144 placeholder/mock markers across 31 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e37bafdceaaf4bc5", "name": "Agent authority lacks a verifier contract: Cenlar demand gt 1-17/.claude/launch.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: Cenlar demand gt 1-17/.claude/launch.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2c5f98b152cddb6d", "name": "Agent authority lacks a verifier contract: .claude/launch.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/launch.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-72ca0113d8a97a46", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/stripe-billing-webhook/index.ts:1", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/stripe-billing-webhook/index.ts:191"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f81a1d6ba6f5d1e2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/process-referral-reward/index.ts:", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/process-referral-reward/index.ts:118"}, "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-aa150d173525242e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/weekly-payouts/index.ts:238", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/weekly-payouts/index.ts:238"}, "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-591b07f52948c985", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/send-notification-email/index.ts:", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/send-notification-email/index.ts:81"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c60f8409c1448d6b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/cancel-booking/index.ts:194", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/cancel-booking/index.ts:194"}, "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-fc4daed3c202b306", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/create-payout/index.ts:187", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/create-payout/index.ts:187"}, "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-e19ee957525d7b9c", "name": "Commented-code block (5 lines) in Cenlar demand gt 1-17/supabase/functions/stripe-webhook/index.ts:158", "shortDescription": {"text": "Commented-code block (5 lines) in Cenlar demand gt 1-17/supabase/functions/stripe-webhook/index.ts:158"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-425b0603d16bd5d1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/stripe-webhook/index.ts:210", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/stripe-webhook/index.ts:210"}, "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-03ffe9748d59186e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/google-calendar-connect/index.ts:", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/google-calendar-connect/index.ts:93"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e0c34407a8375115", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/waitlist-signup/index.ts:89", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/waitlist-signup/index.ts:89"}, "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-23c6206a528a472c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/notify-trainer-booking/index.ts:1", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/notify-trainer-booking/index.ts:124"}, "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-2f596c50963e5b8d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/create-payment-intent/index.ts:26", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/create-payment-intent/index.ts:268"}, "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-d947ffc8e1e819f0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/_shared/gcal-helpers.ts:52", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/_shared/gcal-helpers.ts:52"}, "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-807e8e6a094fbef3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/src/pages/TrainerDashboard.tsx:151", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/src/pages/TrainerDashboard.tsx:151"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c368e0c729d3dd38", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/src/hooks/useNotificationPreferences.test.ts:58", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/src/hooks/useNotificationPreferences.test.ts:58"}, "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-3bf299836af56ca1", "name": "Frontend route `/auth/callback` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx", "shortDescription": {"text": "Frontend route `/auth/callback` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-68508c5f8cf43cff", "name": "Frontend route `/auth/google-callback` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx", "shortDescription": {"text": "Frontend route `/auth/google-callback` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-efc3810de41778b3", "name": "Frontend route `/signup` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx", "shortDescription": {"text": "Frontend route `/signup` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fde9be5aee0e6c60", "name": "Frontend route `/dashboard` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx", "shortDescription": {"text": "Frontend route `/dashboard` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-acf6a19e5103de8e", "name": "Frontend route `/role-select` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx", "shortDescription": {"text": "Frontend route `/role-select` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-52f101a7008d3a9f", "name": "Frontend route `/onboarding` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx", "shortDescription": {"text": "Frontend route `/onboarding` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a0bdd9102d856463", "name": "Frontend route `/trainers/:id` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx", "shortDescription": {"text": "Frontend route `/trainers/:id` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f781b74dc680c713", "name": "Frontend route `/book/:slotId` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx", "shortDescription": {"text": "Frontend route `/book/:slotId` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-055b81d83b602e2b", "name": "Frontend route `/help/tickets/:id` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx", "shortDescription": {"text": "Frontend route `/help/tickets/:id` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/19740"}, "properties": {"repository": "SIRXIII/FitConnect", "repoUrl": "https://github.com/SIRXIII/FitConnect", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: SIRXIII/FitConnect"}, "properties": {"repobilityId": 423254, "scanner": "foundry_dataset", "fingerprint": "8ee0312026919475c9bec4617d2a74c8d21d9f728c08b633c89721c8786ccdff", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 1, "test_or_ci": 2, "schema_or_data": 1, "ui_or_frontend": 7, "ci_failure_signal": 1, "deployment_env_gap": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 1, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 8, "claimed_resolved_with_failing_ci_signal": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 77, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 10, "comment_chain_has_ci": 1, "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": 10, "thread_has_comment_chain": 3, "comment_chain_links_commit": 1, "comment_chain_touches_file": 30, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 30, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 3, "pr_file": 10, "alignment": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#5", "issue_number": "5", "quality_tiers": {"unresolved": 2, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-478bb1401762110f", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {"test_or_ci": 12, "schema_or_data": 6, "ui_or_frontend": 42}}, "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: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#5\nRepo: SIRXIII/FitConnect\nIssue/PR number: 5\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 30\nEdges: 77\nNode types: {'pr_file': 10, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'commit': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 30, 'thread_touches_file': 10, 'issue_chain_touches_file': 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, 'comment_chain_links_commit': 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: {'ui_or_frontend': 7, 'not_resolved_or_not_observed': 4, 'deployment_env_gap': 2, 'test_or_ci': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'schema_or_data': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'bug_fix': 1, 'ci_failure_signal': 1, 'claimed_resolved_with_failing_ci_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'claimed_resolved_with_failing_ci_signal': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 1}\nCI labels: {'ci_failure_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/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-c77f23a4178ba3ea", "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": "SIRXIII/FitConnect", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: SIRXIII/FitConnect"}, "properties": {"repobilityId": 423253, "scanner": "foundry_dataset", "fingerprint": "372378de30fca0dd36e223cf9358ab906c60fe7b6e42a40fba3c6bbd835a301a", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 3, "test_or_ci": 1, "test_ci_gap": 1, "ci_failure_signal": 1, "deployment_env_gap": 2, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 1, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 8, "claimed_resolved_with_failing_ci_signal": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 36, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 1, "comment_chain_has_ci": 1, "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": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "comment_chain_touches_file": 3, "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": 1, "alignment": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#4", "issue_number": "4", "quality_tiers": {"unresolved": 2, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-ed07105df8f53590", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {"test_or_ci": 6}}, "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: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#4\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#4\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#4\nRepo: SIRXIII/FitConnect\nIssue/PR number: 4\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 25\nEdges: 36\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'pr_file': 1, 'ci_summary': 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, 'comment_chain_touches_file': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_touches_file': 1, 'comment_chain_has_ci': 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}\nLabels: {'not_resolved_or_not_observed': 4, 'bug_fix': 3, 'deployment_env_gap': 2, 'verification_or_tests': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'test_or_ci': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'claimed_resolved_with_failing_ci_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'claimed_resolved_with_failing_ci_signal': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 1}\nCI labels: {'ci_failure_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/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-27f4b7e3ff1fb7fc", "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": "SIRXIII/FitConnect", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: SIRXIII/FitConnect"}, "properties": {"repobilityId": 423252, "scanner": "foundry_dataset", "fingerprint": "9a6a8868ab83cca365225cfd7b362c32875ce317f6e25b6c6ddcd34ed701b327", "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": {"keys": ["ui_or_frontend", "docs_or_claims", "not_resolved_or_not_observed", "bug_fix", "human_reported_issue_no_linked_fix", "security_auth_secret", "dependency_or_build", "source_or_other", "api_or_backend", "schema_or_data", "thread_has_human_issue_and_fix_context", "issue_or_pull_request_thread", "deployment_env_gap", "human_feedback_general", "ui_workflow_gap", "security_or_auth", "test_or_ci", "human_reported_issue_then_fix_attempt", "claimed_resolved_unverified", "unlinked_human_feedback", "ambiguous_needs_more_evidence", "blueprint_human_gap_disagreement", "mostly follows blueprint"], "count": 23, "_omitted": "large_dict"}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 2, "not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 161, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 4, "thread_touches_file": 51, "thread_has_pr_review": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 8, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 5, "comment_chain_links_commit": 3, "comment_chain_touches_file": 60, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 78, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 4, "pr_file": 51, "alignment": 1, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#2", "issue_number": "2", "quality_tiers": {"unresolved": 4, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-f64b107b22c0ee4d", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 8, "api_or_backend": 16, "docs_or_claims": 88, "schema_or_data": 16, "ui_or_frontend": 240, "source_or_other": 16, "security_or_auth": 8, "dependency_or_build": 16}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#2\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#2\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#2\nRepo: SIRXIII/FitConnect\nIssue/PR number: 2\nGraph consistency label: weak_supervision_needs_review\nNodes: 78\nEdges: 161\nNode types: {'pr_file': 51, 'link_quality': 8, 'comment_chain': 5, 'comment': 4, 'commit': 3, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 60, 'thread_touches_file': 51, 'issue_chain_touches_file': 12, 'chain_has_link_quality': 8, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'thread_has_comment': 4, 'comment_chain_links_commit': 3, 'repo_has_thread': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1}\nLabels: {'ui_or_frontend': 30, 'docs_or_claims': 11, 'not_resolved_or_not_observed': 5, 'bug_fix': 3, 'human_reported_issue_no_linked_fix': 3, 'security_auth_secret': 2, 'dependency_or_build': 2, 'source_or_other': 2, 'api_or_backend': 2, 'schema_or_data': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'ui_workflow_gap': 1, 'security_or_auth': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'claimed_resolved_unverified': 2, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 4, 'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-6ecfd1cc98bc58f8", "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": "SIRXIII/FitConnect", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: SIRXIII/FitConnect"}, "properties": {"repobilityId": 423251, "scanner": "foundry_dataset", "fingerprint": "01dcd17d670de0c247f2a9b635889497af52e3d72abad617903c47f0b686019c", "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, "docs_or_claims": 93, "ui_or_frontend": 3, "source_or_other": 1, "deployment_env_gap": 1, "dependency_or_build": 3, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 153, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 100, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 2, "comment_chain_links_commit": 1, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 113, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 2, "pr_file": 100, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#1", "issue_number": "1", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-717e561edcdd3d17", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"docs_or_claims": 465, "ui_or_frontend": 15, "source_or_other": 5, "dependency_or_build": 15}}, "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: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#1\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#1\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#1\nRepo: SIRXIII/FitConnect\nIssue/PR number: 1\nGraph consistency label: weak_supervision_needs_review\nNodes: 113\nEdges: 153\nNode types: {'pr_file': 100, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 100, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, '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, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'docs_or_claims': 93, 'dependency_or_build': 3, 'ui_or_frontend': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'deployment_env_gap': 1, 'source_or_other': 1, 'comment_has_related_commit_context': 1, 'bug_fix': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-0621153fc78a6fc2", "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": "SIRXIII/FitConnect", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: SIRXIII/FitConnect"}, "properties": {"repobilityId": 394976, "scanner": "foundry_dataset", "fingerprint": "00149d57280c3e9096fd92b286142c11b73bc216e8a5cd89aa4dc7fe329ca288", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "test_or_ci": 2, "schema_or_data": 1, "ui_or_frontend": 7, "ci_failure_signal": 1, "deployment_env_gap": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 1, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 8, "claimed_resolved_with_failing_ci_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 77, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 10, "comment_chain_has_ci": 1, "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": 10, "thread_has_comment_chain": 3, "comment_chain_links_commit": 1, "comment_chain_touches_file": 30, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 30, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 3, "pr_file": 10, "alignment": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#5", "issue_number": "5", "quality_tiers": {"unresolved": 2, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f153a10f41f92b05", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {"test_or_ci": 12, "schema_or_data": 6, "ui_or_frontend": 42}}, "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: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#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: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#5\nRepo: SIRXIII/FitConnect\nIssue/PR number: 5\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 30\nEdges: 77\nNode types: {'pr_file': 10, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'commit': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 30, 'thread_touches_file': 10, 'issue_chain_touches_file': 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, 'comment_chain_links_commit': 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: {'ui_or_frontend': 7, 'not_resolved_or_not_observed': 4, 'deployment_env_gap': 2, 'test_or_ci': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'schema_or_data': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'bug_fix': 1, 'ci_failure_signal': 1, 'claimed_resolved_with_failing_ci_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'claimed_resolved_with_failing_ci_signal': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 1}\nCI labels: {'ci_failure_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/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-f361efb22b6fbc13", "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": "SIRXIII/FitConnect", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: SIRXIII/FitConnect"}, "properties": {"repobilityId": 394975, "scanner": "foundry_dataset", "fingerprint": "9727f53dcae1af643cce15cd59c5459735b408edce06920be5e6822e281f9ef7", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "test_or_ci": 1, "test_ci_gap": 1, "ci_failure_signal": 1, "deployment_env_gap": 2, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 1, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 8, "claimed_resolved_with_failing_ci_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 36, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 1, "comment_chain_has_ci": 1, "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": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "comment_chain_touches_file": 3, "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": 1, "alignment": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#4", "issue_number": "4", "quality_tiers": {"unresolved": 2, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b78edadd94bf1f40", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {"test_or_ci": 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: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#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: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#4\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#4\nRepo: SIRXIII/FitConnect\nIssue/PR number: 4\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 25\nEdges: 36\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'pr_file': 1, 'ci_summary': 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, 'comment_chain_touches_file': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_touches_file': 1, 'comment_chain_has_ci': 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}\nLabels: {'not_resolved_or_not_observed': 4, 'bug_fix': 3, 'deployment_env_gap': 2, 'verification_or_tests': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'test_or_ci': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'claimed_resolved_with_failing_ci_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'claimed_resolved_with_failing_ci_signal': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 1}\nCI labels: {'ci_failure_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/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-676e5d61c3e057e7", "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": "SIRXIII/FitConnect", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: SIRXIII/FitConnect"}, "properties": {"repobilityId": 394974, "scanner": "foundry_dataset", "fingerprint": "95b4236d07af17cf32fa657efe42bbc9e0abbcaa42279eb27e17184290ad62a6", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "ui_or_frontend": 6, "ci_failure_signal": 1, "api_integration_gap": 1, "agent_instruction_gap": 1, "human_feedback_general": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "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, "claimed_resolved_with_failing_ci_signal": 1, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6, "ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 61, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 2, "thread_touches_file": 6, "comment_chain_has_ci": 1, "thread_has_pr_review": 1, "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": 6, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "comment_chain_touches_file": 18, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 28, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 2, "pr_file": 6, "alignment": 1, "pr_review": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#3", "issue_number": "3", "quality_tiers": {"high_confidence": 4, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-a5c988a254ddd4e4", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {"ui_or_frontend": 36}}, "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: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#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: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#3\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#3\nRepo: SIRXIII/FitConnect\nIssue/PR number: 3\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 28\nEdges: 61\nNode types: {'pr_file': 6, 'link_quality': 6, 'comment_chain': 3, 'commit': 3, 'comment': 2, 'thread': 1, 'repo': 1, 'pr_review': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 18, 'thread_touches_file': 6, 'chain_has_link_quality': 6, 'issue_chain_touches_file': 6, 'comment_chain_links_commit': 5, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'thread_has_comment': 2, 'repo_has_thread': 1, 'thread_has_pr_review': 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}\nLabels: {'ui_or_frontend': 6, 'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'human_feedback_general': 1, 'api_integration_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'claimed_resolved_with_failing_ci_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'ambiguous_needs_more_evidence': 2, 'claimed_resolved_with_failing_ci_signal': 2}\nQuality tiers: {'high_confidence': 4, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {'ci_failure_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/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-306d60fd99b3c248", "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": "SIRXIII/FitConnect", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: SIRXIII/FitConnect"}, "properties": {"repobilityId": 394973, "scanner": "foundry_dataset", "fingerprint": "3b2def83ada5b5ad0ce35e2e308e8092a90e2579bded11465542b2e8aca80187", "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": {"keys": ["ui_or_frontend", "docs_or_claims", "not_resolved_or_not_observed", "bug_fix", "human_reported_issue_no_linked_fix", "security_auth_secret", "dependency_or_build", "source_or_other", "api_or_backend", "schema_or_data", "thread_has_human_issue_and_fix_context", "issue_or_pull_request_thread", "deployment_env_gap", "human_feedback_general", "ui_workflow_gap", "security_or_auth", "test_or_ci", "human_reported_issue_then_fix_attempt", "claimed_resolved_unverified", "unlinked_human_feedback", "ambiguous_needs_more_evidence", "blueprint_human_gap_disagreement", "mostly follows blueprint"], "count": 23, "_omitted": "large_dict"}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 2, "not_resolved_or_not_observed": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 161, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 4, "thread_touches_file": 51, "thread_has_pr_review": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 8, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 5, "comment_chain_links_commit": 3, "comment_chain_touches_file": 60, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 78, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 4, "pr_file": 51, "alignment": 1, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#2", "issue_number": "2", "quality_tiers": {"unresolved": 4, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-bbcfee9163c3d61d", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 8, "api_or_backend": 16, "docs_or_claims": 88, "schema_or_data": 16, "ui_or_frontend": 240, "source_or_other": 16, "security_or_auth": 8, "dependency_or_build": 16}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#2\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#2\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#2\nRepo: SIRXIII/FitConnect\nIssue/PR number: 2\nGraph consistency label: weak_supervision_needs_review\nNodes: 78\nEdges: 161\nNode types: {'pr_file': 51, 'link_quality': 8, 'comment_chain': 5, 'comment': 4, 'commit': 3, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 60, 'thread_touches_file': 51, 'issue_chain_touches_file': 12, 'chain_has_link_quality': 8, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'thread_has_comment': 4, 'comment_chain_links_commit': 3, 'repo_has_thread': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1}\nLabels: {'ui_or_frontend': 30, 'docs_or_claims': 11, 'not_resolved_or_not_observed': 5, 'bug_fix': 3, 'human_reported_issue_no_linked_fix': 3, 'security_auth_secret': 2, 'dependency_or_build': 2, 'source_or_other': 2, 'api_or_backend': 2, 'schema_or_data': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'ui_workflow_gap': 1, 'security_or_auth': 1}\nOutcomes: {'not_resolved_or_not_observed': 10, 'claimed_resolved_unverified': 2, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 4, '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/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-67da85a5532b2680", "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": "SIRXIII/FitConnect", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: SIRXIII/FitConnect"}, "properties": {"repobilityId": 374136, "scanner": "foundry_dataset", "fingerprint": "5c346986b3246e61e4b97437543e79cfc1ec43583365e0c37bb30cccf1c53bcc", "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": "SIRXIII/FitConnect#3", "human_labels": ["agent_instruction_gap", "api_integration_gap", "human_feedback_general", "ui_or_frontend"], "issue_number": "3", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-a9093017caf35d6a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 4, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 6, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 6}, "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": 1, "verification_artifact_count": 4, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#3\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: SIRXIII/FitConnect#3\nRepo: SIRXIII/FitConnect\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 5\nLinked CI commit count: 1\nLinked CI labels: {'ci_failure_signal': 1}\nChanged file count: 6\nLabels: {'agent_instruction_gap': 1, 'human_feedback_general': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2, 'neutral': 1}\nChanged file labels: {'ui_or_frontend': 6}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-14c17e5acdaf5c0d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SIRXIII/FitConnect/pull/3\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: SIRXIII/FitConnect\\nAuthor: SIRXIII (User)\\nURL: https://github.com/SIRXIII/FitConnect/pull/3\\nTitle: fix: hide all Stripe/payment UI on iOS (Apple 3.1.1)\\nBody:\\n## Summary\\n- Hide ALL Stripe/payment UI on iOS native using `isNativeiOS()` guards across 6 files\\n- Fixes Apple App Store rejection for guideline 3.1.1 (in-app purchase requirement)\\n- TrainerDashboard, ClientSettingsTab, BookingWizard, TrialBanner, ClientDashboard, ClientOnboarding all guarded\\n- On iOS: booking flow skips payment step, onboarding skips payment setup, all \\\"Stripe\\\" text hidden\\n\\n## Test plan\\n- [ ] Web build passes (`npx vite build`)\\n- [ ] iOS Capacitor build compiles\\n- [ ] On iOS: no Stripe/payment UI visible anywhere in the app\\n- [ ] On web: all payment flows still work normally\\n- [ ] Booking wizard shows \\\"Confirm Booking\\\" (not \\\"Continue to Payment\\\") on iOS\\n- [ ] Client onboarding has 5 steps (not 6) on iOS\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-1b198bd2cd9ce591\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/SIRXIII/FitConnect/pull/3#issuecomment-4166638123\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: SIRXIII/FitConnect\\nAuthor: cloudflare-workers-and-pages[bot] (Bot)\\nURL: https://github.com/SIRXIII/FitConnect/pull/3#issuecomment-4166638123\\nTitle: \\nBody:\\n## Deploying fitconnect with &nbsp;<a href=\\\"https://pages.dev\\\"><img alt=\\\"Cloudflare Pages\\\" src=\\\"https://user-images.githubusercontent.com/23264/106598434-9e719e00-654f-11eb-9e59-6167043cfa01.png\\\" width=\\\"16\\\"></a> &nbsp;Cloudflare Pages\\n\\n<table><tr><t\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SIRXIII/FitConnect", "source_id": "comment-chain-pattern-assumption_checks-f28e51790d5e47d7", "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": "SIRXIII/FitConnect", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: SIRXIII/FitConnect"}, "properties": {"repobilityId": 374135, "scanner": "foundry_dataset", "fingerprint": "85e76b78f909db95f934baca17b0e948915c27707981214fa0c5a2611c2c9f9c", "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": "SIRXIII/FitConnect#1", "human_labels": ["dependency_or_build", "deployment_env_gap", "docs_or_claims", "human_feedback_general", "source_or_other", "ui_or_frontend"], "issue_number": "1", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.585, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-26d1e43d5f8c43c7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 4, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 100, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"docs_or_claims": 93, "ui_or_frontend": 3, "source_or_other": 1, "dependency_or_build": 3}, "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": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#1\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: SIRXIII/FitConnect#1\nRepo: SIRXIII/FitConnect\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 100\nLabels: {'human_feedback_general': 1, 'deployment_env_gap': 1}\nPolarities: {'neutral': 1, 'bad': 1}\nChanged file labels: {'docs_or_claims': 93, 'dependency_or_build': 3, 'source_or_other': 1, 'ui_or_frontend': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-59ddeb3e6b65a7df\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/SIRXIII/FitConnect/pull/1\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: SIRXIII/FitConnect\\nAuthor: SIRXIII (User)\\nURL: https://github.com/SIRXIII/FitConnect/pull/1\\nTitle: v4.0 The Live Platform - Phase 28 complete (145 commits)\\nBody:\\n\"\n  },\n  {\n    \"id\": \"github-feedback-comment-f7e928cb990f63da\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SIRXIII/FitConnect/pull/1#issuecomment-4094495862\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: SIRXIII/FitConnect\\nAuthor: netlify[bot] (Bot)\\nURL: https://github.com/SIRXIII/FitConnect/pull/1#issuecomment-4094495862\\nTitle: \\nBody:\\n### <span aria-hidden=\\\"true\\\">\u274c</span> Deploy Preview for *fitrush-app* failed. **[Why did it fail? \u2192](https://app.netlify.com/projects/fitrush-app/deploys/69bc8ea399c12200084ca977?deploy_diagnostics=true)**\\n\\n\\n|  Name | Link |\\n|:-:|------------------------|\\n|<span aria-hidden=\\\"true\\\">\ud83d\udd28</span> Latest commit | 4d0447bf23b1ff6c279d3663fdbfdecc574d6f07 |\\n|<span aria-hidden=\\\"true\\\">\ud83d\udd0d</span> Latest deploy log | https://app.netlify.com/projects/fitrush-app/deploys/69bc8ea399c12200084ca977 |\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-2801ca0a8d0f5838\",\n    \"filename\": \".planning/PROJECT.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 29,\n    \"deletions\": 4,\n    \"changes\": 33,\n    \"blob_url\": \"https://github.com/SIRXIII/FitConnect/blob/4d0447bf23b1ff6c279d3663fdbfdecc574d6f07/.planning%2FPROJECT.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-3db700820e0990e5\",\n    \"filename\": \".planning/REQUIREMENTS.md\",\n    \"label\": \"dependency_or_build\",\n    \"status\": \"added\",\n    \"additions\": 170,\n    \"deletions\": 0,\n    \"cha\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SIRXIII/FitConnect", "source_id": "comment-chain-pattern-assumption_checks-89758387ff61f6cf", "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": "SIRXIII/FitConnect", "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: SIRXIII/FitConnect"}, "properties": {"repobilityId": 416507, "scanner": "foundry_dataset", "fingerprint": "1520a38f7bd2d00cc91498422da387b5aa7c9bb1c1c76ef1059bf8ffca6c9fe7", "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_or_ci": 1, "test_ci_gap": 1, "ci_failure_signal": 1, "deployment_env_gap": 2, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 1, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 8, "claimed_resolved_with_failing_ci_signal": 2}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 36, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 1, "comment_chain_has_ci": 1, "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": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "comment_chain_touches_file": 3, "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": 1, "alignment": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#4", "issue_number": "4", "quality_tiers": {"unresolved": 2, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-15b8a919cea96945", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {"test_or_ci": 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: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#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: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#4\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#4\nRepo: SIRXIII/FitConnect\nIssue/PR number: 4\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 25\nEdges: 36\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'pr_file': 1, 'ci_summary': 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, 'comment_chain_touches_file': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_touches_file': 1, 'comment_chain_has_ci': 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}\nLabels: {'not_resolved_or_not_observed': 4, 'bug_fix': 3, 'deployment_env_gap': 2, 'verification_or_tests': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'test_or_ci': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'claimed_resolved_with_failing_ci_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'claimed_resolved_with_failing_ci_signal': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-5a68bec304decfad", "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": "SIRXIII/FitConnect", "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: SIRXIII/FitConnect"}, "properties": {"repobilityId": 409097, "scanner": "foundry_dataset", "fingerprint": "9c4933179276b08d2acd0dbf2a04a1bea6c0d3f3eb391285d52ad229a8557d71", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 1, "test_or_ci": 2, "schema_or_data": 1, "ui_or_frontend": 7, "ci_failure_signal": 1, "deployment_env_gap": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 1, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 8, "claimed_resolved_with_failing_ci_signal": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 77, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 10, "comment_chain_has_ci": 1, "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": 10, "thread_has_comment_chain": 3, "comment_chain_links_commit": 1, "comment_chain_touches_file": 30, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 30, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 3, "pr_file": 10, "alignment": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#5", "issue_number": "5", "quality_tiers": {"unresolved": 2, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-cb34dd700d4e6f54", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {"test_or_ci": 12, "schema_or_data": 6, "ui_or_frontend": 42}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#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: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#5\nRepo: SIRXIII/FitConnect\nIssue/PR number: 5\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 30\nEdges: 77\nNode types: {'pr_file': 10, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'commit': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 30, 'thread_touches_file': 10, 'issue_chain_touches_file': 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, 'comment_chain_links_commit': 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: {'ui_or_frontend': 7, 'not_resolved_or_not_observed': 4, 'deployment_env_gap': 2, 'test_or_ci': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'schema_or_data': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'bug_fix': 1, 'ci_failure_signal': 1, 'claimed_resolved_with_failing_ci_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'claimed_resolved_with_failing_ci_signal': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-64818b7727901359", "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": "SIRXIII/FitConnect", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_docs_only_fix", "level": "error", "message": {"text": "Foundry mined docs only runtime fix: SIRXIII/FitConnect"}, "properties": {"repobilityId": 406234, "scanner": "foundry_dataset", "fingerprint": "2720af9a802de488bd4c18811082393549862cba59cebe1d296a9eca48651aa5", "category": "practices", "severity": "high", "confidence": 0.8, "triageState": "open", "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": "Docs-only response to runtime or integration issue", "intent": "Assumption-check examples where docs or claims are not enough proof.", "labels": {"bug_fix": 1, "docs_or_claims": 93, "ui_or_frontend": 3, "source_or_other": 1, "deployment_env_gap": 1, "dependency_or_build": 3, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "docs_only_runtime_fix", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "docs_only_runtime_fix", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 153, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 100, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 2, "comment_chain_links_commit": 1, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 113, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 2, "pr_file": 100, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#1", "issue_number": "1", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-3dac913ed140ce9a", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"docs_or_claims": 465, "ui_or_frontend": 15, "source_or_other": 5, "dependency_or_build": 15}}, "text": "Graph query export: Docs-only response to runtime or integration issue\nQuery id: docs_only_runtime_fix\nQuery type: motif_query\nIntent: Assumption-check examples where docs or claims are not enough proof.\nMotif: docs_only_runtime_fix\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#1\nEvidence:\nGraph motif: Runtime/integration complaint answered mostly with docs or claims\nMotif id: docs_only_runtime_fix\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#1\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#1\nRepo: SIRXIII/FitConnect\nIssue/PR number: 1\nGraph consistency label: weak_supervision_needs_review\nNodes: 113\nEdges: 153\nNode types: {'pr_file': 100, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 100, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, '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, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'docs_or_claims': 93, 'dependency_or_build': 3, 'ui_or_frontend': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'deployment_env_gap': 1, 'source_or_other': 1, 'comment_has_related_commit_context': 1, 'bug_fix': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Train models to reject docs-only fixes for runtime, integration, data, or security failures.\n- Add paired examples where the correct fix changes executable paths and adds verification.\nAssumption checks:\n- Do changed files include executable code or only documentation/claims?\n- Does the complaint require runtime behavior that docs cannot prove?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-54d0972238b5e91f", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/docs_only_runtime_fix/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "SIRXIII/FitConnect", "source_dataset": "graph_queries/docs_only_runtime_fix", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: SIRXIII/FitConnect"}, "properties": {"repobilityId": 386216, "scanner": "foundry_dataset", "fingerprint": "2c2dd43a118dcecabcc66f0384b4370f8e2ed95f0e69b3c36c2d08f59bb9b7bc", "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": "SIRXIII/FitConnect#5", "human_labels": ["data_schema_persistence", "deployment_env_gap", "schema_or_data", "test_or_ci", "ui_or_frontend"], "issue_number": "5", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a44f9e289626cbd5", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 4, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 10, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 2, "schema_or_data": 1, "ui_or_frontend": 7}, "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": 1, "verification_artifact_count": 4, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: SIRXIII/FitConnect#5\nRepo: SIRXIII/FitConnect\nThread label: thread_has_human_issue_and_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 3\nLinked commit count: 1\nLinked CI commit count: 1\nLinked CI labels: {'ci_failure_signal': 1}\nChanged file count: 10\nLabels: {'data_schema_persistence': 1, 'deployment_env_gap': 2}\nPolarities: {'bad': 3}\nChanged file labels: {'ui_or_frontend': 7, 'test_or_ci': 2, 'schema_or_data': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-fe3ef592d3dde932\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SIRXIII/FitConnect/pull/5\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: SIRXIII/FitConnect\\nAuthor: SIRXIII (User)\\nURL: https://github.com/SIRXIII/FitConnect/pull/5\\nTitle: fix(payments): unify platform fee on one canonical fee-on-top model\\nBody:\\n## Problem\\n\\nThe platform fee was computed two different ways depending on which app created a booking, so the same rate produced different economics and the admin Transactions/Analytics numbers were inconsistent across entry points.\\n\\n- **FitRush / Flutter** `create-payment-intent`: fee **on top**. Client pays `rate + rate*pct`, trainer nets their full rate, platform keeps the fee.\\n- **Web app** (`BookSession.tsx`): fee **deducted**. Client pays `rate`, trainer nets `rate - rate*pct` (less than their stated rate).\\n- **Third path found while fixing:** `BookingRequestQueue.tsx` (trainer accepts a \\\"request to book\\\") hardcoded `0.08`, used the fee-deducted split, and ignored the trainer's standing discount entirely.\\n\\n## Decision: canonical model = fee on top\\n\\nPicked the FitRush/Flutter model (as recommended in the task) so a trainer always nets their full stated rate regardless of entry point:\\n\\n```\\nclient pays    = rate + fee   -> bo\"\n  },\n  {\n    \"id\": \"github-feedback-comment-c449b23e20499df2\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SIRXIII/FitConnect/pull/5#issuecomment-4699728187\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: SIRXIII/FitConnect\\nAuthor: netlify[bot] (Bot)\\nURL: https://github.com/SIRXIII/FitConnect/pull/5#issuecomment-4699728187\\nTitle: \\nBody:\\n### <span aria-hidden=\\\"true\\\">\u2705</span> Deploy Preview for *fitrush-app* ready!\\n\\n\\n|  Name | Link |\\n|:-:|------------------------|\\n|<span\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SIRXIII/FitConnect", "source_id": "comment-chain-pattern-bad_chains-ea1d7bc6ea012264", "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": "SIRXIII/FitConnect", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: SIRXIII/FitConnect"}, "properties": {"repobilityId": 386215, "scanner": "foundry_dataset", "fingerprint": "1b43bd5a383c3fe07ef24e1b695977f553282fd0d9e66544b597e043a7166a36", "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": "SIRXIII/FitConnect#4", "human_labels": ["deployment_env_gap", "test_ci_gap", "test_or_ci"], "issue_number": "4", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.642, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-f7b6b44ec90a6aea", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 4, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 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": 1, "verification_artifact_count": 4, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#4\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: SIRXIII/FitConnect#4\nRepo: SIRXIII/FitConnect\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: 1\nLinked CI labels: {'ci_failure_signal': 1}\nChanged file count: 1\nLabels: {'test_ci_gap': 1, 'deployment_env_gap': 2}\nPolarities: {'bad': 3}\nChanged file labels: {'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6fc552f809871a53\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SIRXIII/FitConnect/pull/4\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: SIRXIII/FitConnect\\nAuthor: SIRXIII (User)\\nURL: https://github.com/SIRXIII/FitConnect/pull/4\\nTitle: test(admin): align AdminDashboard contract tests with refactored source\\nBody:\\n## Summary\\n\\n`AdminDashboard.test.tsx` had 5 failing structural/contract assertions that referenced source-text patterns removed during the Phase 33 admin-dashboard refactor. Each assertion was updated to match the current intended implementation in `src/pages/AdminDashboard.tsx` (no assertions were weakened or deleted, since every underlying feature still exists in refactored form):\\n\\n| Stale assertion | Current source | Fix |\\n|---|---|---|\\n| `data.totals.mrr` | `mrr: Number(data.mrr ?? 0)` (top-level RPC field, per the MRR mapping bug fix) | assert `data.mrr` |\\n| `trainer_profiles?` (UserRow) | tier flattened onto `subscription_tier?` | assert `subscription_tier?` |\\n| `trainer_profiles(subscription_tier` join | `fetchUsers` now calls `rpc('get_admin_user_list')` | assert the RPC call |\\n| `grid-cols-[1fr_100px_120px_100px_120px_140px]` | users table is now 8 columns | assert current grid template |\\n| `user.trainer_profiles` guard | guard\"\n  },\n  {\n    \"id\": \"github-feedback-comment-4cc02596629880a5\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SIRXIII/FitConnect/pull/4#issuecomment-4526735720\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: SIRXIII/FitConnect\\nAuthor: netlify[bot] (Bot)\\nURL: https://github.com/SIRXIII/FitConnect/pull/4#issuecomment-4526735720\\nTitle: \\nBody:\\n### <span aria-hidden=\\\"true\\\">\u2705</span> Deploy Preview for *fitrush-app* ready!\\n\\n\\n|  Name | Link |\\n|:-:|------------------------|\\n|<span aria-hidden=\\\"true\\\">\ud83d\udd28</span> Latest commit | 3dd8f5ffe39adf7df4c6903c68\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SIRXIII/FitConnect", "source_id": "comment-chain-pattern-bad_chains-34df5800edc598b1", "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": "SIRXIII/FitConnect", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: SIRXIII/FitConnect"}, "properties": {"repobilityId": 386214, "scanner": "foundry_dataset", "fingerprint": "ea4486d9dde356c6642c0ad762b22300d858c71fcf156879e34197b9b5e1a891", "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": "SIRXIII/FitConnect#2", "human_labels": ["api_or_backend", "dependency_or_build", "deployment_env_gap", "docs_or_claims", "human_feedback_general", "schema_or_data", "security_auth_secret", "security_or_auth", "source_or_other", "test_or_ci", "ui_or_frontend", "ui_workflow_gap"], "issue_number": "2", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-37758ee696f817ce", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 4, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 51, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "api_or_backend": 2, "docs_or_claims": 11, "schema_or_data": 2, "ui_or_frontend": 30, "source_or_other": 2, "security_or_auth": 1, "dependency_or_build": 2}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 4, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#2\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: SIRXIII/FitConnect#2\nRepo: SIRXIII/FitConnect\nThread label: thread_has_human_issue_and_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 5\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 51\nLabels: {'security_auth_secret': 2, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'ui_workflow_gap': 1}\nPolarities: {'bad': 4, 'neutral': 1}\nChanged file labels: {'docs_or_claims': 11, 'dependency_or_build': 2, 'security_or_auth': 1, 'source_or_other': 2, 'api_or_backend': 2, 'ui_or_frontend': 30, 'test_or_ci': 1, 'schema_or_data': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2660c0524da3e9da\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SIRXIII/FitConnect/pull/2\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: SIRXIII/FitConnect\\nAuthor: SIRXIII (User)\\nURL: https://github.com/SIRXIII/FitConnect/pull/2\\nTitle: v5.0 \u2014 UX Audit Fixes + Auth Hardening (41 commits)\\nBody:\\n## Summary\\r\\n- All 17 UX audit items fixed\\r\\n- - OAuth buttons hidden until providers are enabled in Supabase\\r\\n- - Auth error handling \u2014 no more raw JSON error pages\\r\\n- - Dedicated signup flow with client/trainer role selection\\r\\n- - Forgot password flow added\\r\\n- - Hero copy rewritten for clarity (\\\"Book Elite Trainers at Idle-Hour Prices\\\")\\r\\n- - Trainer search empty state shows guidance before first search\\r\\n- - /terms and /privacy pages created\\r\\n- - Footer links cleaned up\\r\\n- - Pricing page \\\"Current Plan\\\" only shows for authenticated users\\r\\n- - Mobile responsive polish (375-414px)\\r\\n- - 140/140 tests passing, build clean at 420KB gzipped\\r\\n## Test plan\\r\\n- [ ] Verify Cloudflare auto-deploy succeeds after merge\\r\\n- [ ] - [ ] Check new hero copy on landing page\\r\\n- [ ] - [ ] Confirm OAuth buttons are hidden on /login\\r\\n- [ ] - [ ] Test email signup + role selection flow\\r\\n- [ ] - [ ] Verify /terms and /privacy pages load\\r\\n- [ ] - [ ] Test mobile at 375px width\"\n  },\n  {\n    \"id\": \"github-feedback-comment-f26c584a2ae0534f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SIRXIII/FitConnect/pull/2#issuecomment-4099777831\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: SIRXIII/FitConnect\\nAuthor: cloudflare-workers-and-pages[bot] (Bot)\\nURL: https://github.com/SIRXIII/F\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SIRXIII/FitConnect", "source_id": "comment-chain-pattern-bad_chains-4a70477bd88f9963", "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": "SIRXIII/FitConnect", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_failing_ci_claim", "level": "error", "message": {"text": "Foundry mined claimed resolved with failing ci: SIRXIII/FitConnect"}, "properties": {"repobilityId": 406047, "scanner": "foundry_dataset", "fingerprint": "c1bdaddd9aca8d027f2b8eca2ce2cde32aa27f079898cb55a6ba57292b4c3902", "category": "ci", "severity": "critical", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Claimed resolved with failing CI", "intent": "Hard negatives where CI/failure evidence contradicts a resolution claim.", "labels": {"bug_fix": 1, "test_or_ci": 2, "schema_or_data": 1, "ui_or_frontend": 7, "ci_failure_signal": 1, "deployment_env_gap": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 1, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "claimed_resolved_with_failing_ci", "outcomes": {"not_resolved_or_not_observed": 8, "claimed_resolved_with_failing_ci_signal": 2}, "polarity": "bad", "query_id": "claimed_resolved_with_failing_ci", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 77, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 10, "comment_chain_has_ci": 1, "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": 10, "thread_has_comment_chain": 3, "comment_chain_links_commit": 1, "comment_chain_touches_file": 30, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 30, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 3, "pr_file": 10, "alignment": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#5", "issue_number": "5", "quality_tiers": {"unresolved": 2, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-5f7f8e529bb774f2", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {"test_or_ci": 12, "schema_or_data": 6, "ui_or_frontend": 42}}, "text": "Graph query export: Claimed resolved with failing CI\nQuery id: claimed_resolved_with_failing_ci\nQuery type: motif_query\nIntent: Hard negatives where CI/failure evidence contradicts a resolution claim.\nMotif: claimed_resolved_with_failing_ci\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nEvidence:\nGraph motif: Claimed resolved while CI or failure evidence contradicts it\nMotif id: claimed_resolved_with_failing_ci\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#5\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#5\nRepo: SIRXIII/FitConnect\nIssue/PR number: 5\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 30\nEdges: 77\nNode types: {'pr_file': 10, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'commit': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 30, 'thread_touches_file': 10, 'issue_chain_touches_file': 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, 'comment_chain_links_commit': 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: {'ui_or_frontend': 7, 'not_resolved_or_not_observed': 4, 'deployment_env_gap': 2, 'test_or_ci': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'schema_or_data': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'bug_fix': 1, 'ci_failure_signal': 1, 'claimed_resolved_with_failing_ci_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'claimed_resolved_with_failing_ci_signal': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Reject confident fix summaries when CI or checks fail.\n- Teach judge models to prefer external verification over generated narrative.\nAssumption checks:\n- Did checks fail on the linked commit?\n- Does the thread claim resolution despite failing or incomplete verification?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-6d96008a803236f8", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/claimed_resolved_with_failing_ci/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "SIRXIII/FitConnect", "source_dataset": "graph_queries/claimed_resolved_with_failing_ci", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_failing_ci_claim", "level": "error", "message": {"text": "Foundry mined claimed resolved with failing ci: SIRXIII/FitConnect"}, "properties": {"repobilityId": 406046, "scanner": "foundry_dataset", "fingerprint": "fd300fada6b96664b408043850c9b7cf02616d6906684d3c5bd2bd78b05c0bf3", "category": "ci", "severity": "critical", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Claimed resolved with failing CI", "intent": "Hard negatives where CI/failure evidence contradicts a resolution claim.", "labels": {"bug_fix": 3, "test_or_ci": 1, "test_ci_gap": 1, "ci_failure_signal": 1, "deployment_env_gap": 2, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 1, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "claimed_resolved_with_failing_ci", "outcomes": {"not_resolved_or_not_observed": 8, "claimed_resolved_with_failing_ci_signal": 2}, "polarity": "bad", "query_id": "claimed_resolved_with_failing_ci", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 36, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 1, "comment_chain_has_ci": 1, "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": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "comment_chain_touches_file": 3, "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": 1, "alignment": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#4", "issue_number": "4", "quality_tiers": {"unresolved": 2, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-99bced40c8120842", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {"test_or_ci": 6}}, "text": "Graph query export: Claimed resolved with failing CI\nQuery id: claimed_resolved_with_failing_ci\nQuery type: motif_query\nIntent: Hard negatives where CI/failure evidence contradicts a resolution claim.\nMotif: claimed_resolved_with_failing_ci\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#4\nEvidence:\nGraph motif: Claimed resolved while CI or failure evidence contradicts it\nMotif id: claimed_resolved_with_failing_ci\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#4\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#4\nRepo: SIRXIII/FitConnect\nIssue/PR number: 4\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 25\nEdges: 36\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'pr_file': 1, 'ci_summary': 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, 'comment_chain_touches_file': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_touches_file': 1, 'comment_chain_has_ci': 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}\nLabels: {'not_resolved_or_not_observed': 4, 'bug_fix': 3, 'deployment_env_gap': 2, 'verification_or_tests': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'test_or_ci': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'claimed_resolved_with_failing_ci_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'claimed_resolved_with_failing_ci_signal': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Reject confident fix summaries when CI or checks fail.\n- Teach judge models to prefer external verification over generated narrative.\nAssumption checks:\n- Did checks fail on the linked commit?\n- Does the thread claim resolution despite failing or incomplete verification?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-e4cc885356434900", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/claimed_resolved_with_failing_ci/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "SIRXIII/FitConnect", "source_dataset": "graph_queries/claimed_resolved_with_failing_ci", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_failing_ci_claim", "level": "error", "message": {"text": "Foundry mined claimed resolved with failing ci: SIRXIII/FitConnect"}, "properties": {"repobilityId": 406045, "scanner": "foundry_dataset", "fingerprint": "672dfb7180393221e141cb46209e873bd00f8d42184c2d6a3dee9e12442e65fe", "category": "ci", "severity": "critical", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Claimed resolved with failing CI", "intent": "Hard negatives where CI/failure evidence contradicts a resolution claim.", "labels": {"bug_fix": 3, "ui_or_frontend": 6, "ci_failure_signal": 1, "api_integration_gap": 1, "agent_instruction_gap": 1, "human_feedback_general": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "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, "claimed_resolved_with_failing_ci_signal": 1, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "claimed_resolved_with_failing_ci", "outcomes": {"claimed_resolved_unverified": 6, "ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 2}, "polarity": "bad", "query_id": "claimed_resolved_with_failing_ci", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 61, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 2, "thread_touches_file": 6, "comment_chain_has_ci": 1, "thread_has_pr_review": 1, "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": 6, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "comment_chain_touches_file": 18, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 28, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 2, "pr_file": 6, "alignment": 1, "pr_review": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "SIRXIII/FitConnect#3", "issue_number": "3", "quality_tiers": {"high_confidence": 4, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "SIRXIII/FitConnect", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f3969f2db1fadf93", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {"ui_or_frontend": 36}}, "text": "Graph query export: Claimed resolved with failing CI\nQuery id: claimed_resolved_with_failing_ci\nQuery type: motif_query\nIntent: Hard negatives where CI/failure evidence contradicts a resolution claim.\nMotif: claimed_resolved_with_failing_ci\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#3\nEvidence:\nGraph motif: Claimed resolved while CI or failure evidence contradicts it\nMotif id: claimed_resolved_with_failing_ci\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: SIRXIII/FitConnect\nThread: SIRXIII/FitConnect#3\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SIRXIII/FitConnect#3\nRepo: SIRXIII/FitConnect\nIssue/PR number: 3\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 28\nEdges: 61\nNode types: {'pr_file': 6, 'link_quality': 6, 'comment_chain': 3, 'commit': 3, 'comment': 2, 'thread': 1, 'repo': 1, 'pr_review': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 18, 'thread_touches_file': 6, 'chain_has_link_quality': 6, 'issue_chain_touches_file': 6, 'comment_chain_links_commit': 5, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'thread_has_comment': 2, 'repo_has_thread': 1, 'thread_has_pr_review': 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}\nLabels: {'ui_or_frontend': 6, 'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'human_feedback_general': 1, 'api_integration_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'claimed_resolved_with_failing_ci_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'ambiguous_needs_more_evidence': 2, 'claimed_resolved_with_failing_ci_signal': 2}\nQuality tiers: {'high_confidence': 4, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Reject confident fix summaries when CI or checks fail.\n- Teach judge models to prefer external verification over generated narrative.\nAssumption checks:\n- Did checks fail on the linked commit?\n- Does the thread claim resolution despite failing or incomplete verification?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SIRXIII/FitConnect", "source_id": "graph-query-motif_query-55abfd9f690d84fa", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/claimed_resolved_with_failing_ci/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "SIRXIII/FitConnect", "source_dataset": "graph_queries/claimed_resolved_with_failing_ci", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-718f16757fe8fc33", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/stripe-billing-webhook/index.ts:85"}, "properties": {"repobilityId": "08b321a6b7f18322", "scanner": "scanner-primary", "fingerprint": "718f16757fe8fc33", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c94ffb1e7acd3a9f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/weekly-payouts/index.ts:75"}, "properties": {"repobilityId": "d72fb6460d0c749b", "scanner": "scanner-primary", "fingerprint": "c94ffb1e7acd3a9f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a0fdc769657330b0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/send-notification-email/index.ts:76"}, "properties": {"repobilityId": "9e148ec68c18d747", "scanner": "scanner-primary", "fingerprint": "a0fdc769657330b0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3679add38768b4ef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/create-payout/index.ts:193"}, "properties": {"repobilityId": "4092046a49371047", "scanner": "scanner-primary", "fingerprint": "3679add38768b4ef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1ed617d32a69cb0d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/stripe-webhook/index.ts:170"}, "properties": {"repobilityId": "6b4853057454a55f", "scanner": "scanner-primary", "fingerprint": "1ed617d32a69cb0d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3088a446427609e7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/waitlist-signup/index.ts:87"}, "properties": {"repobilityId": "79de521916afdf60", "scanner": "scanner-primary", "fingerprint": "3088a446427609e7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ebb2706e75b36178", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/notify-trainer-booking/index.ts:119"}, "properties": {"repobilityId": "36d9ec22553b095b", "scanner": "scanner-primary", "fingerprint": "ebb2706e75b36178", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-95280f2506bd51a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/supabase/functions/send-push-notification/index.ts:158"}, "properties": {"repobilityId": "9b9cb3eb9409d3f5", "scanner": "scanner-primary", "fingerprint": "95280f2506bd51a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f352328ce71d3f19", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/layout/Navbar.tsx:203"}, "properties": {"repobilityId": "d91c6c17118e29f7", "scanner": "scanner-primary", "fingerprint": "f352328ce71d3f19", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-2df752339c6c9ffd", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/client/WorkoutTab.tsx:167"}, "properties": {"repobilityId": "97b8840f7dd17c92", "scanner": "scanner-primary", "fingerprint": "2df752339c6c9ffd", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-761fa0c136a912cf", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/recommendations/RecommendedTrainerCard.tsx:38"}, "properties": {"repobilityId": "a2ec0faa932ec9bd", "scanner": "scanner-primary", "fingerprint": "761fa0c136a912cf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-64676bf0915ad088", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/shared/ReferralWidget.tsx:37"}, "properties": {"repobilityId": "f0720a659c19d417", "scanner": "scanner-primary", "fingerprint": "64676bf0915ad088", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6c67496922ec4003", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/search/MobileTrainerSheet.tsx:136"}, "properties": {"repobilityId": "3947c11170f2cbd9", "scanner": "scanner-primary", "fingerprint": "6c67496922ec4003", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-4d7c9b70c5ab2c46", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/support/ClientSupportTab.tsx:440"}, "properties": {"repobilityId": "949a8a7280d91d9d", "scanner": "scanner-primary", "fingerprint": "4d7c9b70c5ab2c46", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c0e3dacaa687f10b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/support/MyTickets.tsx:219"}, "properties": {"repobilityId": "afd68bd50ffec16a", "scanner": "scanner-primary", "fingerprint": "c0e3dacaa687f10b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f269771ae662495f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/support/AdminSupportQueue.tsx:431"}, "properties": {"repobilityId": "07cb2237369d6461", "scanner": "scanner-primary", "fingerprint": "f269771ae662495f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a56ce299cfff5e6b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Cenlar demand gt 1-17/src/components/trainer/OptimizationSection.tsx:247"}, "properties": {"repobilityId": "e581649202ea3c3c", "scanner": "scanner-primary", "fingerprint": "a56ce299cfff5e6b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9f2a89634a2b0b1b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/trainer/GoLiveLocationPicker.tsx:103"}, "properties": {"repobilityId": "5c488b93af73379c", "scanner": "scanner-primary", "fingerprint": "9f2a89634a2b0b1b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0ae646586ebbd1ec", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/trainer/WorkoutLocationsManager.tsx:281"}, "properties": {"repobilityId": "585a053687f7a8b1", "scanner": "scanner-primary", "fingerprint": "0ae646586ebbd1ec", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c6a21d9a3bfb0f33", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/map/TrainerInfoCard.tsx:64"}, "properties": {"repobilityId": "1da01d56d740fc45", "scanner": "scanner-primary", "fingerprint": "c6a21d9a3bfb0f33", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ca88c83acf8fc61b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/components/calendar/CalendarExportCard.tsx:78"}, "properties": {"repobilityId": "7095806bc3a44230", "scanner": "scanner-primary", "fingerprint": "ca88c83acf8fc61b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-797ff3c054c97fd9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/pages/Messages.tsx:314"}, "properties": {"repobilityId": "dc7b6d3d752b3aac", "scanner": "scanner-primary", "fingerprint": "797ff3c054c97fd9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-19cd007329b97491", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/pages/AdminDashboard.tsx:1214"}, "properties": {"repobilityId": "ad87867cb5a425aa", "scanner": "scanner-primary", "fingerprint": "19cd007329b97491", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d8ca62bc821214ee", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 Cenlar demand gt 1-17/src/pages/ClientDashboard.tsx:172"}, "properties": {"repobilityId": "1aac735237f81465", "scanner": "scanner-primary", "fingerprint": "d8ca62bc821214ee", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5ca5b31f08606140", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in Cenlar demand gt 1-17/supabase/functions/create-setup-intent/index.ts:18"}, "properties": {"repobilityId": "065eb5457a784b5c", "scanner": "scanner-primary", "fingerprint": "5ca5b31f08606140", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Cenlar demand gt 1-17/supabase/functions/create-setup-intent/index.ts"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-b1a93896e41b5b17", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in Cenlar demand gt 1-17/supabase/functions/_shared/cors.ts:2"}, "properties": {"repobilityId": "e55ec0a8522f47b8", "scanner": "scanner-primary", "fingerprint": "b1a93896e41b5b17", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Cenlar demand gt 1-17/supabase/functions/_shared/cors.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-5948f6e2cdcf07c6", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in Cenlar demand gt 1-17/src/components/calendar/GoogleCalendarConnect.tsx:29"}, "properties": {"repobilityId": "e1ca1eb6862e19fe", "scanner": "scanner-primary", "fingerprint": "5948f6e2cdcf07c6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Cenlar demand gt 1-17/src/components/calendar/GoogleCalendarConnect.tsx"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-6f60f012ede581eb", "level": "error", "message": {"text": "Possible secret in Cenlar demand gt 1-17/e2e/auth.setup.ts"}, "properties": {"repobilityId": "16767e701715656f", "scanner": "scanner-primary", "fingerprint": "6f60f012ede581eb", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Cenlar demand gt 1-17/e2e/auth.setup.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-6f60f012ede581eb", "level": "error", "message": {"text": "Possible secret in Cenlar demand gt 1-17/e2e/auth.setup.ts"}, "properties": {"repobilityId": "16767e701715656f", "scanner": "scanner-primary", "fingerprint": "6f60f012ede581eb", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Cenlar demand gt 1-17/e2e/auth.setup.ts"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-e985faa094c4c02d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8a48fc02d80f0fe7", "scanner": "scanner-primary", "fingerprint": "e985faa094c4c02d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude-code-action.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-e985faa094c4c02d", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c662f96a15e0dbf4", "scanner": "scanner-primary", "fingerprint": "e985faa094c4c02d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude-code-action.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-c81d80bcfdee5c21", "level": "note", "message": {"text": "Very large file: Cenlar demand gt 1-17/src/pages/AdminDashboard.tsx (2391 lines)"}, "properties": {"repobilityId": "f6de10164b53f0b8", "scanner": "scanner-primary", "fingerprint": "c81d80bcfdee5c21", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "2936e5efda9de6b0", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "6a1dbccd28456bfe", "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": "613dc426b996116e", "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": "8e1ae848058e897f", "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": "19d1674b336f19f6", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "b1671e81426e8209", "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": "b722548a53e1eb0c", "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": "609be90943f03418", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-e37bafdceaaf4bc5", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: Cenlar demand gt 1-17/.claude/launch.json"}, "properties": {"repobilityId": "2a844c8f13c11153", "scanner": "scanner-primary", "fingerprint": "e37bafdceaaf4bc5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Cenlar demand gt 1-17/.claude/launch.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2c5f98b152cddb6d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/launch.json"}, "properties": {"repobilityId": "0de48c0f4ab303d8", "scanner": "scanner-primary", "fingerprint": "2c5f98b152cddb6d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/launch.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-72ca0113d8a97a46", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/stripe-billing-webhook/index.ts:191"}, "properties": {"repobilityId": "450543ceed9c991e", "scanner": "scanner-primary", "fingerprint": "72ca0113d8a97a46", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f81a1d6ba6f5d1e2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/process-referral-reward/index.ts:118"}, "properties": {"repobilityId": "2150dd964e662677", "scanner": "scanner-primary", "fingerprint": "f81a1d6ba6f5d1e2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-aa150d173525242e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/weekly-payouts/index.ts:238"}, "properties": {"repobilityId": "a386ccd71b0225a8", "scanner": "scanner-primary", "fingerprint": "aa150d173525242e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-591b07f52948c985", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/send-notification-email/index.ts:81"}, "properties": {"repobilityId": "a11f9fb3b30f3aa6", "scanner": "scanner-primary", "fingerprint": "591b07f52948c985", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c60f8409c1448d6b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/cancel-booking/index.ts:194"}, "properties": {"repobilityId": "ae3f66ccfdcb4c4f", "scanner": "scanner-primary", "fingerprint": "c60f8409c1448d6b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fc4daed3c202b306", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/create-payout/index.ts:187"}, "properties": {"repobilityId": "e993c984f2e566f4", "scanner": "scanner-primary", "fingerprint": "fc4daed3c202b306", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e19ee957525d7b9c", "level": "none", "message": {"text": "Commented-code block (5 lines) in Cenlar demand gt 1-17/supabase/functions/stripe-webhook/index.ts:158"}, "properties": {"repobilityId": "151019f19fb97bf4", "scanner": "scanner-primary", "fingerprint": "e19ee957525d7b9c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-425b0603d16bd5d1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/stripe-webhook/index.ts:210"}, "properties": {"repobilityId": "22903468627bc141", "scanner": "scanner-primary", "fingerprint": "425b0603d16bd5d1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-03ffe9748d59186e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/google-calendar-connect/index.ts:93"}, "properties": {"repobilityId": "1a5f1b05d008d89a", "scanner": "scanner-primary", "fingerprint": "03ffe9748d59186e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e0c34407a8375115", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/waitlist-signup/index.ts:89"}, "properties": {"repobilityId": "d6b931abe594d902", "scanner": "scanner-primary", "fingerprint": "e0c34407a8375115", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-23c6206a528a472c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/notify-trainer-booking/index.ts:124"}, "properties": {"repobilityId": "226c9916dc324f60", "scanner": "scanner-primary", "fingerprint": "23c6206a528a472c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2f596c50963e5b8d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/create-payment-intent/index.ts:268"}, "properties": {"repobilityId": "476e9c276e5e6835", "scanner": "scanner-primary", "fingerprint": "2f596c50963e5b8d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d947ffc8e1e819f0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/supabase/functions/_shared/gcal-helpers.ts:52"}, "properties": {"repobilityId": "63ecc03169345e6a", "scanner": "scanner-primary", "fingerprint": "d947ffc8e1e819f0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-807e8e6a094fbef3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/src/pages/TrainerDashboard.tsx:151"}, "properties": {"repobilityId": "9f55738b9196f176", "scanner": "scanner-primary", "fingerprint": "807e8e6a094fbef3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c368e0c729d3dd38", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Cenlar demand gt 1-17/src/hooks/useNotificationPreferences.test.ts:58"}, "properties": {"repobilityId": "1f888e20b27da0c4", "scanner": "scanner-primary", "fingerprint": "c368e0c729d3dd38", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3bf299836af56ca1", "level": "warning", "message": {"text": "Frontend route `/auth/callback` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "properties": {"repobilityId": "4265e84621c7130f", "scanner": "scanner-primary", "fingerprint": "3bf299836af56ca1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-68508c5f8cf43cff", "level": "warning", "message": {"text": "Frontend route `/auth/google-callback` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "properties": {"repobilityId": "89d3f3e8270d6b21", "scanner": "scanner-primary", "fingerprint": "68508c5f8cf43cff", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-efc3810de41778b3", "level": "warning", "message": {"text": "Frontend route `/signup` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "properties": {"repobilityId": "200abeb46ee3605f", "scanner": "scanner-primary", "fingerprint": "efc3810de41778b3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-fde9be5aee0e6c60", "level": "warning", "message": {"text": "Frontend route `/dashboard` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "properties": {"repobilityId": "feff5f8cea095433", "scanner": "scanner-primary", "fingerprint": "fde9be5aee0e6c60", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-acf6a19e5103de8e", "level": "warning", "message": {"text": "Frontend route `/role-select` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "properties": {"repobilityId": "ecd77046f42cb3e6", "scanner": "scanner-primary", "fingerprint": "acf6a19e5103de8e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-52f101a7008d3a9f", "level": "warning", "message": {"text": "Frontend route `/onboarding` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "properties": {"repobilityId": "140f01ce926c3ae2", "scanner": "scanner-primary", "fingerprint": "52f101a7008d3a9f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-a0bdd9102d856463", "level": "warning", "message": {"text": "Frontend route `/trainers/:id` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "properties": {"repobilityId": "453cb3b9faec9566", "scanner": "scanner-primary", "fingerprint": "a0bdd9102d856463", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-f781b74dc680c713", "level": "warning", "message": {"text": "Frontend route `/book/:slotId` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "properties": {"repobilityId": "ea4dcd4175fcd5ce", "scanner": "scanner-primary", "fingerprint": "f781b74dc680c713", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-055b81d83b602e2b", "level": "warning", "message": {"text": "Frontend route `/help/tickets/:id` has no Link/navigate to it \u2014 Cenlar demand gt 1-17/src/App.tsx"}, "properties": {"repobilityId": "2cf4684ee8683076", "scanner": "scanner-primary", "fingerprint": "055b81d83b602e2b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}]}]}