{"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: quintonmiller/tailored-ai", "shortDescription": {"text": "Foundry mined unresolved feedback: quintonmiller/tailored-ai"}, "fullDescription": {"text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#79\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#79\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#79\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 79\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai", "shortDescription": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "fullDescription": {"text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#99\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#99\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#99\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 99\nGraph consistency label: supported_by_verification_signal\nNodes: 34\nEdges: 48\nNode types: {'commit': 12, 'link_quality': 8, 'comment': 3, 'comment_chain':"}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: quintonmiller/tailored-ai", "shortDescription": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#8\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#8\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-fb06ca0796b8ccde\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://git"}, "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: quintonmiller/tailored-ai", "shortDescription": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "fullDescription": {"text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#66\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#66\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#66\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 66\nGraph consistency label: supported_by_verification_signal\nNodes: 31\nEdges: 54\nNode types: {'commit': 8, 'link_quality': 8, 'comment': 4, 'comment_chain': 4, 'alignment': 2, 'thre"}, "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: quintonmiller/tailored-ai", "shortDescription": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "fullDescription": {"text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#66\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#66\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#66\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 66\nGraph consistency label: supported_by_verification_signal\nNodes: 31\nEdges: 54\nNode types: {'commit': 8, 'link_quality': 8, 'comment': 4, 'comment_chain': 4, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chai"}, "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: quintonmiller/tailored-ai", "shortDescription": {"text": "Foundry mined docs only runtime fix: quintonmiller/tailored-ai"}, "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: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#260\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#260\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#260\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 260\nGraph consistency label: supported_by_verification_signal\nNodes: 53\nEdges: 80\nNode types: {'pr_file': 36, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1,"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "high", "confidence": 0.8, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: quintonmiller/tailored-ai", "shortDescription": {"text": "Foundry mined bad chains: quintonmiller/tailored-ai"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#79\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#79\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-14558576c3b36f6c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tai"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "high", "confidence": 0.84, "cwe": "", "owasp": ""}}, {"id": "foundry_auth_guardrail_gap", "name": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai", "shortDescription": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "fullDescription": {"text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#245\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#245\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#245\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 245\nGraph consistency label: weak_supervision_needs_review\nNodes: 12\nEdges: 14\nNode types: {'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment'"}, "properties": {"scanner": "foundry_dataset", "category": "auth", "severity": "critical", "confidence": 0.78, "cwe": "", "owasp": ""}}, {"id": "foundry_fake_real_gap", "name": "Foundry mined mock as real or placeholder: quintonmiller/tailored-ai", "shortDescription": {"text": "Foundry mined mock as real or placeholder: quintonmiller/tailored-ai"}, "fullDescription": {"text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#74\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#74\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#74\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 74\nGraph consistency label: weak_supervision_needs_review\nNodes: 18\nEdges: 26\nNode types: {'commit': 6, 'link_quality': 4, 'comment': 2, 'co"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"id": "scanner-1fcdf357eef3f941", "name": "Stray `console.log` in TS/JS \u2014 packages/channel-slack/src/channel.ts:120", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/channel-slack/src/channel.ts:120"}, "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-e9a308e68b25abb9", "name": "Stray `console.log` in TS/JS \u2014 packages/integration-tests/fixtures/plugin-echo-tool/index.js:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/integration-tests/fixtures/plugin-echo-tool/index.js:11"}, "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-95484b490ef6e030", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/chips.tsx:56", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/chips.tsx:56"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0732d91425de41d6", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/widgets.tsx:238", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/widgets.tsx:238"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eec45e7b6b689ee3", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/BriefingCard.tsx:84", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/BriefingCard.tsx:84"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-10f01d9a5940df2b", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/DocumentViewer.tsx:166", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/DocumentViewer.tsx:166"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-226214829f492c5c", "name": "Icon-only button without accessible name \u2014 packages/ui/src/components/ResourcePicker.tsx:37", "shortDescription": {"text": "Icon-only button without accessible name \u2014 packages/ui/src/components/ResourcePicker.tsx:37"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c1c227cac98b9700", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/pages/Dashboard.tsx:170", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/pages/Dashboard.tsx:170"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0eba9f2fb6e184c0", "name": "Stray `console.log` in TS/JS \u2014 packages/cli/src/index.ts:327", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/index.ts:327"}, "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-c11e8d321495ca73", "name": "Stray `console.log` in TS/JS \u2014 packages/cli/src/outbound-sync.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/outbound-sync.ts:36"}, "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-2f51569f96969cd3", "name": "Stray `console.log` in TS/JS \u2014 packages/cli/src/setup.ts:430", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/setup.ts:430"}, "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-645cb1f38298f064", "name": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/project.ts:106", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/project.ts:106"}, "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-66f0e17468f2ec95", "name": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/plugin.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/plugin.ts:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-34993832232a062f", "name": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/resources.ts:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/resources.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-72ff9e418bebb101", "name": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/vault.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/vault.ts:47"}, "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-446bc0c84cf2cdc7", "name": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/pwa/app.js:378", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/pwa/app.js:378"}, "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-f6bbfe253845177d", "name": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/plugin.ts:189", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/plugin.ts:189"}, "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-80414f12bb1d3f90", "name": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/server.ts:1274", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/server.ts:1274"}, "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-4e5fd4c5944c52d8", "name": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/setup-vapid.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/setup-vapid.ts:15"}, "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-4b3f6f426c10ed8f", "name": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/setup-amazon-password.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/setup-amazon-password.ts:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02c037ad8a85cddd", "name": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/setup-amazon.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/setup-amazon.ts:23"}, "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-9974f6a29e2177ac", "name": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/bin.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/bin.ts:64"}, "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-775d734733ca7ebe", "name": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/test-purchase.ts:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/test-purchase.ts:62"}, "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-8c564fb659f12c96", "name": "Stray `console.log` in TS/JS \u2014 packages/server/src/index.ts:2502", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/server/src/index.ts:2502"}, "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-737000cc35fe5fe9", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/context.ts:145", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/context.ts:145"}, "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-b0c58c5e107392c9", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/runtime.ts:208", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/runtime.ts:208"}, "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-35d72bb93f08c93e", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins.ts:111", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins.ts:111"}, "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-b44fa92396369eb0", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/external-agents.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/external-agents.ts:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f4c8daf864759c96", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/task-watcher.ts:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/task-watcher.ts:71"}, "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-7570bfefab050ba3", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/__tests__/command-allowlist.test.ts:81", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/__tests__/command-allowlist.test.ts:81"}, "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-45e37c9be589abb9", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/mcp/manager.ts:88", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/mcp/manager.ts:88"}, "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-44339e5f31434dd3", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/autopilot/worker.ts:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/autopilot/worker.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-e3dfb18b5a43fbcf", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/agent/loop.ts:811", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/agent/loop.ts:811"}, "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-a6693b2c6edfa76b", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/agent/hooks.ts:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/agent/hooks.ts:73"}, "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-e545c2b4ab83c4bd", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/cron/scheduler.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/cron/scheduler.ts:47"}, "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-0d686ba1f901d981", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/registry.ts:131", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/registry.ts:131"}, "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-344ca50b4f777f41", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/form.ts:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/form.ts:40"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7fd3683fac48c2d7", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/shell.ts:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/shell.ts:49"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46153862219f2cae", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/notify.ts:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/notify.ts:48"}, "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-80c618fda2da79ea", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/channel-message.ts:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/channel-message.ts:51"}, "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-53129c519b55c29b", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/worktree.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/worktree.ts:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-16583f2216661690", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/http-request.ts:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/http-request.ts:49"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2af7d6757645c247", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/tools/admin.ts:287", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/tools/admin.ts:287"}, "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-b184fccc31efa8e6", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/channels/discord.ts:97", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/channels/discord.ts:97"}, "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-5cd6028d5d88df84", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/exploratory/worker.ts:98", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/exploratory/worker.ts:98"}, "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-08161dc1aa0f3826", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/scope-creep-flagger.ts:104", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/scope-creep-flagger.ts:104"}, "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-5491e589ddd48d8d", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/stall-guard.ts:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/stall-guard.ts:73"}, "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-9b881a98c7ca2c96", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/owner-notifier.ts:65", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/owner-notifier.ts:65"}, "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-862d56873d345062", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/agent-notifier.ts:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/agent-notifier.ts:57"}, "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-a07f17d6a61232c7", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/session-summarizer.ts:133", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/session-summarizer.ts:133"}, "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-81512bf4001688af", "name": "Docker base image is tag-pinned but not digest-pinned: mcr.microsoft.com/playwright:v1.58.2-jammy", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: mcr.microsoft.com/playwright:v1.58.2-jammy"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d17c518ac5f42898", "name": "Dockerfile runs as root: docker/coder/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: docker/coder/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-16e1cabf62108590", "name": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-40aa19637700b920", "name": "Dockerfile runs as root: packages/integration-tests/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: packages/integration-tests/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e2c1f808b5cc22ba", "name": "Docker base image is tag-pinned but not digest-pinned: node:20-bookworm-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-bookworm-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8d66f7ad0f67ca47", "name": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/chips.tsx:56", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/chips.tsx:56"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-992da069f5550d34", "name": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/widgets.tsx:238", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/widgets.tsx:238"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3f5f11db7aee4a31", "name": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/BriefingCard.tsx:84", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/BriefingCard.tsx:84"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a7b6b70ba8057194", "name": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/DocumentViewer.tsx:166", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/DocumentViewer.tsx:166"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-984193f86a9efd9c", "name": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/pages/Dashboard.tsx:170", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/pages/Dashboard.tsx:170"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0b2898e384505da7", "name": "Insecure pattern 'node_child_process' in packages/cli/src/plugins/manager.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/cli/src/plugins/manager.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2965b7c2b3cdd1d1", "name": "Insecure pattern 'direct_innerhtml_assignment' in packages/trusted-actions/pwa/app.js:234", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in packages/trusted-actions/pwa/app.js:234"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3f0a17254badf2c5", "name": "Insecure pattern 'node_child_process' in packages/core/src/shell.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/shell.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11cee0f6dcf197f2", "name": "Insecure pattern 'exec_used' in packages/core/src/task-watcher.ts:324", "shortDescription": {"text": "Insecure pattern 'exec_used' in packages/core/src/task-watcher.ts:324"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ffc3819b35299dcc", "name": "Insecure pattern 'node_child_process' in packages/core/src/task-watcher.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/task-watcher.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3148be0b8e0221f9", "name": "Insecure pattern 'exec_used' in packages/core/src/worktree.ts:46", "shortDescription": {"text": "Insecure pattern 'exec_used' in packages/core/src/worktree.ts:46"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-39f761fd654a3402", "name": "Insecure pattern 'node_child_process' in packages/core/src/worktree.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/worktree.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-809454845d0ab56e", "name": "Insecure pattern 'node_child_process' in packages/core/src/__tests__/workflow-worktree.test.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/__tests__/workflow-worktree.test.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-389706e11804615b", "name": "Insecure pattern 'exec_used' in packages/core/src/__tests__/worktree.test.ts:12", "shortDescription": {"text": "Insecure pattern 'exec_used' in packages/core/src/__tests__/worktree.test.ts:12"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-033d4065953c8194", "name": "Insecure pattern 'node_child_process' in packages/core/src/__tests__/worktree.test.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/__tests__/worktree.test.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7487fff9954881a8", "name": "Insecure pattern 'node_child_process' in packages/core/src/resources/sources/git.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/resources/sources/git.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7aa5f2223f22c84b", "name": "Insecure pattern 'node_child_process' in packages/core/src/resources/sources/npm.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/resources/sources/npm.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-17bce06c9083ecf1", "name": "Insecure pattern 'node_child_process' in packages/core/src/resources/sources/http.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/resources/sources/http.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-756973730fc2b5e3", "name": "Insecure pattern 'node_child_process' in packages/core/src/tasks/beads.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/tasks/beads.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-32c1350561910c61", "name": "Insecure pattern 'node_child_process' in packages/core/src/tasks/beans.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/tasks/beans.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d8b792149518274a", "name": "Insecure pattern 'exec_used' in packages/core/src/sandboxes/host.ts:29", "shortDescription": {"text": "Insecure pattern 'exec_used' in packages/core/src/sandboxes/host.ts:29"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-00f23c871148390b", "name": "Insecure pattern 'node_child_process' in packages/core/src/sandboxes/host.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/sandboxes/host.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-396fd1b5cfda6576", "name": "Insecure pattern 'exec_used' in packages/core/src/sandboxes/registry.ts:54", "shortDescription": {"text": "Insecure pattern 'exec_used' in packages/core/src/sandboxes/registry.ts:54"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-82f3e2736324b3a5", "name": "Insecure pattern 'exec_used' in packages/core/src/sandboxes/interface.ts:66", "shortDescription": {"text": "Insecure pattern 'exec_used' in packages/core/src/sandboxes/interface.ts:66"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b9d1d29544d95482", "name": "Insecure pattern 'exec_used' in packages/core/src/sandboxes/container.ts:115", "shortDescription": {"text": "Insecure pattern 'exec_used' in packages/core/src/sandboxes/container.ts:115"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-34be250e25abf6c9", "name": "Insecure pattern 'node_child_process' in packages/core/src/sandboxes/container.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/sandboxes/container.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-269046387d77cf68", "name": "Insecure pattern 'node_child_process' in packages/core/src/workflows/executors/shell.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/workflows/executors/shell.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b8440186c59d1166", "name": "Insecure pattern 'node_child_process' in packages/core/src/tools/claude-code.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/tools/claude-code.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-48f1bbe0cfb2f3f5", "name": "Insecure pattern 'node_child_process' in packages/core/src/tools/exec.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/tools/exec.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bf9fc84ba38054a4", "name": "Insecure pattern 'node_child_process' in packages/core/src/prompts/expand.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/prompts/expand.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-85938a4ebf1623a0", "name": "Insecure pattern 'node_child_process' in packages/core/src/repo/github.ts:17", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/repo/github.ts:17"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ce94484c0aa80b6b", "name": "Insecure pattern 'exec_used' in packages/core/src/plugins/stall-guard.ts:171", "shortDescription": {"text": "Insecure pattern 'exec_used' in packages/core/src/plugins/stall-guard.ts:171"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9ab12bfc346bc2e6", "name": "Insecure pattern 'node_child_process' in packages/core/src/plugins/stall-guard.ts:22", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/src/plugins/stall-guard.ts:22"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-07a41ce9be2f0d41", "name": "Insecure pattern 'node_child_process' in packages/google-tools/src/google-drive.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/google-tools/src/google-drive.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7204f00ed92da72c", "name": "Insecure pattern 'node_child_process' in packages/google-tools/src/google-calendar.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/google-tools/src/google-calendar.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3c8248fba9fde874", "name": "Insecure pattern 'node_child_process' in packages/google-tools/src/gmail.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/google-tools/src/gmail.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2eb2eb7df0f1fcee", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a5037ecad3c32cc8", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/configure-pages@v5 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-3808dc79ba3f91b4", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-46c644c6227e4d4a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "changesets/action@v1 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": "medium", "confidence": 1.0}}, {"id": "scanner-1838a141491ce38c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-44bc373cced2490e", "name": "Very large file: packages/ui/src/api.ts (1760 lines)", "shortDescription": {"text": "Very large file: packages/ui/src/api.ts (1760 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-d735b5966b921adc", "name": "Very large file: packages/ui/src/components/WorkflowGraph.tsx (1436 lines)", "shortDescription": {"text": "Very large file: packages/ui/src/components/WorkflowGraph.tsx (1436 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-c0eb82ce9dbad0ea", "name": "Very large file: packages/server/src/index.ts (3607 lines)", "shortDescription": {"text": "Very large file: packages/server/src/index.ts (3607 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-3094ad1301842a2b", "name": "Very large file: packages/core/src/config.ts (1690 lines)", "shortDescription": {"text": "Very large file: packages/core/src/config.ts (1690 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-13230a8c055ee32a", "name": "Node manifest has dependencies but no lockfile: packages/provider-openai/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/provider-openai/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb2aae44f842080f", "name": "Node manifest has dependencies but no lockfile: packages/channel-slack/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/channel-slack/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7e37cd42d9b678b5", "name": "Node manifest has dependencies but no lockfile: packages/provider-bedrock/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/provider-bedrock/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fed6e30988070076", "name": "Node manifest has dependencies but no lockfile: packages/provider-openrouter/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/provider-openrouter/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f523fd13c7226143", "name": "Node manifest has dependencies but no lockfile: packages/provider-deepseek/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/provider-deepseek/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-50218c90b43393bb", "name": "Node manifest has dependencies but no lockfile: packages/ui/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/ui/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c2e3196a4ef0cdd", "name": "Node manifest has dependencies but no lockfile: packages/cli/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/cli/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-56a2883c9c68d058", "name": "Node manifest has dependencies but no lockfile: packages/trusted-actions/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/trusted-actions/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c4d5e35068e11bb", "name": "Node manifest has dependencies but no lockfile: packages/provider-anthropic/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/provider-anthropic/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea041128948e92b8", "name": "Node manifest has dependencies but no lockfile: packages/site/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/site/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b739f2f2be1d714d", "name": "Node manifest has dependencies but no lockfile: packages/server/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/server/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-28e92806c0db3cd2", "name": "Node manifest has dependencies but no lockfile: packages/core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/core/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-43976ac721101531", "name": "Node manifest has dependencies but no lockfile: packages/browser-mediator/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/browser-mediator/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c1b09b11bdf5f11e", "name": "Node manifest has dependencies but no lockfile: packages/google-tools/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/google-tools/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 425 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 201 placeholder/mock markers across 55 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing lockfile. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-24f2ea4bd14badc1", "name": "Agent instruction contains unpinned remote install: CLAUDE.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: CLAUDE.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a1d627feba3dbdce", "name": "Commented-code block (5 lines) in scripts/guard-pre-v1.mjs:4", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/guard-pre-v1.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-da0ab194f583f594", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/provider-openai/src/provider.ts:205", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/provider-openai/src/provider.ts:205"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a41be1773500876c", "name": "Commented-code block (5 lines) in packages/integration-tests/fixtures/plugin-echo-tool/index.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/integration-tests/fixtures/plugin-echo-tool/index.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6916ebaa53a61bfc", "name": "Commented-code block (9 lines) in packages/ui/src/api.ts:85", "shortDescription": {"text": "Commented-code block (9 lines) in packages/ui/src/api.ts:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1ca078350515c911", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/api.ts:1323", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/api.ts:1323"}, "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-3ea320bf88e61376", "name": "Commented-code block (6 lines) in packages/ui/src/workflow-templates.ts:249", "shortDescription": {"text": "Commented-code block (6 lines) in packages/ui/src/workflow-templates.ts:249"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5ef7d09870df75aa", "name": "Commented-code block (6 lines) in packages/ui/src/App.tsx:65", "shortDescription": {"text": "Commented-code block (6 lines) in packages/ui/src/App.tsx:65"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5b4505b790b631e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/App.tsx:295", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/App.tsx:295"}, "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-97b7473d3b384c30", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/auth_api.ts:22", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/auth_api.ts:22"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-630fe7820da4d256", "name": "Commented-code block (5 lines) in packages/ui/src/components/WorkflowGraph.tsx:337", "shortDescription": {"text": "Commented-code block (5 lines) in packages/ui/src/components/WorkflowGraph.tsx:337"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b2d42877e19598e4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/components/PendingActionsWidget.tsx:26", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/components/PendingActionsWidget.tsx:26"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fa0685f485be0f0b", "name": "Commented-code block (6 lines) in packages/ui/src/pages/Approvals.tsx:56", "shortDescription": {"text": "Commented-code block (6 lines) in packages/ui/src/pages/Approvals.tsx:56"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9a750375ca7def74", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/pages/Approvals.tsx:96", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/pages/Approvals.tsx:96"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2333a13b3ce6d2f1", "name": "Commented-code block (6 lines) in packages/cli/src/index.ts:121", "shortDescription": {"text": "Commented-code block (6 lines) in packages/cli/src/index.ts:121"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6bc468fea5d24f87", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/cli/src/commands/resources.ts:215", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/cli/src/commands/resources.ts:215"}, "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-602bc60ecdd90ac2", "name": "Commented-code block (5 lines) in packages/cli/src/plugins/manager.ts:269", "shortDescription": {"text": "Commented-code block (5 lines) in packages/cli/src/plugins/manager.ts:269"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e3ca8b49fea4c6fb", "name": "Commented-code block (6 lines) in packages/cli/src/plugins/__tests__/manager.test.ts:269", "shortDescription": {"text": "Commented-code block (6 lines) in packages/cli/src/plugins/__tests__/manager.test.ts:269"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7de5ef9d89914701", "name": "Commented-code block (7 lines) in packages/trusted-actions/pwa/sw.js:4", "shortDescription": {"text": "Commented-code block (7 lines) in packages/trusted-actions/pwa/sw.js:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-41632dee6a656944", "name": "Commented-code block (6 lines) in packages/trusted-actions/pwa/app.js:4", "shortDescription": {"text": "Commented-code block (6 lines) in packages/trusted-actions/pwa/app.js:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7e63d7c0bba11676", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/trusted-actions/pwa/app.js:127", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/trusted-actions/pwa/app.js:127"}, "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-32c9747224070256", "name": "Commented-code block (5 lines) in packages/trusted-actions/src/plugin.ts:172", "shortDescription": {"text": "Commented-code block (5 lines) in packages/trusted-actions/src/plugin.ts:172"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8ea4fe50cd5ea596", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/trusted-actions/src/plugin.ts:60", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/trusted-actions/src/plugin.ts:60"}, "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-bbb9e6cb510f3e1e", "name": "Commented-code block (5 lines) in packages/trusted-actions/src/server.ts:1218", "shortDescription": {"text": "Commented-code block (5 lines) in packages/trusted-actions/src/server.ts:1218"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-087805fbfbd050a0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/trusted-actions/src/server.ts:913", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/trusted-actions/src/server.ts:913"}, "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-188818df95ca1008", "name": "Commented-code block (5 lines) in packages/trusted-actions/src/__tests__/amazon-adapter.test.ts:132", "shortDescription": {"text": "Commented-code block (5 lines) in packages/trusted-actions/src/__tests__/amazon-adapter.test.ts:132"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-46a79e23efc8bf3b", "name": "Commented-code block (5 lines) in packages/trusted-actions/src/approval/push-routes.ts:22", "shortDescription": {"text": "Commented-code block (5 lines) in packages/trusted-actions/src/approval/push-routes.ts:22"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-257cd1f0622efed0", "name": "Commented-code block (6 lines) in packages/trusted-actions/src/db/migrations.ts:48", "shortDescription": {"text": "Commented-code block (6 lines) in packages/trusted-actions/src/db/migrations.ts:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d313269a2c7e7a73", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/provider-anthropic/src/provider.ts:346", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/provider-anthropic/src/provider.ts:346"}, "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-6604eb6cba0a351e", "name": "Commented-code block (5 lines) in packages/server/src/index.ts:312", "shortDescription": {"text": "Commented-code block (5 lines) in packages/server/src/index.ts:312"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-047831255a0e1850", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/index.ts:2390", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/index.ts:2390"}, "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-e5f04837bc0a653e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/mcp-routes.test.ts:70", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/mcp-routes.test.ts:70"}, "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-1c1429e66d1a9184", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/workflow-routes.test.ts:199", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/workflow-routes.test.ts:199"}, "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-f13bd47f47a1c52b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/webhook-workflow.test.ts:116", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/webhook-workflow.test.ts:116"}, "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-509b1eceb9e56f41", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/plugin-http-routes.test.ts:73", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/plugin-http-routes.test.ts:73"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dcaea7be58839053", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/auth-token.test.ts:72", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/auth-token.test.ts:72"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-87f2a3baa2a98b69", "name": "Commented-code block (6 lines) in packages/core/src/config.ts:938", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/config.ts:938"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1976c85c49392820", "name": "Commented-code block (9 lines) in packages/core/src/runtime.ts:930", "shortDescription": {"text": "Commented-code block (9 lines) in packages/core/src/runtime.ts:930"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a3c5e25d7fd4671", "name": "Commented-code block (5 lines) in packages/core/src/plugin-context.ts:329", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/plugin-context.ts:329"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-566f6f5c36a8cbe0", "name": "Commented-code block (6 lines) in packages/core/src/task-watcher.ts:96", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/task-watcher.ts:96"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8409dc068b6dc8fb", "name": "Commented-code block (5 lines) in packages/core/src/worktree.ts:138", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/worktree.ts:138"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-047ed2a50d4a1163", "name": "Commented-code block (5 lines) in packages/core/src/factories.ts:116", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/factories.ts:116"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d9ef8ef733f98bc6", "name": "Commented-code block (5 lines) in packages/core/src/__tests__/task-watcher-notification.test.ts:75", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/__tests__/task-watcher-notification.test.ts:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-93247ae035052d14", "name": "Commented-code block (5 lines) in packages/core/src/__tests__/project-overlay.test.ts:76", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/__tests__/project-overlay.test.ts:76"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ae8274105ebf101", "name": "Legacy-named symbol `proj_legacy` in packages/core/src/__tests__/project-resolve.test.ts:57", "shortDescription": {"text": "Legacy-named symbol `proj_legacy` in packages/core/src/__tests__/project-resolve.test.ts:57"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4db5e9616c745578", "name": "Legacy-named symbol `proj_old` in packages/core/src/__tests__/project-integration.test.ts:169", "shortDescription": {"text": "Legacy-named symbol `proj_old` in packages/core/src/__tests__/project-integration.test.ts:169"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11b571b91ab55c27", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/__tests__/skill-md.test.ts:141", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/__tests__/skill-md.test.ts:141"}, "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-d52defe257f83f32", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/resources/sources/npm.ts:69", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/resources/sources/npm.ts:69"}, "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-1fcd5ec3b427a503", "name": "Commented-code block (7 lines) in packages/core/src/resources/sources/registry-index.ts:93", "shortDescription": {"text": "Commented-code block (7 lines) in packages/core/src/resources/sources/registry-index.ts:93"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-edbe17e1c1cab4f7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/resources/sources/registry-index.ts:62", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/resources/sources/registry-index.ts:62"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-18b075090451759c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/resources/sources/http.ts:45", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/resources/sources/http.ts:45"}, "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-01d80970a003cbb0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/resources/sources/agent.ts:6", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/resources/sources/agent.ts:6"}, "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-5b032a7cf6fe5e1d", "name": "Commented-code block (6 lines) in packages/core/src/agent/loop.ts:547", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/agent/loop.ts:547"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-884083ef3001f1b2", "name": "Commented-code block (5 lines) in packages/core/src/agent/agents.ts:203", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/agent/agents.ts:203"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6a13ca36bab5d361", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/providers/openai.ts:181", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/providers/openai.ts:181"}, "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-1f46d2ffd6896001", "name": "Commented-code block (5 lines) in packages/core/src/providers/openai-embedding.ts:113", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/providers/openai-embedding.ts:113"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e8ed4c940fddadb4", "name": "Commented-code block (8 lines) in packages/core/src/providers/factories.ts:78", "shortDescription": {"text": "Commented-code block (8 lines) in packages/core/src/providers/factories.ts:78"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c059892f8d59f305", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/tasks/beads.ts:118", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/tasks/beads.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-b153843156c0af96", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/tasks/beans.ts:126", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/tasks/beans.ts:126"}, "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-2c09de69e8f0dac8", "name": "Commented-code block (5 lines) in packages/core/src/sandboxes/container.ts:71", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/sandboxes/container.ts:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6b41d983bd17d5eb", "name": "Commented-code block (7 lines) in packages/core/src/sandboxes/factory.ts:44", "shortDescription": {"text": "Commented-code block (7 lines) in packages/core/src/sandboxes/factory.ts:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fa5431f39e21b83e", "name": "Commented-code block (6 lines) in packages/core/src/workflows/builtin-executors.ts:17", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/workflows/builtin-executors.ts:17"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aac94ea11d9bf132", "name": "Commented-code block (5 lines) in packages/core/src/workflows/executors/channel-message.ts:68", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/workflows/executors/channel-message.ts:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5ebbc3800df2cebf", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/tools/request-action.ts:14", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/tools/request-action.ts:14"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-02a2bf032bc7213d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/tools/web-search.ts:59", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/tools/web-search.ts:59"}, "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-cc9d7384fe351589", "name": "Commented-code block (5 lines) in packages/core/src/tools/exec.ts:46", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/tools/exec.ts:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7011c5f954edfe83", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/channels/discord.ts:180", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/channels/discord.ts:180"}, "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-8de3b271465031d8", "name": "Commented-code block (6 lines) in packages/core/src/db/note-queries.ts:146", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/db/note-queries.ts:146"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cace4a4aa521163e", "name": "Commented-code block (5 lines) in packages/core/src/exploratory/tick-context.ts:167", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/exploratory/tick-context.ts:167"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-02fbb6173485bca5", "name": "Commented-code block (7 lines) in packages/core/src/exploratory/worker.ts:213", "shortDescription": {"text": "Commented-code block (7 lines) in packages/core/src/exploratory/worker.ts:213"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a9836457f7ec50c4", "name": "23 env vars used in code but missing from .env.example", "shortDescription": {"text": "23 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `APPROVAL_HMAC_KEY`, `HOME`, `NONEXISTENT_VAR`, `TAI_API_TOKEN`, `TAI_API_URL`, `TAI_EXECUTOR_PASSPHRASE`, `TAI_EXECUTOR_SCREENSHOTS`, `TAI_HOME` + 15 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42ce049e46b51563", "name": "Dangling fetch: POST /push/status (packages/trusted-actions/pwa/app.js:113)", "shortDescription": {"text": "Dangling fetch: POST /push/status (packages/trusted-actions/pwa/app.js:113)"}, "fullDescription": {"text": "`packages/trusted-actions/pwa/app.js:113` calls `POST /push/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/push/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-77901a62b1cb2a7d", "name": "Dangling fetch: POST /api/auth/logout (packages/ui/src/App.tsx:295)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/logout (packages/ui/src/App.tsx:295)"}, "fullDescription": {"text": "`packages/ui/src/App.tsx:295` calls `POST /api/auth/logout` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/logout`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e7f92a0577b285ca", "name": "Dangling fetch: POST /api/auth/login (packages/ui/src/auth_api.ts:6)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/login (packages/ui/src/auth_api.ts:6)"}, "fullDescription": {"text": "`packages/ui/src/auth_api.ts:6` calls `POST /api/auth/login` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/login`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-20cbacfe92fa74cb", "name": "Dangling fetch: POST /api/auth/logout (packages/ui/src/auth_api.ts:22)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/logout (packages/ui/src/auth_api.ts:22)"}, "fullDescription": {"text": "`packages/ui/src/auth_api.ts:22` calls `POST /api/auth/logout` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/logout`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-56a1f85db11a66bc", "name": "Dangling fetch: GET /api/trusted-actions/subscriptions (packages/ui/src/pages/Approvals.tsx:342)", "shortDescription": {"text": "Dangling fetch: GET /api/trusted-actions/subscriptions (packages/ui/src/pages/Approvals.tsx:342)"}, "fullDescription": {"text": "`packages/ui/src/pages/Approvals.tsx:342` calls `GET /api/trusted-actions/subscriptions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/trusted-actions/subscriptions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-172498416a970db1", "name": "Dangling fetch: POST /api/trusted-actions/subscriptions/${op} (packages/ui/src/pages/Approvals.tsx:368)", "shortDescription": {"text": "Dangling fetch: POST /api/trusted-actions/subscriptions/${op} (packages/ui/src/pages/Approvals.tsx:368)"}, "fullDescription": {"text": "`packages/ui/src/pages/Approvals.tsx:368` calls `POST /api/trusted-actions/subscriptions/${op}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/trusted-actions/subscriptions/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7ad5d9ebe28673cf", "name": "Dangling fetch: POST /api/auth/login (packages/ui/src/pages/Login.tsx:14)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/login (packages/ui/src/pages/Login.tsx:14)"}, "fullDescription": {"text": "`packages/ui/src/pages/Login.tsx:14` calls `POST /api/auth/login` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/login`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e9c1d347aa79dc42", "name": "Dangling fetch: POST /approve/bogus-token-not-real (packages/trusted-actions/src/__tests__/server.test.ts:204)", "shortDescription": {"text": "Dangling fetch: POST /approve/bogus-token-not-real (packages/trusted-actions/src/__tests__/server.test.ts:204)"}, "fullDescription": {"text": "`packages/trusted-actions/src/__tests__/server.test.ts:204` calls `POST /approve/bogus-token-not-real` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/approve/bogus-token-not-real`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ebeb521dec502ea", "name": "Dangling fetch: POST /actions/missing/cancel (packages/trusted-actions/src/__tests__/server.test.ts:272)", "shortDescription": {"text": "Dangling fetch: POST /actions/missing/cancel (packages/trusted-actions/src/__tests__/server.test.ts:272)"}, "fullDescription": {"text": "`packages/trusted-actions/src/__tests__/server.test.ts:272` calls `POST /actions/missing/cancel` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/actions/missing/cancel`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f843ad327a9f3985", "name": "Dangling fetch: GET /internal/actions/nope/status (packages/trusted-actions/src/__tests__/server.test.ts:307)", "shortDescription": {"text": "Dangling fetch: GET /internal/actions/nope/status (packages/trusted-actions/src/__tests__/server.test.ts:307)"}, "fullDescription": {"text": "`packages/trusted-actions/src/__tests__/server.test.ts:307` calls `GET /internal/actions/nope/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/internal/actions/nope/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5d817cceee0971b7", "name": "Dangling fetch: GET https://api.search.brave.com/res/v1/web/search?${params} (packages/core/src/tools/web-search.ts:59)", "shortDescription": {"text": "Dangling fetch: GET https://api.search.brave.com/res/v1/web/search?${params} (packages/core/src/tools/web-search.ts:59)"}, "fullDescription": {"text": "`packages/core/src/tools/web-search.ts:59` calls `GET https://api.search.brave.com/res/v1/web/search?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.search.brave.com/res/v1/web/search`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a0e1d6e569dda656", "name": "Unused endpoint: USE /internal/*", "shortDescription": {"text": "Unused endpoint: USE /internal/*"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `USE /internal/*` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-abc3fa1b150e33a4", "name": "Unused endpoint: GET /approve/:token", "shortDescription": {"text": "Unused endpoint: GET /approve/:token"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `GET /approve/:token` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f94da62e15c39004", "name": "Unused endpoint: GET /reject/:token", "shortDescription": {"text": "Unused endpoint: GET /reject/:token"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `GET /reject/:token` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-74301eda0192cc87", "name": "Unused endpoint: POST /internal/read", "shortDescription": {"text": "Unused endpoint: POST /internal/read"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `POST /internal/read` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-61c72cce77eb1ceb", "name": "Unused endpoint: POST /internal/push/subscribe", "shortDescription": {"text": "Unused endpoint: POST /internal/push/subscribe"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `POST /internal/push/subscribe` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b4dd08f5131a8249", "name": "Unused endpoint: GET /push/subscription/status", "shortDescription": {"text": "Unused endpoint: GET /push/subscription/status"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `GET /push/subscription/status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-961fb5703f826698", "name": "Unused endpoint: GET /internal/subscriptions", "shortDescription": {"text": "Unused endpoint: GET /internal/subscriptions"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `GET /internal/subscriptions` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72a8870185909d30", "name": "Unused endpoint: POST /internal/subscriptions/approve", "shortDescription": {"text": "Unused endpoint: POST /internal/subscriptions/approve"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `POST /internal/subscriptions/approve` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79cff984441570e3", "name": "Unused endpoint: POST /internal/subscriptions/reject", "shortDescription": {"text": "Unused endpoint: POST /internal/subscriptions/reject"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `POST /internal/subscriptions/reject` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-383635063d8942c0", "name": "Unused endpoint: POST /internal/subscriptions/delete", "shortDescription": {"text": "Unused endpoint: POST /internal/subscriptions/delete"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `POST /internal/subscriptions/delete` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb43844e9a31de6b", "name": "Unused endpoint: GET /internal/actions/history", "shortDescription": {"text": "Unused endpoint: GET /internal/actions/history"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `GET /internal/actions/history` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5baa8971ebe192a1", "name": "Unused endpoint: GET /", "shortDescription": {"text": "Unused endpoint: GET /"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `GET /` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-21cf56c09f860b64", "name": "Unused endpoint: GET /index.html", "shortDescription": {"text": "Unused endpoint: GET /index.html"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `GET /index.html` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47e2aa64215549d7", "name": "Unused endpoint: GET /app.js", "shortDescription": {"text": "Unused endpoint: GET /app.js"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `GET /app.js` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f22cf013c13a7f0c", "name": "Unused endpoint: GET /sw.js", "shortDescription": {"text": "Unused endpoint: GET /sw.js"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `GET /sw.js` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-22fef0dea11ed1eb", "name": "Unused endpoint: GET /styles.css", "shortDescription": {"text": "Unused endpoint: GET /styles.css"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `GET /styles.css` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9cd3c933d741fc34", "name": "Unused endpoint: GET /manifest.webmanifest", "shortDescription": {"text": "Unused endpoint: GET /manifest.webmanifest"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `GET /manifest.webmanifest` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3387f25edc05f7d3", "name": "Unused endpoint: GET /icons/:name", "shortDescription": {"text": "Unused endpoint: GET /icons/:name"}, "fullDescription": {"text": "`packages/trusted-actions/src/server.ts` declares `GET /icons/:name` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b8073f7bf758f6d0", "name": "Unused endpoint: USE /api/*", "shortDescription": {"text": "Unused endpoint: USE /api/*"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `USE /api/*` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4756b4c4da7d2088", "name": "Unused endpoint: GET /api/health", "shortDescription": {"text": "Unused endpoint: GET /api/health"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/health` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf2e6e2188a510ee", "name": "Unused endpoint: GET /api/sessions", "shortDescription": {"text": "Unused endpoint: GET /api/sessions"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/sessions` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e51b50c60f230d16", "name": "Unused endpoint: GET /api/sessions/:id/messages", "shortDescription": {"text": "Unused endpoint: GET /api/sessions/:id/messages"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/sessions/:id/messages` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d14b16b8bcbea90", "name": "Unused endpoint: PATCH /api/sessions/:id", "shortDescription": {"text": "Unused endpoint: PATCH /api/sessions/:id"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `PATCH /api/sessions/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ae18e966899ef533", "name": "Unused endpoint: DELETE /api/sessions/:id", "shortDescription": {"text": "Unused endpoint: DELETE /api/sessions/:id"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `DELETE /api/sessions/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d88d4c8e22ba27d", "name": "Unused endpoint: POST /api/sessions/new", "shortDescription": {"text": "Unused endpoint: POST /api/sessions/new"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `POST /api/sessions/new` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-084480261b046d70", "name": "Unused endpoint: GET /api/tools", "shortDescription": {"text": "Unused endpoint: GET /api/tools"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/tools` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c4b0361ac0f5eeb9", "name": "Unused endpoint: GET /api/agents", "shortDescription": {"text": "Unused endpoint: GET /api/agents"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/agents` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5aae5480ca83b4a2", "name": "Unused endpoint: GET /api/mcp", "shortDescription": {"text": "Unused endpoint: GET /api/mcp"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/mcp` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3e91f42808613291", "name": "Unused endpoint: GET /api/plugins", "shortDescription": {"text": "Unused endpoint: GET /api/plugins"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/plugins` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2cbc08e97a8f0293", "name": "Unused endpoint: GET /api/skills", "shortDescription": {"text": "Unused endpoint: GET /api/skills"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/skills` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ab31d7e480a710b2", "name": "Unused endpoint: POST /api/agents", "shortDescription": {"text": "Unused endpoint: POST /api/agents"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `POST /api/agents` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9210f59a56be03eb", "name": "Unused endpoint: PATCH /api/agents/:name", "shortDescription": {"text": "Unused endpoint: PATCH /api/agents/:name"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `PATCH /api/agents/:name` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84064c8a726c2927", "name": "Unused endpoint: DELETE /api/agents/:name", "shortDescription": {"text": "Unused endpoint: DELETE /api/agents/:name"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `DELETE /api/agents/:name` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8808694c7ad903d6", "name": "Unused endpoint: GET /api/cron", "shortDescription": {"text": "Unused endpoint: GET /api/cron"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/cron` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a545f49239583988", "name": "Unused endpoint: PATCH /api/cron/:name", "shortDescription": {"text": "Unused endpoint: PATCH /api/cron/:name"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `PATCH /api/cron/:name` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ffb6b0effc9cecfc", "name": "Unused endpoint: POST /api/cron/:name/run", "shortDescription": {"text": "Unused endpoint: POST /api/cron/:name/run"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `POST /api/cron/:name/run` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1152fa7acf7dabb7", "name": "Unused endpoint: GET /api/approvals", "shortDescription": {"text": "Unused endpoint: GET /api/approvals"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/approvals` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1c07841b8c4c26b8", "name": "Unused endpoint: POST /api/approvals/:id", "shortDescription": {"text": "Unused endpoint: POST /api/approvals/:id"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `POST /api/approvals/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea24554e13329305", "name": "Unused endpoint: GET /api/background-tasks", "shortDescription": {"text": "Unused endpoint: GET /api/background-tasks"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/background-tasks` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d30aa36f85b5752f", "name": "Unused endpoint: GET /api/activity", "shortDescription": {"text": "Unused endpoint: GET /api/activity"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/activity` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-52ae9bc4122c6fc8", "name": "Unused endpoint: GET /api/project-tasks", "shortDescription": {"text": "Unused endpoint: GET /api/project-tasks"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/project-tasks` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1d8e0b9ad6c2e94f", "name": "Unused endpoint: GET /api/project-tasks/:id", "shortDescription": {"text": "Unused endpoint: GET /api/project-tasks/:id"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/project-tasks/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c77909cf1ca7bcbf", "name": "Unused endpoint: POST /api/project-tasks", "shortDescription": {"text": "Unused endpoint: POST /api/project-tasks"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `POST /api/project-tasks` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2266ed590d347bdb", "name": "Unused endpoint: PATCH /api/project-tasks/:id", "shortDescription": {"text": "Unused endpoint: PATCH /api/project-tasks/:id"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `PATCH /api/project-tasks/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6308876f229f3ce5", "name": "Unused endpoint: DELETE /api/project-tasks/:id", "shortDescription": {"text": "Unused endpoint: DELETE /api/project-tasks/:id"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `DELETE /api/project-tasks/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1f222f078444910a", "name": "Unused endpoint: GET /api/task-comments", "shortDescription": {"text": "Unused endpoint: GET /api/task-comments"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/task-comments` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cc7c9668fe18562a", "name": "Unused endpoint: POST /api/project-tasks/:id/comments", "shortDescription": {"text": "Unused endpoint: POST /api/project-tasks/:id/comments"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `POST /api/project-tasks/:id/comments` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-655a90e60bd6b2b1", "name": "Unused endpoint: GET /api/facts", "shortDescription": {"text": "Unused endpoint: GET /api/facts"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/facts` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-44227e5ad90bce81", "name": "Unused endpoint: GET /api/facts/:category/:entity/:key", "shortDescription": {"text": "Unused endpoint: GET /api/facts/:category/:entity/:key"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `GET /api/facts/:category/:entity/:key` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a7050af82663d35f", "name": "Unused endpoint: POST /api/facts", "shortDescription": {"text": "Unused endpoint: POST /api/facts"}, "fullDescription": {"text": "`packages/server/src/index.ts` declares `POST /api/facts` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/17671"}, "properties": {"repository": "quintonmiller/tailored-ai", "repoUrl": "https://github.com/quintonmiller/tailored-ai", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 466702, "scanner": "foundry_dataset", "fingerprint": "1d8b1b010582df37a556894f6f5230065a85dd461b2418597d0eeba20a46c690", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"agent_instruction_gap": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#79", "issue_number": "79", "quality_tiers": {"unresolved": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-0b193a3600603737", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#79\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#79\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#79\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 79\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-7d1c0fe1a2ce2408", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 466701, "scanner": "foundry_dataset", "fingerprint": "6d7c6a843160eb6108cfe0cb5d14a32be136405e0b001e69ff420357037ceb91", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"human_feedback_general": 1, "unlinked_human_feedback": 1, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#47", "issue_number": "47", "quality_tiers": {"unresolved": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-522d67318270d495", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#47\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#47\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#47\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 47\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-ca54481cf2324d41", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 466700, "scanner": "foundry_dataset", "fingerprint": "d990f607d632cd61cd7b32eaeba773639ecd521486d6f43f8b27e826a8b75548", "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": 4, "generated_provenance": 1, "agent_instruction_gap": 2, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 21, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#255", "issue_number": "255", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-44e7fd41310e116c", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#255\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#255\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#255\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 255\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 21\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'agent_instruction_gap': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-f78050e55f01b5e9", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 466699, "scanner": "foundry_dataset", "fingerprint": "b70893e947be41042cf7d664c1b22aabbe8f1d88be6b996242391934b296e6dc", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"agent_instruction_gap": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#24", "issue_number": "24", "quality_tiers": {"unresolved": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-25b467a0e427a026", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#24\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#24\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#24\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 24\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-25291c1fd7b60e31", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 466698, "scanner": "foundry_dataset", "fingerprint": "ef94886bf10f6a786df03b140145d5a0c90ee8f96c437e50cd5e86471d13932e", "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": 3, "test_ci_gap": 1, "api_or_backend": 1, "ui_or_frontend": 6, "agent_instruction_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 65, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 10, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 10, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 20, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 30, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 10, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#14", "issue_number": "14", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-d0b4296e0742ecce", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 15, "api_or_backend": 5, "ui_or_frontend": 30}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#14\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#14\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#14\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 14\nGraph consistency label: supported_by_verification_signal\nNodes: 30\nEdges: 65\nNode types: {'pr_file': 10, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 20, 'thread_touches_file': 10, 'issue_chain_touches_file': 10, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 6, 'verification_or_tests': 4, 'test_or_ci': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'agent_instruction_gap': 1, 'api_or_backend': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-87d54abcdab5b07d", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 466697, "scanner": "foundry_dataset", "fingerprint": "b73009c0fe855c58746c824728da7060f8392c19718f950a29a212ff500c8d8a", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 5, "mock_placeholder": 1, "agent_instruction_gap": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 21, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#13", "issue_number": "13", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-18e0aa78aaff2ae2", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#13\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#13\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#13\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 13\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 21\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'agent_instruction_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-de9af90302a022ab", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 466696, "scanner": "foundry_dataset", "fingerprint": "3b934f88ac6219d40906b858a8cccf3c525a1d2c0dababea1d37d9867e35d5e1", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"human_feedback_general": 1, "unlinked_human_feedback": 1, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#120", "issue_number": "120", "quality_tiers": {"unresolved": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-6ef82437dfedf1fe", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#120\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#120\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#120\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 120\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-74c34da4850d0f88", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 466695, "scanner": "foundry_dataset", "fingerprint": "7deb627b8e1ca178e46b24a8d407614d38363c1ec23b9ce0123a363ad7c4f282", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"agent_instruction_gap": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#12", "issue_number": "12", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-f2c4e4e2f52ce1e2", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#12\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#12\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#12\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 12\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'agent_instruction_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-a6ed2a6449ff0ef6", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 466694, "scanner": "foundry_dataset", "fingerprint": "4b81321c11b188678582b298899346dc9ede235cf1146ab6c199fcfcbdc90b62", "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, "api_integration_gap": 1, "generated_provenance": 1, "security_auth_secret": 1, "agent_instruction_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 2, "not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 26, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#107", "issue_number": "107", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-b5f6488fbe1f0860", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#107\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#107\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#107\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 107\nGraph consistency label: supported_by_verification_signal\nNodes: 26\nEdges: 34\nNode types: {'commit': 8, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 9, 'chain_has_link_quality': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'agent_instruction_gap': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1, 'claimed_resolved_unverified': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-65a8e472732c1026", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449442, "scanner": "foundry_dataset", "fingerprint": "787f31a586cff2ee0a5c3bbe54f4e596c9acaa10611171a74e3ae640ebd8e3ca", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "api_integration_gap": 3, "dependency_or_build": 1, "verification_or_tests": 8, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 3, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 5, "human_reported_issue_then_verified_fix_attempt": 3}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 10}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 48, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 8, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 15, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 34, "node_types": {"repo": 1, "commit": 12, "thread": 1, "comment": 3, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#99", "issue_number": "99", "quality_tiers": {"high_confidence": 5, "assumption_check": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-14a60e35f83b61f5", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#99\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#99\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#99\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 99\nGraph consistency label: supported_by_verification_signal\nNodes: 34\nEdges: 48\nNode types: {'commit': 12, 'link_quality': 8, 'comment': 3, 'comment_chain': 3, 'alignment': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 15, 'chain_has_link_quality': 8, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 8, 'claimed_resolved_with_verification_signal': 5, 'api_integration_gap': 3, 'human_reported_issue_then_verified_fix_attempt': 3, 'bug_fix': 3, 'blueprint_human_gap_disagreement': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'dependency_or_build': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 10}\nQuality tiers: {'high_confidence': 5, 'assumption_check': 3}\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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-2ff492c825de336c", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449441, "scanner": "foundry_dataset", "fingerprint": "412d3dec8cfaf23f1f4c0895fc2044cda641ebdc84f006409ba25b64df1f425a", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "mock_placeholder": 1, "verification_or_tests": 6, "human_feedback_general": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 5, "human_reported_issue_then_verified_fix_attempt": 3}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 10}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 54, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 8, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 20, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 31, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 4, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#66", "issue_number": "66", "quality_tiers": {"high_confidence": 6, "assumption_check": 2}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-66a794408d09090e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#66\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#66\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#66\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 66\nGraph consistency label: supported_by_verification_signal\nNodes: 31\nEdges: 54\nNode types: {'commit': 8, 'link_quality': 8, 'comment': 4, 'comment_chain': 4, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 20, 'chain_has_link_quality': 8, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 6, 'claimed_resolved_with_verification_signal': 5, 'human_reported_issue_then_verified_fix_attempt': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 6, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-c0e2c2a51e554573", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449440, "scanner": "foundry_dataset", "fingerprint": "3390c997bcdf83281dff4e4a115ebdbf343cc8e485597ce1cd01c2c2a77d88bf", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "generated_provenance": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#62", "issue_number": "62", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-ef9b52d4acfae4ca", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#62\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#62\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#62\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 62\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'generated_provenance': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-996dc8750adda3d7", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449439, "scanner": "foundry_dataset", "fingerprint": "f8ef8ccdc3fb061ff34a6aeeaeaa61e0ece303b435eefb37fe279ee4e66170d8", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#45", "issue_number": "45", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-bf0ae65b77e6fbb1", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#45\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#45\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#45\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 45\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-266326d09250abb9", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449438, "scanner": "foundry_dataset", "fingerprint": "8910f3747331a5bfd051dbe25f2a2704b2183027667c81292de10164c7e745cc", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#38", "issue_number": "38", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-738ca4407e2a500f", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#38\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#38\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#38\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 38\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-7f11231de0af0f5c", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449437, "scanner": "foundry_dataset", "fingerprint": "b6a71cfdfe44ac74b7881c2eb6ab2fd4b728ff64117e2de9c0872190c3e011de", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#29", "issue_number": "29", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b039f86155a532aa", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#29\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#29\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#29\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 29\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-5423dbc140b37d19", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449436, "scanner": "foundry_dataset", "fingerprint": "53134fc8006098c495bfbced98c867a91cc23964486e7fc2fc6a6c8346aabcdb", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"api_integration_gap": 1, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#266", "issue_number": "266", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-526d61ce8ec3bae0", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#266\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#266\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#266\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 266\nGraph consistency label: weak_supervision_needs_review\nNodes: 13\nEdges: 16\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-6cdf7f1fa6d4eda1", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449435, "scanner": "foundry_dataset", "fingerprint": "84531ca1f5a008b8b3a1a89b161a819ae627941d63197bada8bf4c773bb87241", "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": 1, "docs_or_claims": 1, "ui_or_frontend": 2, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 32, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 4, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 21, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#264", "issue_number": "264", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0d80df5b13867674", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 4, "docs_or_claims": 4, "ui_or_frontend": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#264\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#264\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#264\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 264\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 32\nNode types: {'commit': 5, 'pr_file': 4, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'thread_touches_file': 4, 'comment_chain_touches_file': 4, 'chain_has_link_quality': 4, 'issue_chain_touches_file': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'ui_or_frontend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'docs_or_claims': 1, 'test_or_ci': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-ce3aae73ae90c549", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449434, "scanner": "foundry_dataset", "fingerprint": "3ab160eb18ad817897c4a6057206c2246e22d09b4d8afa5ea9fa11da01884cdb", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "test_or_ci": 4, "api_or_backend": 2, "docs_or_claims": 5, "ui_or_frontend": 10, "security_or_auth": 1, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 66, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 22, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 39, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 22, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#263", "issue_number": "263", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9b020eb85244e7e4", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 16, "api_or_backend": 8, "docs_or_claims": 20, "ui_or_frontend": 40, "security_or_auth": 4}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#263\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#263\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#263\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 263\nGraph consistency label: supported_by_verification_signal\nNodes: 39\nEdges: 66\nNode types: {'pr_file': 22, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 22, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 10, 'docs_or_claims': 5, 'test_or_ci': 4, 'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'api_or_backend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'security_or_auth': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-bda6791bd7590043", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449433, "scanner": "foundry_dataset", "fingerprint": "57e006fa264acf71074c813c4156ed4d18232d846cde3d26f1c6a33febe45c94", "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": 10, "api_or_backend": 3, "docs_or_claims": 2, "schema_or_data": 1, "ui_or_frontend": 23, "verification_or_tests": 4, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 83, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 39, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 56, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 39, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#261", "issue_number": "261", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e4ddeff0825d241e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 40, "api_or_backend": 12, "docs_or_claims": 8, "schema_or_data": 4, "ui_or_frontend": 92}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#261\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#261\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#261\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 261\nGraph consistency label: supported_by_verification_signal\nNodes: 56\nEdges: 83\nNode types: {'pr_file': 39, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 39, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 23, 'test_or_ci': 10, 'verification_or_tests': 4, 'api_or_backend': 3, 'claimed_resolved_with_verification_signal': 3, 'docs_or_claims': 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_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-1e845c5e0bf1df7f", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449432, "scanner": "foundry_dataset", "fingerprint": "ddd2488992405af7ca35048b242b2d82a16b7bf0fbe1aa07b678c0fd6e7d40d2", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "api_or_backend": 4, "docs_or_claims": 22, "dependency_or_build": 11, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 80, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 36, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 53, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 36, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#260", "issue_number": "260", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-a093635c424f3241", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 16, "docs_or_claims": 88, "dependency_or_build": 40}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#260\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#260\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#260\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 260\nGraph consistency label: supported_by_verification_signal\nNodes: 53\nEdges: 80\nNode types: {'pr_file': 36, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 36, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'docs_or_claims': 22, 'dependency_or_build': 11, 'api_or_backend': 4, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-b341ad3c6ccb8e45", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449431, "scanner": "foundry_dataset", "fingerprint": "43289336ab6d340bf43e7aca4098f79c3f28fb343a613eaea7515beb623f8937", "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, "api_or_backend": 1, "docs_or_claims": 2, "ui_or_frontend": 2, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 41, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 7, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 7, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 24, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 7, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#259", "issue_number": "259", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-02ce5c18ac4051c3", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 8, "api_or_backend": 4, "docs_or_claims": 8, "ui_or_frontend": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#259\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#259\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#259\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 259\nGraph consistency label: supported_by_verification_signal\nNodes: 24\nEdges: 41\nNode types: {'pr_file': 7, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 7, 'comment_chain_touches_file': 7, 'issue_chain_touches_file': 7, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'docs_or_claims': 2, 'ui_or_frontend': 2, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'api_or_backend': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-ef412a6863080639", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449430, "scanner": "foundry_dataset", "fingerprint": "64c38fdc7ebc8c22e874b72ec450f09bd7fe9c61d8065ccc7a9906d3995d270c", "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": 1, "docs_or_claims": 2, "ui_or_frontend": 4, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 41, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 7, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 7, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 24, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 7, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#257", "issue_number": "257", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-03f114b41039e058", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 4, "docs_or_claims": 8, "ui_or_frontend": 16}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#257\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#257\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#257\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 257\nGraph consistency label: supported_by_verification_signal\nNodes: 24\nEdges: 41\nNode types: {'pr_file': 7, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 7, 'comment_chain_touches_file': 7, 'issue_chain_touches_file': 7, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 4, 'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'docs_or_claims': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'test_or_ci': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-fda830199ceb3916", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449429, "scanner": "foundry_dataset", "fingerprint": "484590897e1c1996aa81dc870e5b56347e0008ca3bbf9e4da40532c5a0ee9301", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#253", "issue_number": "253", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-79f07977e6d9c3cc", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#253\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#253\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#253\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 253\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-699aad842d9f9cf2", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449428, "scanner": "foundry_dataset", "fingerprint": "870ec76a0ab3043c2da3d604a1e29e4bbc33760a20da0752d6034e44a334eeac", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#251", "issue_number": "251", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-cd2f56bd94e00d73", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#251\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#251\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#251\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 251\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-9b72260b5786d3c6", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449427, "scanner": "foundry_dataset", "fingerprint": "6d0906a3e4f1c38009e80c4f07c6907ef66633d14a7650c83aec6a576807fae3", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "api_integration_gap": 1, "agent_instruction_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#250", "issue_number": "250", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-49cc2fed216554d6", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#250\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#250\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#250\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 250\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 6, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'agent_instruction_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-bb42e1e252813074", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449426, "scanner": "foundry_dataset", "fingerprint": "59ff962fbd6379733c77d638b6b9f3000e16734c756e39ce8a5bdf52232c449f", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#249", "issue_number": "249", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9925c22aba117dd2", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#249\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#249\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#249\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 249\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-45282b7ae83d6f01", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449425, "scanner": "foundry_dataset", "fingerprint": "a7d767c99e30639c9d19caec5d5b41895d62f1424efd7115753fd8b6dec8e44d", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "docs_or_claims": 1, "ui_or_frontend": 1, "api_integration_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 19, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#248", "issue_number": "248", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-dde05b92088fadd0", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"docs_or_claims": 4, "ui_or_frontend": 4}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#248\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#248\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#248\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 248\nGraph consistency label: supported_by_verification_signal\nNodes: 19\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 4, 'pr_file': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_touches_file': 2, 'comment_chain_touches_file': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'docs_or_claims': 1, 'ui_or_frontend': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-a6a0b8c7ace8977e", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449424, "scanner": "foundry_dataset", "fingerprint": "b19f0135f13de1600a25841af0143dae652903e6aad49794a3d6104574c41cd5", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 5, "api_or_backend": 1, "docs_or_claims": 3, "ui_or_frontend": 9, "api_integration_gap": 1, "dependency_or_build": 3, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 64, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 20, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 37, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 20, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#247", "issue_number": "247", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1f98122160f24766", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 20, "api_or_backend": 4, "docs_or_claims": 12, "ui_or_frontend": 36, "dependency_or_build": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#247\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#247\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#247\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 247\nGraph consistency label: supported_by_verification_signal\nNodes: 37\nEdges: 64\nNode types: {'pr_file': 20, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 20, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 9, 'test_or_ci': 5, 'verification_or_tests': 4, 'docs_or_claims': 3, 'dependency_or_build': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'api_or_backend': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-f4b17155f5462788", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449423, "scanner": "foundry_dataset", "fingerprint": "b273adcdd8ffc26fd3954f148dc8850c0ae0ceb40f5632f7462b7b1bc0038f6d", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 6, "api_or_backend": 1, "docs_or_claims": 5, "ui_or_frontend": 14, "source_or_other": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 71, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 27, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 44, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 27, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#241", "issue_number": "241", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-8534978ef9c3f2f6", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 24, "api_or_backend": 4, "docs_or_claims": 20, "ui_or_frontend": 56, "source_or_other": 4}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#241\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#241\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#241\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 241\nGraph consistency label: supported_by_high_confidence_link\nNodes: 44\nEdges: 71\nNode types: {'pr_file': 27, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 27, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 14, 'test_or_ci': 6, 'docs_or_claims': 5, 'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'source_or_other': 1, 'api_or_backend': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-3f898020d34e8983", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449422, "scanner": "foundry_dataset", "fingerprint": "3e7602597a66096c4bac9ef1a040e206057a7cdae16eb2ca99caa82ed9189975", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#236", "issue_number": "236", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f716fcee87bb282e", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#236\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#236\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#236\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 236\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-6d5338985831a23e", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449421, "scanner": "foundry_dataset", "fingerprint": "1f40992ac072dd9dc0aeca5f01566fabe4f05cbe8a954c2696ee151a06312664", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#231", "issue_number": "231", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-75bc06333af32493", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#231\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#231\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#231\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 231\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-33b8d347840978fc", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449420, "scanner": "foundry_dataset", "fingerprint": "0ac0ff347ce50d98e3eed721cb607e8f8622d6b1943f4af1d4efb4c22073a4cc", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#230", "issue_number": "230", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-6c94587cafdd0878", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#230\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#230\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#230\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 230\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-563fb4acef6c0a41", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449419, "scanner": "foundry_dataset", "fingerprint": "add8bab52e62d836568b37e6361320229cce93a6c5791f9d5a2a028360a1fc00", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#229", "issue_number": "229", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e9ab4c2a762a2cf9", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#229\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#229\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#229\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 229\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-bb28e31f3b629681", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449418, "scanner": "foundry_dataset", "fingerprint": "2093116492c18eb24375745debf91707d28a0617e6ba9c0500da60234c1c2c85", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#227", "issue_number": "227", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b2d979535962e095", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#227\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#227\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#227\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 227\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-766ae9b6ac0a987c", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449417, "scanner": "foundry_dataset", "fingerprint": "853173a12e34dbda33cbd785d8d8a905fd90001bdef8b114acad8654fd927c96", "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, "verification_or_tests": 4, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#225", "issue_number": "225", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-6962df98a53dd8e8", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#225\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#225\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#225\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 225\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-444e22c649c1150c", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449416, "scanner": "foundry_dataset", "fingerprint": "45522bda289f0d7de9b9d996ec024047cafe248cb6ba45ade8a9b59874d4c809", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "api_integration_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#221", "issue_number": "221", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-805536bb3e9f9e11", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#221\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#221\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#221\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 221\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-bb58268ab797ff2a", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449415, "scanner": "foundry_dataset", "fingerprint": "293edf4e3f0f3d5a674a8453bf145e23cbcfb1e750b736cc4951c765256fdbec", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "dependency_or_build": 1, "generated_provenance": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#220", "issue_number": "220", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d206c4dc3d673848", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#220\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#220\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#220\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 220\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'generated_provenance': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-ac372220f8075d3e", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449414, "scanner": "foundry_dataset", "fingerprint": "2d2cb8a783e3ce814ecaee9f019e67fc6cf9783c0c0fba29585757d202423a55", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#219", "issue_number": "219", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-94a3b5ffc3c4aca9", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#219\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#219\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#219\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 219\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-c3084375de02a656", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449413, "scanner": "foundry_dataset", "fingerprint": "44713eef77a0c7b4511e4cdee0779e76888a2111cb7713dcf19420d9ac84b056", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#218", "issue_number": "218", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9280aff115fdef9d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#218\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#218\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#218\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 218\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-58e71072857b859a", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449412, "scanner": "foundry_dataset", "fingerprint": "8159000a0e41add4ddc45d8c285597e598e000b2318c1044c89346241ea979bb", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "generated_provenance": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#217", "issue_number": "217", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-69b5356d91540731", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#217\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#217\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#217\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 217\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'generated_provenance': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-a26996e8ae5516ff", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449411, "scanner": "foundry_dataset", "fingerprint": "395e23f6cc2f6acd21a51bdf2cefe3ed04b077907327043eea023a08118ab4bf", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "dependency_or_build": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#215", "issue_number": "215", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1219b54254968a20", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#215\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#215\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#215\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 215\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-9ddb2c93fad9c795", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449410, "scanner": "foundry_dataset", "fingerprint": "47084ccdd0dc299d32c8eece371fc5488e8d80ef4720104ead5d749a457e7f0f", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#214", "issue_number": "214", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-65683637b10824df", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#214\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#214\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#214\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 214\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-25a357b991ac7709", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449409, "scanner": "foundry_dataset", "fingerprint": "4f5e1722704fa48c9aad3116be232b12fb8bc82fcce3f89ae16acb7fe16f779c", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "generated_provenance": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#212", "issue_number": "212", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d8bc5c94f920c54e", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#212\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#212\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#212\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 212\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'generated_provenance': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-47863d0acde966a5", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449408, "scanner": "foundry_dataset", "fingerprint": "19ee708a79190952b7fef3c2c9934afba8b7831b0dfefb7fb9e8ce87d42b4de0", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#211", "issue_number": "211", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b75f42a53cf64a16", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#211\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#211\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#211\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 211\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-40f303c131457e1a", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449407, "scanner": "foundry_dataset", "fingerprint": "31924ae2e0e400c5a4ed9d909c1cf90031eae75856bfc7d9cdd6e664f6e44e78", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "generated_provenance": 1, "verification_or_tests": 6, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#208", "issue_number": "208", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-a241bdb6f47cf7bc", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#208\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#208\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#208\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 208\nGraph consistency label: supported_by_high_confidence_link\nNodes: 22\nEdges: 30\nNode types: {'commit': 7, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 6, 'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'test_ci_gap': 1, 'generated_provenance': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-9012a735a8b532d7", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449406, "scanner": "foundry_dataset", "fingerprint": "3c703a52b88555a9a061b5eff35921c75963e0f2c4c3997315e5a00f013c52dd", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "generated_provenance": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#205", "issue_number": "205", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f8f6762db4c368d3", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#205\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#205\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#205\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 205\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'generated_provenance': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-47c18a303c496b2b", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449405, "scanner": "foundry_dataset", "fingerprint": "2fd307855657e8e76849a16ba0f206dd0b2af71fc618b1f2b9f3fdf0342f8124", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#204", "issue_number": "204", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-4a413f2b8033d13d", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#204\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#204\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#204\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 204\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-437c387870c4c62a", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449404, "scanner": "foundry_dataset", "fingerprint": "2715c7a2b6c59289f8519f1068b6b750fccc1b4c491e135f114b744f0f5e90ba", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"api_integration_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#202", "issue_number": "202", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b5967ab837aff42e", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#202\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#202\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#202\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 202\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-240218cfc9a641b9", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449403, "scanner": "foundry_dataset", "fingerprint": "06c8ee77d4888f9964618944a780d2267a0d4c51852283d2dbe500b61fd0e865", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "dependency_or_build": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#201", "issue_number": "201", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-94500bbca2c4bec0", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#201\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#201\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#201\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 201\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-30c3c2e9a26f1011", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449402, "scanner": "foundry_dataset", "fingerprint": "0ea57a9eb41bf1fc32d05bf7f4ac7f60c6aa87bda657dd07451e1b49a0725395", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#198", "issue_number": "198", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d5092a2cd61745be", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#198\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#198\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#198\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 198\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-9258c2a29b50ed7c", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449401, "scanner": "foundry_dataset", "fingerprint": "af9d90f682fade093336326963333e78d6e21e3ae6a6a4f8339c5674f6aa7336", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "generated_provenance": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#196", "issue_number": "196", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-2e0da2cf629d8634", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#196\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#196\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#196\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 196\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'generated_provenance': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-6e0ba51fa171bf68", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449400, "scanner": "foundry_dataset", "fingerprint": "88477f4281ab4801f85c2873ec9da06c82e6bc621414719201aa4bcf933e0d40", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#194", "issue_number": "194", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e624296a6ba1f7fa", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#194\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#194\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#194\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 194\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-e7ccf992664c3c56", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449399, "scanner": "foundry_dataset", "fingerprint": "dd0e84eaa4981d1b332054ad309a653ecbf461427d7c773ee2bd411940847642", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#192", "issue_number": "192", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-67089624a960134b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#192\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#192\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#192\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 192\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-a3f36675f4785dde", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449398, "scanner": "foundry_dataset", "fingerprint": "8bd5485724bff0e72b8a848e7d2c46e2fb7bfbf81f5d0f67496edc22f9e142e3", "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, "verification_or_tests": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#191", "issue_number": "191", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-2c37673436f1d7bb", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#191\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#191\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#191\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 191\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-07e3ac8d5759840b", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449397, "scanner": "foundry_dataset", "fingerprint": "59df2a52127aaec1304def34bde7a12f0c9ee6ccabe46fb094a7ddd179c7e3a3", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "api_integration_gap": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#190", "issue_number": "190", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-5c8443ca356f860f", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#190\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#190\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#190\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 190\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-172eaa433902e4b7", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449396, "scanner": "foundry_dataset", "fingerprint": "f5762aea2b37bfcb6fe1ac3dbca15bcf1e29f00e18843ec68ceb700aa8bc0c6b", "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, "verification_or_tests": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#189", "issue_number": "189", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-87036198c93bbb3e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#189\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#189\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#189\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 189\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-8990df6c8366e86d", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449395, "scanner": "foundry_dataset", "fingerprint": "54e395bef09814d0e3ed76100dc41e1d70f9c856ab6e18315198de6c7125e14e", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "verification_or_tests": 3, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#186", "issue_number": "186", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-ed5568c41ea733a3", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#186\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#186\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#186\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 186\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-50cb92dd8a49fda4", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449394, "scanner": "foundry_dataset", "fingerprint": "b4dcb4b6e4484d63c37805456c7657e83b1f58fcfb0636bb30c24fe93a53469e", "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, "verification_or_tests": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#184", "issue_number": "184", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-98c4516859d3af48", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#184\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#184\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#184\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 184\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-ade1acbdc12f3956", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449393, "scanner": "foundry_dataset", "fingerprint": "8f34c3981d8fbde72ea53d07abc4296f29a6d2edeb39fa82f48fb220389e1cc8", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "verification_or_tests": 3, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#175", "issue_number": "175", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-66d949c6ae5c8ed7", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#175\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#175\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#175\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 175\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-f07a1f88447a8ca2", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449392, "scanner": "foundry_dataset", "fingerprint": "34672e6120c3e1abdd737c70e421de1d050d8f3a43f6e70fb31e77d32d869707", "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, "generated_provenance": 1, "verification_or_tests": 3, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#17", "issue_number": "17", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-cb494274c62d8df9", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#17\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#17\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#17\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 17\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'generated_provenance': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-9b3d201aa126aee8", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449391, "scanner": "foundry_dataset", "fingerprint": "795e70f611ed38db034002f95a9261a1aeeb3ee33226381d2c336840966fc460", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#165", "issue_number": "165", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-36c42ab4a9e0872b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#165\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#165\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#165\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 165\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-354baa9aef82cc32", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449390, "scanner": "foundry_dataset", "fingerprint": "ad4bd17afd3a349b7f53938eee3cab50b9243a04127a63899edecccdfd1bba5a", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 5, "test_ci_gap": 1, "mock_placeholder": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#164", "issue_number": "164", "quality_tiers": {"high_confidence": 4, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-35e51b6b1f60631a", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#164\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#164\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#164\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 164\nGraph consistency label: supported_by_verification_signal\nNodes: 24\nEdges: 30\nNode types: {'commit': 9, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 5, 'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 4, 'human_reported_issue_then_verified_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_ci_gap': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-413143589bf54e24", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449389, "scanner": "foundry_dataset", "fingerprint": "82214a45f09d0ce3d8bc4fabad89ff37773f81b7cfb88c43c8101abaff5fd624", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#163", "issue_number": "163", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-cded0c76b649eda6", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#163\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#163\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#163\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 163\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-514164cb6d815bef", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449388, "scanner": "foundry_dataset", "fingerprint": "0180b10b010f3dc21c7e7eb77fd51ebd649e154302918b4e5f7ea9d4093384b8", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#160", "issue_number": "160", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-61a10d2cee8beed8", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#160\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#160\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#160\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 160\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-7f550b7532d113b8", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449387, "scanner": "foundry_dataset", "fingerprint": "0ee366ced6c11301a5fc7c232777d1dac1d9695ab3910f2ebde0e3946d0fce14", "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": 3, "test_ci_gap": 1, "api_or_backend": 1, "ui_or_frontend": 6, "agent_instruction_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 65, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 10, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 10, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 20, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 30, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 10, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#14", "issue_number": "14", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-bc2887975dc9c316", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 15, "api_or_backend": 5, "ui_or_frontend": 30}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#14\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#14\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#14\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 14\nGraph consistency label: supported_by_verification_signal\nNodes: 30\nEdges: 65\nNode types: {'pr_file': 10, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 20, 'thread_touches_file': 10, 'issue_chain_touches_file': 10, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 6, 'verification_or_tests': 4, 'test_or_ci': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'agent_instruction_gap': 1, 'api_or_backend': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-91836c9a83f66a45", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449386, "scanner": "foundry_dataset", "fingerprint": "ac6ee7ca9de988654967e00d1316afe3e78b8b7f1d32dd87e6c4ce8f575605d3", "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": {"agent_instruction_gap": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#12", "issue_number": "12", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-64aaac4a06a9d8a3", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#12\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#12\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#12\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 12\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'agent_instruction_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-3ee40465a6156829", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449385, "scanner": "foundry_dataset", "fingerprint": "420efca0b28b3d936cdcc80027cf0e08eb15979934e9d4f9a34ae72f858eb8c1", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 2, "verification_or_tests": 7, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 33, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#119", "issue_number": "119", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-957a66af442383b9", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#119\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#119\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#119\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 119\nGraph consistency label: weak_supervision_needs_review\nNodes: 24\nEdges: 33\nNode types: {'commit': 7, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 9, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 7, 'ambiguous_needs_more_evidence': 4, 'test_ci_gap': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-97fd8a7494dfc267", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449384, "scanner": "foundry_dataset", "fingerprint": "5807c49dd8819a114d46a30de3db5d566f1e267ddb0424366bb463d3b4515508", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#118", "issue_number": "118", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-5629d5344a4aa40d", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#118\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#118\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#118\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 118\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-504ec6cad930cd4f", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 449383, "scanner": "foundry_dataset", "fingerprint": "ee403034fa79fff5211beb404a732daf9765766cb6c2ab8fbfc91ae6e5ca01fe", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "api_integration_gap": 1, "generated_provenance": 1, "security_auth_secret": 1, "agent_instruction_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 2, "not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 26, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#107", "issue_number": "107", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-fbd4629f2b2ee01e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#107\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#107\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#107\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 107\nGraph consistency label: supported_by_verification_signal\nNodes: 26\nEdges: 34\nNode types: {'commit': 8, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 9, 'chain_has_link_quality': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'agent_instruction_gap': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1, 'claimed_resolved_unverified': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-466df4597154e88a", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438954, "scanner": "foundry_dataset", "fingerprint": "b4cadecf2cdfb456543e1e4a17168bd246d846e4de71dff6a6d1184fd6010816", "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": "quintonmiller/tailored-ai#8", "human_labels": ["runtime_failure"], "issue_number": "8", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.592, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-fb4ee764dbcdab41", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#8\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#8\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-fb06ca0796b8ccde\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/8#issuecomment-4590269237\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/8#issuecomment-4590269237\\nTitle: \\nBody:\\nDesign landed (PR #10 merged 2026-06-01). Implementation broken into three phases tracked separately:\\n\\n- Phase 1 \u2014 interface + registry + SqliteMemoryBackend: #11\\n- Phase 2 \u2014 route agent/memory-* modules through the backend: #12\\n- Phase 3 \u2014 route tools + server routes through the backend: #13\\n\\nClosing this in favour of the phase issues.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-1312271e90867565\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 5}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-11d58e372a93398b", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438953, "scanner": "foundry_dataset", "fingerprint": "7607d39623b2da251c22615e7ee6f7b9a8a8cc9379d1d3f073e1bd9ca60554b1", "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": "quintonmiller/tailored-ai#47", "human_labels": ["human_feedback_general"], "issue_number": "47", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-96829038d02ef340", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#47\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#47\nRepo: quintonmiller/tailored-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-58daf8168aa06a39\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/47#issuecomment-4599048953\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/47#issuecomment-4599048953\\nTitle: \\nBody:\\nClosed by PR #51 (runtime-owned registries) \u2014 auto-link missed since the keyword was only in the PR title.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-0009301a6e550992\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 5}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-0c38f1e65b0a09f0", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438952, "scanner": "foundry_dataset", "fingerprint": "861877337fbcb836a313c04f4b68588c75c4d5cda23ef4908663b77a23635add", "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": "quintonmiller/tailored-ai#38", "human_labels": ["data_schema_persistence"], "issue_number": "38", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-48bbfcae79eb151d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#38\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: quintonmiller/tailored-ai#38\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8f310f70051c13b5\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/38#issuecomment-4662960068\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/38#issuecomment-4662960068\\nTitle: \\nBody:\\nNote for readers: the \\\"#75\\\" reference in this issue (described as \\\"session/storage backlog\\\") is stale \u2014 today's #75 is observability sinks, not session storage. Also worth noting that this issue is effectively the channel-facing slice of #81 (runtime state store contract): the helper accessors proposed here are the channel-visible API surface of whatever #81 lands as its storage abstraction.\\n\\n---\\n_Generated by [Claude Code](https://claude.ai/code)_\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-76b707dae5ba0a37\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 5}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-d5b02b6ad6f5998c", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438951, "scanner": "foundry_dataset", "fingerprint": "8f8bc470117291f4234bbe499796dcf47cb5743b7c5d16497f6cff797e9db5bb", "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": "quintonmiller/tailored-ai#37", "human_labels": ["agent_instruction_gap"], "issue_number": "37", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.592, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-5dbfc3a6865ed83e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#37\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#37\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-517975d4add0aeba\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/37#issuecomment-4662959618\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/37#issuecomment-4662959618\\nTitle: \\nBody:\\nNote for readers: the inline references \\\"#87 approval registry\\\" and \\\"#81 channel registry\\\" in this issue are from an earlier issue-numbering era. In today's numbering, #81 is the runtime state store \u2014 those numbers no longer point to the intended issues. Don't rely on those inline references when navigating related work.\\n\\n---\\n_Generated by [Claude Code](https://claude.ai/code)_\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-006f63663c857cc1\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 5}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-8847b66d1dc9e1d3", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438950, "scanner": "foundry_dataset", "fingerprint": "6eda0d868299fce1e22a721929c1f8884b87cc6e38de8515e91a596fb76a23ef", "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": "quintonmiller/tailored-ai#266", "human_labels": ["api_integration_gap"], "issue_number": "266", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-1480993d271d9f5a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#266\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: quintonmiller/tailored-ai#266\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-37fb13a73d937afb\",\n    \"kind\": \"issue_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/266\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/266\\nTitle: Collections Phase 2: Custom widget renderer (collections type)\\nBody:\\nAdd a custom `collections` widget renderer to the TAI dashboard.\\n\\n**Files to modify** (all in ~/repos/autonomous-agent):\\n1. `packages/ui/src/components/widgets.tsx` \u2014 add `CollectionsWidget` component\\n2. `packages/core/src/dashboard/index.ts` \u2014 add `\\\"collections\\\"` to BUILTIN_WIDGET_TYPES\\n3. `packages/ui/src/styles.css` \u2014 add `.widget-collections` styles\\n\\n**Render spec:**\\n- Tab bar: Steelbooks | Tiki Mugs | Restaurants | Bars | Tiki Bars\\n- Each tab shows count badge from /api/collections/stats, search input, scrollable list\\n- Each row: name, rating stars (1-5), location text, URL link icon\\n- \\\"+\\\" button \u2192 inline form: name, notes, rating, location, URL\\n- TAI-added items get \ud83e\udd16 icon + tooltip showing source\\n- Empty state per tab\\n\\n**API endpoints to use:**\\n- `/api/collections?type={tab}&search={q}&limit=20` \u2014 list + filter\\n- `/api/collections/stats` \u2014 per-type counts\\n- `POST /api/collections` \u2014 create\\n\\n**Widget options:** `en\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-91326767ae4ac3dd\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-066911e1fbbe1d88", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438949, "scanner": "foundry_dataset", "fingerprint": "1e0be29a12a095afa98916556f10db6bcadd929860643aa2f9f818671a29a42a", "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": "quintonmiller/tailored-ai#265", "human_labels": ["agent_instruction_gap", "docs_or_claims", "test_or_ci", "ui_or_frontend"], "issue_number": "265", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c189a7a8b4945445", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 6, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "docs_or_claims": 1, "ui_or_frontend": 4}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 1, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#265\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#265\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 1\nLinked CI labels: {'ci_pending_or_incomplete': 1}\nChanged file count: 6\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 1, 'test_or_ci': 1, 'ui_or_frontend': 4}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a4caecbfd95a5bcd\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/265\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/265\\nTitle: feat(core): surgical `edit` tool for exact-match file edits\\nBody:\\n## Why\\n\\nTAI agents had only a whole-file `write` tool, so editing a large existing file meant regenerating the entire file. In practice coding agents stall on that \u2014 e.g. a custom UI widget renderer (a ~300-line `widgets.tsx`) was unauthorable because the agent looped trying to reproduce the file instead of committing to a full overwrite. Structured writes (`admin.update_config`) were easy; freeform code edits were not.\\n\\n## What\\n\\nA built-in **`edit`** tool for surgical, exact-match edits:\\n\\n- `edit({ path, old_string, new_string, replace_all? })` \u2014 replaces an exact `old_string` with `new_string`; requires a unique match unless `replace_all` is set.\\n- Mirrors the read/write tools: path resolution (`workingDirectory`-relative or absolute), `checkSandboxBoundary`, optional `allowedPaths` allowlist, and sandbox-aware IO (`sandbox.readFile`/`writeFile`).\\n- Clear errors: not-found, ambiguous (N matches), identical strings,\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-ca5aeedd0e726944\",\n    \"filename\": \".changeset/core-edit-tool.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"added\",\n    \"additions\": 11,\n    \"deletions\": 0,\n    \"changes\": 11,\n    \"blob_url\": \"https://github.com/quintonmiller/tailored-ai/blob/afa63da5714945c4e6d25e3da636af79139ce1eb/.changeset%2Fcore-edit-tool.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-79703513eefbd032\",\n    \"filename\": \"packages/core/src/__tests__/edit-tool.test.ts\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"added\",\n    \"additions\": 89,\n    \"deletions\": 0,\n    \"changes\": 89,\n    \"blo\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-71f8b27049e57988", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438948, "scanner": "foundry_dataset", "fingerprint": "5ea89c356708f1a259e1e629e35c3d45b69a21ffe9d64e8eff3f65a0765ec7a7", "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": "quintonmiller/tailored-ai#262", "human_labels": ["api_or_backend", "docs_or_claims", "security_auth_secret", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "262", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-9e7ffef6eeca0b47", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 15, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 1, "docs_or_claims": 1, "ui_or_frontend": 8, "source_or_other": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#262\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: quintonmiller/tailored-ai#262\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 15\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 1, 'source_or_other': 1, 'test_or_ci': 4, 'ui_or_frontend': 8, 'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a93cb3068860df27\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/262\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/262\\nTitle: fix: log-review fixes \u2014 exec compound commands, embedding overflow, UI circuit breaker, +3\\nBody:\\nFixes surfaced by reviewing real autonomous-run logs (`~/.tai/logs/{agent,ui,vllm}.log`). Each addresses a high-frequency failure observed in the wild.\\n\\n## What's fixed\\n\\n| Fix | Observed in logs | Change |\\n|---|---|---|\\n| **exec compound commands** | ~4,140\u00d7 `shell operators are not allowed when an allowlist is active` | New quote/escape-aware allowlist validator permits chaining (`&& \\\\|\\\\| ;`), pipes (`\\\\|`), and redirections when every command-position head is allowlisted. Command substitution `$(\u2026)`, backticks, process substitution, subshells, background `&`, and newlines are still rejected. |\\n| **embedding overflow** | 539\u00d7 `[recall] semantic search failed: the input length exceeds the context length` | Clamp each embedding input to `memory.embeddings.maxInputChars` (default 8000); on a context-overflow 400, retry with the cap halved down to a floor. Recall no longer silently degrades \"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-d614c7dc3c8356a2\",\n    \"filename\": \".changeset/log-review-fixes.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"added\",\n    \"additions\": 23,\n    \"deletions\": 0,\n    \"changes\": 23,\n    \"blob_url\": \"https://github.com/quintonmiller/tailored-ai/blob/39c651fc7b5f4820d1973aa46b6c841bc209cb47/.changeset%2Flog-review-fixes.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-132359db180ff7ea\",\n    \"filename\": \"docker/coder/Dockerfile\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 15,\n    \"deletio\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-d4c1dda1f7c59996", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438947, "scanner": "foundry_dataset", "fingerprint": "979a2b8e0deaf5616385aa58b2025a8cc3f516635eb254c79fa7c5fe6afcada6", "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": "quintonmiller/tailored-ai#255", "human_labels": ["agent_instruction_gap"], "issue_number": "255", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-53c34949de374788", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#255\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#255\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ab273fd09ce324a6\",\n    \"kind\": \"issue_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/255\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/255\\nTitle: tai edit: manage a list of providers (add/edit/remove), set a default, and override per-agent\\nBody:\\n## Problem\\n\\n`tai edit`'s provider screen (`packages/cli/src/editor/editors/ProviderEditor.tsx`) edits a **single** provider. With the provider-plugin family (`openai_compatible`, `deepseek`, `anthropic`, `openai`, `openrouter`, `bedrock`) and the ability to run several providers at once, users need to manage a **list** of providers from the editor, pick a default, and choose a non-default provider per agent.\\n\\n## Proposal\\n\\n1. **Providers screen** \u2014 list every configured `providers.<id>` entry with add / edit / remove.\\n2. **Add flow** \u2014 choose a registered provider factory (`openai_compatible` / `deepseek` / `anthropic` / \u2026), or, once #253 lands, define a custom `type: openai_compatible` id; then fill `baseUrl` / `apiKey` / `defaultModel` and any provider-specific fields (e.g. DeepSeek's `thinking`).\\n3. **Default** \u2014 set `agent.defaultProvider` by picking from the list.\\n4. **Per-agent overr\"\n  },\n  {\n    \"id\": \"github-feedback-comment-aef876257cd67f75\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/255#issuecomment-4703258216\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/255#issuecomment-4703258216\\nTitle: \\nBody:\\n[agent: default] Well-specced, code-shaped (builds on ProviderEditor.tsx, AgentsEditor.tsx, provider registry). Depends on / pairs well with gh-253 but not a hard block. Routing to coder.\"\n  }\n]\nChanged files:\n[\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-fbe3fbeb4a8f3b8c", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438946, "scanner": "foundry_dataset", "fingerprint": "e9f47dde25ff16d9ea11bb4ad48d0b649e7ea7efdbee19787dca5b694216a28e", "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": "quintonmiller/tailored-ai#253", "human_labels": ["api_integration_gap"], "issue_number": "253", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-ef90e0efc44c8423", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#253\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#253\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7607c18ff15e6fd6\",\n    \"kind\": \"issue_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/253\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/253\\nTitle: Core: support multiple OpenAI-compatible providers under arbitrary ids (not just the single `openai_compatible`)\\nBody:\\n## Problem\\n\\n`providers.openai_compatible` is a single reserved id. `createProvider()` resolves `config.agent.defaultProvider` against `providerFactoryRegistry`, and the only built-in factory is registered under the literal id `openai_compatible` (`packages/core/src/providers/factories.ts`). So you can configure **exactly one** OpenAI-compatible endpoint.\\n\\nRunning a local gateway (vLLM / Ollama / LM Studio) **and** a second OpenAI-compatible endpoint (DeepSeek, Groq, Together, a second local model server) is impossible without writing or installing a dedicated provider plugin per vendor \u2014 even though they all use the identical `OpenAIProvider` implementation.\\n\\nConcretely: `@tailored-ai/provider-deepseek` had to ship partly because `openai_compatible` was already taken by local vLLM.\\n\\n## Proposal\\n\\nLet any `providers.<id>` opt into the built-in `OpenAIProvider` via a `type` \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-cca4d06ebeefd8cb\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-d2d7dacaf79d3117", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438945, "scanner": "foundry_dataset", "fingerprint": "5629272c664e515eb636866362cad6a740354038d8cf2ce3f37ebf39d5826f90", "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": "quintonmiller/tailored-ai#251", "human_labels": ["api_integration_gap"], "issue_number": "251", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-9fc0fbbcd5bef875", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#251\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: quintonmiller/tailored-ai#251\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8c751b9fad29d070\",\n    \"kind\": \"issue_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/251\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/251\\nTitle: Channels: distinguish 'model backend unreachable' from generic errors in the user-facing reply\\nBody:\\n## Why\\n\\nDuring the #247 dogfood, a Discord message sent while vLLM was still loading produced the generic reply \\\"Sorry, I encountered an error processing your message.\\\" The actual cause (\\\\`connect ECONNREFUSED 127.0.0.1:8000\\\\` after retries) is the single most common failure mode for a local-LLM deployment \u2014 the model server is down or still warming up \u2014 and the generic reply gives the user nothing to act on.\\n\\n## What\\n\\n- When the loop's provider call fails with a connection-class error (ECONNREFUSED / fetch failed / timeout to the provider baseUrl), channels should reply with a specific, actionable message: e.g. \\\"I can't reach my model backend right now (vLLM at 127.0.0.1:8000). It may still be starting \u2014 try again in a minute.\\\"\\n- Classify in core (the loop already distinguishes transient errors for retry \u2014 reuse that signal and attach a typed error/category the channel can render), not pe\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c35cc07b0f15d1ac\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-cb4f2b950c4c6d7a", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438944, "scanner": "foundry_dataset", "fingerprint": "aaea784e7f19f502a0df53371023656c60695ab448652dc741060446a2dc0e13", "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": "quintonmiller/tailored-ai#246", "human_labels": ["agent_instruction_gap", "docs_or_claims"], "issue_number": "246", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a7cd712ef94aa525", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"docs_or_claims": 2}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#246\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#246\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-bb07da6967f950ed\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/246\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/246\\nTitle: docs: plugin catalog \u2014 shipped surface, open holes, community priority\\nBody:\\n## What\\n\\nAdds `docs/plugin-catalog.md` per #189: the canonical, manually-maintained answer to \\\"what plugins exist, which are shipped, and which are open holes?\\\" \u2014 by category (channels, providers, tools, task/memory/embedding/sandbox backends, surfaces), with status and issue cross-references, plus a community-priority ranking sourced from a June 2026 survey of comparable ecosystems (OpenClaw, Hermes, Odysseus, n8n, Home Assistant analytics, LibreChat-class UIs).\\n\\nAlso answers #189's open questions in the doc header: manual maintenance to start; an entry earns a row when discussed in an issue/PR or an obvious gap in a shipped category; embedding providers and sandbox backends get their own small categories.\\n\\nFiled alongside this PR (referenced from the catalog): #244 (GitHub tool plugin), #245 (Home Assistant bridge).\\n\\nCloses #189.\\n\\n## Classification\\n\\nDocs only (no tier \u2014 no runtime code). No changeset (no\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-dbfff2a2d6949ae8\",\n    \"filename\": \"CLAUDE.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 0,\n    \"changes\": 1,\n    \"blob_url\": \"https://github.com/quintonmiller/tailored-ai/blob/763f4b9c9e8414d4cfb3b808f3c2d50deb9c3ac3/CLAUDE.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-8a5de7e53c2fddd8\",\n    \"filename\": \"docs/plugin-catalog.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"added\",\n    \"additions\": 122,\n    \"deletions\": 0,\n    \"changes\": 122,\n    \"blob_url\": \"https://github.com/quintonmiller/tailored-ai/blob/763f4b9c9e8414d4cfb3b808f3c2d50deb9c3ac3/docs%2Fplugin-cata\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-43ebea7e7a300e72", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438943, "scanner": "foundry_dataset", "fingerprint": "2a95f52cceb67c3c7b73807f63debf53f4bfe131e8b7067085a33d88672766f5", "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": "quintonmiller/tailored-ai#245", "human_labels": ["security_auth_secret"], "issue_number": "245", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-937ec580a8438cbc", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#245\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#245\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d70f740d957984e9\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/245\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/245\\nTitle: Reference impl: Home Assistant bridge tool plugin\\nBody:\\nPriority: High\\n\\n## Why\\n\\nSmart-home demand clusters around a single Home Assistant bridge rather than per-device integrations: HA already aggregates Zigbee/Z-Wave/MQTT/everything, and in OpenClaw's ecosystem the Home Assistant plugin is the most-starred smart-home skill while no framework ships one first-party (June 2026 survey). One plugin covers the whole category, and it is a natural fit for TAI's local-LLM, privacy-minded audience \u2014 HA users are self-hosters by definition.\\n\\n## Scope\\n\\n`@tailored-ai/home-assistant` tool plugin (tier 2) against the HA REST + WebSocket APIs (long-lived access token via config):\\n\\n- Read state: entities, areas, sensors (\\\"is the garage door open?\\\")\\n- Call services: lights, switches, climate, scenes (\\\"turn off downstairs\\\")\\n- Optional: subscribe to HA events as a TAI trigger seam (motion \u2192 agent wakes) \u2014 may split into a follow-up once trigger factories (#61) land\\n\\nGuardrails matter here: service calls mo\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-92cba4ec40710709\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"r\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-cf6952ac8a37e7ed", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438942, "scanner": "foundry_dataset", "fingerprint": "c8d673840401fec245290d1eee34f79b6b90a5e7dd79560ff19220b39c051dfa", "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": "quintonmiller/tailored-ai#244", "human_labels": ["security_auth_secret"], "issue_number": "244", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-2309d4618e2b6d13", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#244\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#244\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a53d140ac9b565e7\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/244\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/244\\nTitle: Reference impl: GitHub tool plugin (issues, PRs, notifications, repo Q&A)\\nBody:\\nPriority: High\\n\\n## Why\\n\\nA general-purpose GitHub tool is one of the most-used integrations in every comparable agent ecosystem (June 2026 survey): ~189K downloads on OpenClaw's ClawHub (top-3 skill), built into Hermes. TAI's early-adopter audience is developers, and today TAI only touches GitHub through two narrow seams: the `github` task backend (issue-backed tasks) and the repo backend (push branch + PRs for agent-authored changes). There is no tool an agent can use to answer \\\"what's assigned to me?\\\", triage notifications, comment on a PR, or search code.\\n\\n## Scope\\n\\n`@tailored-ai/github-tools` plugin package (tier 2), registering through the normal tool registry like `@tailored-ai/google-tools`:\\n\\n- Issues: list/search/read/create/comment\\n- PRs: list/read/diff summary/comment/review state\\n- Notifications: list/mark read (the triage loop)\\n- Repo: code/file search, read file at ref\\n- Auth: PAT via config (`${G\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-d24e6f75e0c0baba\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"rep\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-b184c41f9a936a6b", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438941, "scanner": "foundry_dataset", "fingerprint": "134f386fcba1d1928cf1a48089b6b0b14abd742ab3d6d53aa53be3e1329df460", "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": "quintonmiller/tailored-ai#243", "human_labels": ["api_or_backend", "build_install_failure", "dependency_or_build", "docs_or_claims"], "issue_number": "243", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.694, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-33e204694524d2e6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 24, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 4, "docs_or_claims": 11, "dependency_or_build": 9}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#243\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#243\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 24\nLabels: {'build_install_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 11, 'dependency_or_build': 9, 'api_or_backend': 4}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5232ee16c63e66fb\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"build_install_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/243\",\n    \"text\": \"GitHub feedback: build_install_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/243\\nTitle: Version Packages\\nBody:\\nThis PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.\\n\\n\\n# Releases\\n## @tailored-ai/channel-slack@0.1.9\\n\\n### Patch Changes\\n\\n- Updated dependencies [4f992c9]\\n  - @tailored-ai/core@0.1.9\\n## @tailored-ai/cli@0.1.9\\n\\n### Patch Changes\\n\\n- 4f992c9: Native MCP client support: declare Model Context Protocol servers under `mcp.servers` in config.yaml (stdio via `command` or streamable HTTP via `url`) and their tools are discovered and registered into the tool registry as `mcp_<server>_<tool>`, selectable per agent like any other tool. Servers reconcile on hot reload (start/stop/restart on config change), failed connections retry on the next reconcile, and `tools/list_changed` notifications re-disc\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-95e9e21e41ddfdef\",\n    \"filename\": \".changeset/native-mcp-client.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"removed\",\n    \"additions\": 0,\n    \"deletions\": 6,\n    \"changes\": 6,\n    \"blob_url\": \"https://github.com/quintonmiller/tailored-ai/blob/4f992c94fbc82be6e517e236eddf26e1ce1b6702/.changeset%2Fnative-mcp-client.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-db6eef4915ac7b73\",\n    \"filename\": \".changeset/plugin-install-replace-spec.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"removed\",\n    \"additions\": 0,\n    \"deletions\": 5,\n    \"changes\": 5,\n    \"blob_u\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-029f2d8e0bf0b462", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438940, "scanner": "foundry_dataset", "fingerprint": "d523ca32ad5417a823b88274a54496f82a591436ef7097bd5541aedf238a84b5", "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": "quintonmiller/tailored-ai#241", "human_labels": ["api_or_backend", "data_schema_persistence", "docs_or_claims", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "241", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c262f96b9e7572c0", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 27, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 6, "api_or_backend": 1, "docs_or_claims": 5, "ui_or_frontend": 14, "source_or_other": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#241\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#241\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 27\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 5, 'source_or_other': 1, 'test_or_ci': 6, 'ui_or_frontend': 14, 'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b7adc8aedcb2120d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/241\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/241\\nTitle: feat(core): retire built-in openai/anthropic providers \u2014 plugins own them (#236)\\nBody:\\nImplements the decision in #236, as requested: the `openai` and `anthropic` provider ids now live exclusively in `@tailored-ai/provider-openai` (#240) and `@tailored-ai/provider-anthropic` (#239). Core ships exactly one provider: `openai_compatible`.\\n\\n## What changed\\n\\n**Core**\\n- `providers/factories.ts` drops the `openai` and `anthropic` registrations; `providers/anthropic.ts` (class + its tests) is deleted \u2014 the plugin implementation is a strict superset. `OpenAIProvider` stays exported: `openai_compatible` uses it and gateway plugins (openrouter) wrap it.\\n- `createProvider` on an unknown id now fails with an actionable hint: *\\\"Hosted providers ship as plugins \u2014 install the package that registers \\\\\\\"anthropic\\\\\\\" (e.g. @tailored-ai/provider-anthropic) and add it to the plugins: list\\\"*.\\n\\n**Server**\\n- `GET /api/config/providers/:name/models` drops its hardcoded `openai`/`anthropic` branches (includ\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-74bbca62c75572b6\",\n    \"filename\": \".changeset/retire-builtin-providers.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"added\",\n    \"additions\": 7,\n    \"deletions\": 0,\n    \"changes\": 7,\n    \"blob_url\": \"https://github.com/quintonmiller/tailored-ai/blob/e464b08496cdac56fe8c1ecd872aa984bd8c75ef/.changeset%2Fretire-builtin-providers.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-386995159e7d4fe2\",\n    \"filename\": \"CLAUDE.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 1\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-8b50b491791f1b68", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438939, "scanner": "foundry_dataset", "fingerprint": "37aa90ef78da45bd8823ab7e13416997e9f62574baec91c106e41721831e57ac", "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": "quintonmiller/tailored-ai#237", "human_labels": ["runtime_failure"], "issue_number": "237", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-4a30cc58f8e87685", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#237\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#237\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f4f2e05fbb8c92b8\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/237\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/237\\nTitle: feat(provider-bedrock): streaming via ConverseStream + meta/validateConfig exports\\nBody:\\nThe committed follow-up from the chatStream wave: now that #223 (bedrock plugin) and #230 (chatStream contract) are both on main, the Bedrock provider streams.\\n\\n## What\\n\\n- **`chatStream`** via `ConverseStreamCommand`, implementing the #227 contract: text deltas yield incrementally; `toolUse` input fragments accumulate per `contentBlockIndex` and surface complete on `done`; usage comes from the trailing `metadata` event; mid-stream exception members (`modelStreamErrorException`, `throttlingException`, \u2026) throw so the loop's retry semantics kick in. `chat()`/`chatStream()` share a `buildInput()` private.\\n- **Plugin contract v2 reference impl** (#228/#229): `meta` (declares the `provider`/`bedrock`/`providers.bedrock` registration) and `validateConfig` (warns when `providers.bedrock` exists without a `defaultModel`).\\n- **Contract coverage through core's suite**: `runProviderContractSuite` (#226) now run\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-9c3ec731b60ef9dc\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-1a0559c1605241fb", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438938, "scanner": "foundry_dataset", "fingerprint": "709e57f3c30d0d4c9377a2993a4cfb70a4bd715119fd024badf209311ebab334", "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": "quintonmiller/tailored-ai#236", "human_labels": ["data_schema_persistence"], "issue_number": "236", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-1cca9c3a385a2d3e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#236\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#236\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1f2ce421651611c9\",\n    \"kind\": \"issue_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/236\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/236\\nTitle: Decide: retire core built-in openai/anthropic provider registrations in favor of plugin packages\\nBody:\\n`@tailored-ai/provider-anthropic` and `@tailored-ai/provider-openai` register the same ids as the core built-ins (`anthropic`, `openai`) and supersede them \u2014 config blocks (`providers.anthropic`, `providers.openai`) and `agent.defaultProvider` values stay valid with or without the plugin installed, just with fewer features without.\\n\\nPer the three-tier placement model (core / built-in plugin / personal), the end state is probably:\\n\\n- core keeps **`openai_compatible` only** \u2014 the zero-dependency default that covers Ollama, vLLM, LM Studio, llama.cpp, and any OpenAI-wire gateway\\n- `anthropic` and `openai` live **only** in their plugin packages\\n\\nOpen questions before pulling the trigger:\\n\\n1. **Config back-compat** \u2014 a config with `providers.anthropic` but no plugin installed should fail with an actionable message (\\\"install @tailored-ai/provider-anthropic\\\"), not a generic unknown-provider\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-67575ed0b1f814de\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-aac965406cd516cb", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438937, "scanner": "foundry_dataset", "fingerprint": "18036bf9054429ca970060cf9b0b73db44136d7d7d51d777ad31f004f5ed3668", "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": "quintonmiller/tailored-ai#235", "human_labels": ["security_auth_secret"], "issue_number": "235", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-ef715b79412f9bf9", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#235\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#235\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1594c30244b121e4\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/235\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/235\\nTitle: Provider plugins: coverage for remaining major model APIs (Gemini, Mistral, Groq, Azure OpenAI, \u2026)\\nBody:\\nUmbrella for provider-plugin coverage beyond the first wave (bedrock #223, openrouter / anthropic / openai PRs in flight). Each is a standalone `@tailored-ai/provider-<name>` package following the established pattern: `register(ctx)` plugin, config under `providers.<id>` (owned by the plugin), `meta` + `validateConfig` exports, `runProviderContractSuite` coverage, README + site docs page.\\n\\n## OpenAI-compatible (thin wrappers \u2014 follow `provider-openrouter`)\\n\\nThese speak the OpenAI wire format; each plugin is ~50 lines wrapping core's exported `OpenAIProvider` with the right baseUrl/auth and any vendor quirks:\\n\\n- [ ] **Groq** \u2014 `https://api.groq.com/openai/v1`\\n- [ ] **Mistral (La Plateforme)** \u2014 `https://api.mistral.ai/v1`\\n- [ ] **DeepSeek** \u2014 `https://api.deepseek.com/v1`\\n- [ ] **Together AI** \u2014 `https://api.together.xyz/v1`\\n- [ ] **Fireworks** \u2014 `https://api.fireworks.ai/inference/v1`\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-7977c5944b8d0a14\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-b8e3ff64fb0a5db2", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438936, "scanner": "foundry_dataset", "fingerprint": "cab2a9898c3cbc8c99c74eebde5cfdb28e6cbd70c42b8b1efddf53cebaf41101", "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": "quintonmiller/tailored-ai#232", "human_labels": ["security_auth_secret"], "issue_number": "232", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-fcd89d6a53681db6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#232\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: quintonmiller/tailored-ai#232\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-96bf65341c376084\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/232\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/232\\nTitle: feat: plugin meta + validateConfig exports (#228, #229)\\nBody:\\n## What\\n\\nPlugins were invisible once loaded \u2014 no description for UIs, no declared link between the `plugins:` entry and the config blocks that activate features, and no owner for plugin-config validation after #220 removed core's hardcoded checks. Two optional **named exports** fix all three, both type-only contracts like `Plugin` itself:\\n\\n```ts\\nexport const meta: PluginMeta = {\\n  name: \\\"AWS Bedrock provider\\\",\\n  description: \\\"Bedrock-hosted models via the Converse API.\\\",\\n  registers: [{ kind: \\\"provider\\\", id: \\\"bedrock\\\", configKey: \\\"providers.bedrock\\\" }],\\n};\\n\\nexport function validateConfig(config: AgentConfig): string[] {\\n  const cfg = config.providers.bedrock as BedrockConfig | undefined;\\n  return cfg && !cfg.defaultModel ? [\\\"providers.bedrock.defaultModel is empty\\\"] : [];\\n}\\n```\\n\\n- **Loader** captures `meta` + validator warnings onto `LoadedPlugin`; warnings print at startup alongside core's config warnings; malformed meta\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-62c6dcc4a82c2f6b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_a\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-cd9a4262cda632ed", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438935, "scanner": "foundry_dataset", "fingerprint": "531e9bb75ead57bf37ff880606c432f438fa4150214d480beec652bdea50c491", "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": "quintonmiller/tailored-ai#231", "human_labels": ["api_integration_gap"], "issue_number": "231", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-32424febb258e8b1", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#231\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#231\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9dd5be90c8fea69a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/231\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/231\\nTitle: feat(core): provider plugin utilities \u2014 contract-test suite + listModels\\nBody:\\n## What (#226)\\n\\nChannels have `runChannelContractSuite`; providers now get the sibling, plus a model-discovery capability. Both exist so the next provider plugins (and #223's Bedrock) start from utilities instead of re-deriving asserts.\\n\\n**1. `runProviderContractSuite`** (`@tailored-ai/core/testing`) \u2014 ~10 LOC of plugin test code:\\n\\n```ts\\nrunProviderContractSuite({\\n  name: \\\"bedrock\\\",\\n  harness: {\\n    build: () => new BedrockProvider({ client: stubClient() }),\\n    params: { model: \\\"us.amazon.nova-micro-v1:0\\\" },\\n  },\\n});\\n```\\n\\nAsserts: structurally valid `ChatResponse`; tolerance for the exact message mix the agent loop produces (leading + mid-conversation system, assistant toolCalls, tool results, empty content); `tools` param acceptance; **streaming invariants** when `chatStream` is present (every event delta|done, exactly one done, last, concat(deltas) === content); `listModels` shape when present. Optional\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-4da95baf80e17bbc\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-b841ca780cb43c31", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438934, "scanner": "foundry_dataset", "fingerprint": "641e6a31acba1029525456c021097f354a907a681561a24a07ff7ccfa801c335", "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": "quintonmiller/tailored-ai#227", "human_labels": ["api_integration_gap"], "issue_number": "227", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.99, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-8fe62151c9b81f77", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#227\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#227\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ea63d76990a78cc1\",\n    \"kind\": \"issue_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/227\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/227\\nTitle: Streaming chat: chatStream provider contract + end-to-end text deltas\\nBody:\\n## Why now\\n\\n`AIProvider.chatStream` has been a dead optional method (`ChatDelta` has zero references). Before more provider plugins ship, the streaming contract should be real so plugins implement it once, correctly.\\n\\n## Contract\\n\\nReplace dead `ChatDelta` with an event union that carries the final response in-band:\\n\\n```ts\\nexport type ChatStreamEvent =\\n  | { type: \\\"delta\\\"; content: string }              // incremental assistant text\\n  | { type: \\\"done\\\"; response: ChatResponse };       // exactly one, last\\nchatStream?(params: ChatParams): AsyncIterable<ChatStreamEvent>;\\n```\\n\\nDesign choices:\\n- **Text deltas only.** Tool calls accumulate provider-side and surface in `done.response.toolCalls` \u2014 the loop needs complete tool calls anyway, and partial-JSON tool deltas are a foot-gun for consumers.\\n- Concatenated deltas must equal `done.response.content` (contract-testable).\\n- `chat()` remains required; `chatStream` optiona\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-9609a0c0f27fea1a\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\":\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-453d75367d051ee8", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438933, "scanner": "foundry_dataset", "fingerprint": "982ea6d76ea1d362236c41702fc5ec92986fcbd0e59b3c084369741ab3db37db", "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": "quintonmiller/tailored-ai#212", "human_labels": ["test_ci_gap"], "issue_number": "212", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-6f89ad79aa975bbd", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#212\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#212\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a15cb030ad67e141\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/212\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/212\\nTitle: feat(core): notification seams \u2014 typed events + owner-notifier plugin, configurable autopilot prompt\\nBody:\\nCloses #205. Completes the Notifier piece of #143.\\n\\n**Change classification: 2 \u2014 generic seam.** Core stops deciding who to notify and how; with default config + default plugins, every notification fires exactly as before.\\n\\n- Four new typed runtime events: `task.needs_human`, `digest.ready`, `question.asked`, `form.completed`. The autopilot worker (error/block + morning digest), the `ask_user` tool, and the `channel_message` workflow executor emit these instead of DMing the owner inline.\\n- New default plugin `builtin:owner-notifier` (seeded in `DEFAULT_PLUGIN_MODULES`, modeled on `agent-notifier`) subscribes and delivers with identical channel/recipient resolution (`runtime.resolveOutbound()` + `getOwnerId()`). Quiet-hours policy moved into the plugin (it reads autopilot settings itself): autopilot-originated events are suppressed during quiet hours; digests and interactive questions ar\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c5e48114aacaaf43\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\":\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-08124a4dc91510b8", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438932, "scanner": "foundry_dataset", "fingerprint": "897ea3d95678f4d7d9d276868fcfd229f4158e61460f1db1b3b0694250747088", "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": "quintonmiller/tailored-ai#211", "human_labels": ["data_schema_persistence"], "issue_number": "211", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-fb55150a0bc82063", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#211\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#211\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-e1ecdeec55026f13\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/211\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/211\\nTitle: feat(core): de-role the task watcher \u2014 worktree opt-in + preamble templates, no hardcoded agent names\\nBody:\\nCloses #204.\\n\\n**Change classification: 2 \u2014 generic seam replacing personal content baked into core.**\\n\\n- `AgentDefinition` gains `worktree?: boolean` (task-watcher dispatches run in an isolated per-task-branch worktree) and `taskPreamble?: string` (prompt template prepended to dispatch prompts, expanded with `task_*`, `action`, `project_id`, `owner_name`, `worktree_path`, `worktree_branch`).\\n- `TaskWatcher` keys worktree creation off the resolved agent's `worktree` flag (via a lightweight `runtime.getAgentDefinition()`, so the pre-veto decision doesn't force full provider resolution) and prepends the expanded `taskPreamble`. The two ~115-line hardcoded coder/reviewer preambles are deleted \u2014 that content is install-specific and moves to the user's config.\\n- GitHub task backend: `DEFAULT_AGENT_ROLES` (which shipped personal agent names) is deleted; `createTaskBackend` derives\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-41a761cdba9ddf40\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-a4ab9e2e2299baed", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438931, "scanner": "foundry_dataset", "fingerprint": "b47b7085cda81f97e2447dacd46c3e2225716f47f18cfe0839cadec6a815fcc2", "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": "quintonmiller/tailored-ai#210", "human_labels": ["agent_instruction_gap"], "issue_number": "210", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-f8aae9b3d95c23bf", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#210\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#210\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1a88254374660ab9\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/210\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/210\\nTitle: feat(core): built-in tools construct through the tool-factory registry\\nBody:\\nCloses #203.\\n\\n**Change classification: 2 \u2014 generic seam (closing a half-open one).** Pure construction-path refactor; zero behavior change in which tools exist for a given config.\\n\\n- The ~120-line if-chain in `createTools()` is gone: every built-in tool (memory, exec, read, write, web_fetch, web_search, facts, recall, tasks+task_query, notify_owner, claude_code, browser, md_to_pdf, projects, documents, extract_document, ask_user, custom_tools) registers a `ToolFactory` in the new `tools/builtin.ts`, side-effect-imported exactly like `builtin-optional.ts` (browser-mediator / trusted-actions) already was. Built-in and plugin tools are now indistinguishable at construction.\\n- `ToolFactoryContext` carries the full runtime-dep surface (`contextDir`, `resolveOutbound`, `getOwnerId`, `taskBackend(+resolver)`, `getEmbedder`, `getMemoryBackend`, `notifyTaskEvent`, `events`) so factories read exactly what they need.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-f9c7e8c01749476a\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bund\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-4aef282159ff2c2f", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438930, "scanner": "foundry_dataset", "fingerprint": "9ab9cee43ec68a32b93c9b1d4aa454e84e7af9df77cdcde5b5ea663a929b7383", "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": "quintonmiller/tailored-ai#209", "human_labels": ["runtime_failure"], "issue_number": "209", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.812, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-18b736045afc9571", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#209\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#209\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c96e0f3ec6cc48ef\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/209\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/209\\nTitle: feat(core): built-in step executors construct through StepExecutorRegistry\\nBody:\\nCloses #62.\\n\\n**Change classification: 2 \u2014 new generic seam.** Built-in and plugin step executors now share one construction path.\\n\\n- Built-in executors (`agent_run`, `tool_call`, `shell`, `worktree`, `loop`, `parallel`, `channel_message`, `trigger_workflow`, `http_request`, `notify`) register as factories via `workflows/builtin-executors.ts`; `createWorkflowEngine()` calls `registry.buildAll(ctx)` instead of constructing a hardcoded array.\\n- Plugins inject custom step types via `ctx.stepExecutors.register(type, factory)`; factories receive a `StepExecutorContext` (`runtime`, `db`, `resolveOutbound`, `getOwnerId`, email plumbing).\\n- Override semantics: each type holds at most one factory. `registerFactory` (plugin path) replaces in place; `registerBuiltinFactory` is first-wins, so hot-reload re-population never displaces a plugin's override of a built-in type.\\n- Backward compatible: all `step.type` strings un\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-20be6a52417d8a28\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_sourc\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-f55b29d5e6acf5b6", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438929, "scanner": "foundry_dataset", "fingerprint": "661c60d666e37a971a4bd5dc559a81eb9bbf2827bd37cc9126d6c13a860cfb64", "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": "quintonmiller/tailored-ai#208", "human_labels": ["deployment_env_gap", "test_ci_gap"], "issue_number": "208", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-8c2faf05420aec66", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#208\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#208\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'deployment_env_gap': 1, 'test_ci_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-adbdf900bfe81c56\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/208\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/208\\nTitle: feat(core): sandbox backend registry \u2014 open selector, built-ins register like plugins\\nBody:\\nCloses #17.\\n\\n**Change classification: 2 \u2014 new generic seam.** Config-driven, built-ins register through the same path as third-party plugins.\\n\\n- `sandboxFactoryRegistry` (string-keyed `Registry<SandboxFactory>`) in `sandboxes/factory.ts`, mirroring the task-backend / repo-backend pattern. `createSandbox()` resolves through the registry and throws a \\\"Known: \u2026\\\" error for unregistered kinds.\\n- Built-ins (host / docker / podman) register via a new `sandboxes/builtin.ts` side-effect module imported from the core barrel \u2014 identical to `memory/builtin.ts`.\\n- `config.sandbox` is now an open `string` in both `AgentDefinition` and `AgentConfig.agent`; `SandboxKind` is now `string`.\\n- `validateConfig` drops the hardcoded kind allowlist. The docker/podman \\\"imageName not set\\\" warnings remain (config-time detectable mistakes for the built-in factories; soft warnings, never gating unknown kinds).\\n- `PluginCon\"\n  },\n  {\n    \"id\": \"github-feedback-comment-506503bb7a5efdab\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/208#issuecomment-4678199687\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/208#issuecomment-4678199687\\nTitle: \\nBody:\\nCI failure root-caused: built-ins registered via a barrel-only side-effect import, so consumers reaching createSandbox without the barrel (several test paths, and potentially libr\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-eca8e24e8272f8da", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438928, "scanner": "foundry_dataset", "fingerprint": "653f684f890811a30dce1a9f4ac6a293b1a3291f027600bb92db93a265874082", "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": "quintonmiller/tailored-ai#205", "human_labels": ["test_ci_gap"], "issue_number": "205", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.777, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-720c649bc02d993b", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#205\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: quintonmiller/tailored-ai#205\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9b0d32f085e14eb6\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/205\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/205\\nTitle: Autopilot & ask-user seams: event-driven notifications + configurable task prompt\\nBody:\\n**Classification: 2 \u2014 completes the Notifier seam from #143 using the agent-notifier plugin as the model.**\\n\\nSeveral paths still decide who to notify and how, inline, instead of emitting events for a delivery subscriber:\\n\\n- `packages/core/src/autopilot/worker.ts:324-338` \u2014 `notifyNeedsHuman()` DMs the owner directly on task error/blocked.\\n- `packages/core/src/autopilot/worker.ts:251` \u2014 morning digest delivery is a direct `sendDM` to the owner.\\n- `packages/core/src/tools/ask-user.ts:66,104` \u2014 questions always DM the owner; the out-of-autopilot fallback file `inbox.md` (line 83) is a hardcoded filename with no config knob.\\n- `packages/core/src/workflows/executors/channel-message.ts:58` \u2014 workflow form responses deliver via direct DM.\\n- `packages/core/src/autopilot/worker.ts:529-577` \u2014 `buildTaskPrompt()` bakes in five orchestration rules with no config override, unlike briefing/suggestions prompts which are repl\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-af888274df50f4ac\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\":\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-123364bb6a63473e", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438927, "scanner": "foundry_dataset", "fingerprint": "bac7cc445f1aaf9ff7ace586c420363c3ab6a32d5971c1c2c2d15ec6e12a4223", "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": "quintonmiller/tailored-ai#204", "human_labels": ["test_ci_gap"], "issue_number": "204", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-4b0e25cbf8fcc538", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#204\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#204\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-47a1fa378126fc2d\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/204\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/204\\nTitle: De-role the task watcher: no hardcoded coder/reviewer names or role preambles in core\\nBody:\\n**Classification: 2 \u2014 generic seam replacing personal content baked into core.**\\n\\nCore currently hardcodes specific agent names and an entire personal dev workflow:\\n\\n- `packages/core/src/task-watcher.ts:194` \u2014 `agentName === \\\"coder\\\" || agentName === \\\"reviewer\\\"` decides whether a task gets an isolated git worktree. Behavior is keyed to agent *names*; an agent with any other name can never opt into isolation.\\n- `packages/core/src/task-watcher.ts:340-455` \u2014 ~115 lines of hardcoded role preambles containing install-specific workflow: `pnpm typecheck`/`pnpm test`, the Docker `/work` bind-mount convention, `gh auth setup-git`, three review gates with history-specific commentary, `ptask_` scope rules, and hardcoded handoffs (`assignee=reviewer`, `assignee=coder`).\\n- `packages/core/src/tasks/github.ts:44-56` \u2014 `DEFAULT_AGENT_ROLES` ships personal agent names (`email-fetcher`, `email-classifier`, `email-actor`, `ca\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b6598ba6640ed31e\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\":\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-83c4dc8f520136e7", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438926, "scanner": "foundry_dataset", "fingerprint": "ee0513e735464a8742b6f4ec259a402114d93e1ea1205890d73744b870848644", "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": "quintonmiller/tailored-ai#203", "human_labels": ["agent_instruction_gap"], "issue_number": "203", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-585697440b1d88ee", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 1, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#203\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#203\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 1\nLinked CI labels: {'ci_pending_or_incomplete': 1}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d3b1a0333d76dd64\",\n    \"kind\": \"issue_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/203\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/203\\nTitle: Built-in tools: construct through the tool-factory registry (remove createTools() if-chains + hardcoded meta-tool list)\\nBody:\\n**Classification: 2 \u2014 new generic seam (closing an existing half-open one).**\\n\\nOptional tools (browser-mediator, trusted-actions) already construct through the tool-factory registry via `packages/core/src/tools/builtin-optional.ts`, but the core tool set does not:\\n\\n- `packages/core/src/factories.ts:99-207` \u2014 `createTools()` is an if-chain of direct instantiations (`new MemoryTool()`, `new ExecTool()`, read, write, web_fetch, web_search, facts, recall, tasks, notify_owner, claude_code, projects, documents, ask_user, \u2026). A plugin tool and a core tool are constructed through different paths.\\n- `packages/core/src/config.ts:993` \u2014 `validateConfig()` hardcodes the meta-tool list `[\\\"delegate\\\", \\\"task_status\\\", \\\"admin\\\", \\\"memory\\\", \\\"ask_user\\\"]` instead of iterating a registry.\\n\\n**Fix**\\n- Register every built-in tool as a factory in the existing tool-factory registry (extend \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-db1c07624c392c06\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"rep\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-8f6325623bef2ee2", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438925, "scanner": "foundry_dataset", "fingerprint": "d1e6e87694f98ced3c7d1da5deb8052e2cdf46380f1bc1b67c640778cbdc4565", "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": "quintonmiller/tailored-ai#202", "human_labels": ["api_integration_gap"], "issue_number": "202", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-48c1a619b2b9203d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#202\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#202\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-390b95f61f9510c2\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/202\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/202\\nTitle: feat: config-gated chat suggestion chips\\nBody:\\nRe-opens #199 against main (the original was auto-closed when its stacked base branch was deleted on merge; GitHub closes rather than retargets).\\n\\nSame content as #199 \u2014 `generateSuggestions()` in core reusing the briefing context assembly, `GET /api/suggestions` with TTL cache + single-flight, ghost-chip UI in the Chat empty states \u2014 plus the branch is now synced with main (the sync resolves overlap with the merged #196/#198 cleanly; build + full test suite pass).\\n\\nIncludes the thinking-model fixes that landed on this branch during dogfooding: `maxTokens` cap and `providerExtra` passthrough on the generation call.\\n\\n**Classification: (2) new generic seam** \u2014 config-gated (`suggestions.enabled`, default off, zero provider calls when disabled), dogfooded on the personal install.\\n\\nStack: #200 \u2192 #201 follow after this merges; I'll retarget them to main before any branch deletion this time.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/c\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-0957b068cc93a55f\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"rep\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-73185d8cf651d2d0", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438924, "scanner": "foundry_dataset", "fingerprint": "ce4bfd8a5501ae507e1e21378732df2e47ac6f50078425fc941e488d6396a98d", "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": "quintonmiller/tailored-ai#197", "human_labels": ["security_auth_secret"], "issue_number": "197", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-072c01ee785f1f76", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#197\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: quintonmiller/tailored-ai#197\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-fa4e4645e5721a33\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/197\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/197\\nTitle: refactor(ui): three-tier navigation and de-cluttered everyday surfaces\\nBody:\\n## Classification\\n\\n**Bundled default UI \u2014 replaceable via the UI provider registry, so lower scrutiny than core.** This is a structural information-architecture + de-clutter pass, not a feature change and not a visual redesign. The existing dark monospace visual language and palette are unchanged; all existing routes keep resolving (deep links preserved). Touches only `packages/ui` (+ changeset).\\n\\n## Before / after navigation\\n\\n**Before** \u2014 one flat row of 14 equal-weight links:\\n`Dashboard \u00b7 Projects \u00b7 Agents \u00b7 Tools \u00b7 Workflows \u00b7 Sandboxes \u00b7 Resources \u00b7 Memory \u00b7 Chat \u00b7 Actions \u00b7 Approvals \u00b7 Config \u00b7 Help` + ProjectSwitcher + status dot.\\n\\n**After** \u2014 three tiers:\\n- **Top level:** `Home` \u00b7 `Chat` \u00b7 `Tasks` (Tasks \u2192 the Projects page that owns tasks)\\n- **Build \u25be** (disclosure): Agents \u00b7 Workflows \u00b7 Memory \u00b7 Tools \u00b7 Projects\\n- **System \u25be** (disclosure): Config \u00b7 Resources \u00b7 Sandboxes \u00b7 Approvals \u00b7 Help\\n- Projec\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-0d230be778e31982\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"re\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-9ee801fdb2298a3d", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438923, "scanner": "foundry_dataset", "fingerprint": "4faef1f5c622f37795e8bd3d5fb1bf54111931accb7a4c4313de7fa524211a89", "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": "quintonmiller/tailored-ai#195", "human_labels": ["agent_instruction_gap"], "issue_number": "195", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-6b322f9c6d70594d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#195\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#195\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-53c9856441cd3c48\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/195\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/195\\nTitle: fix(core): make base-prompt introduction conditional on absent identity\\nBody:\\n## Classification\\n**Fundamental default change (small).** The current default actively misfires: it tells every model \\\"You do not have a name yet\\\" unconditionally, so agents cold-introduce themselves even when an identity context file is loaded \u2014 contradicting the prompt's own later instruction to treat context files as ground truth. Users who prefer the old behavior can replace the base prompt entirely via the global `systemPrompt` override.\\n\\n## Change\\nOne sentence in `BASE_SYSTEM_PROMPT` (`packages/core/src/agent/prompt.ts`):\\n\\n- **Before:** \\\"You do not have a name yet. If your memory has no identity file, introduce yourself\u2026\\\"\\n- **After:** \\\"Check your context and memory for your identity. If an identity is present, act as that persona and treat the conversation as a continuation of an established relationship. Only if no identity exists anywhere, introduce yourself\u2026\\\"\\n\\nPhrased with a positive primary inst\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-4ced39be44968236\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"s\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-6daf79ed7e8814f1", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438922, "scanner": "foundry_dataset", "fingerprint": "fb7f3e4128c7a79564910c0291a7c09b645fb99504dd43e3c1f0fa8a549164cc", "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": "quintonmiller/tailored-ai#188", "human_labels": ["security_auth_secret"], "issue_number": "188", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-ed67e38b6ba48686", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#188\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#188\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-0466701cb9b9c9db\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/188\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/188\\nTitle: Official desktop and mobile apps (out-of-the-box companion surfaces)\\nBody:\\n## Why\\n\\nThe PWA (#121, shipped) was the right short-term answer: it gave mobile-installable access with minimal infrastructure. The goal now is first-party desktop and mobile apps that work out of the box for new users \u2014 no browser, no manual install \u2014 while remaining replaceable through the UI provider registry like every other surface. The \\\"evaluate\\\" framing of #106 has served its purpose; this issue replaces it with a directional commitment.\\n\\n## What\\n\\n**Desktop shell**\\n\\nTauri 2 wrapping the existing Vite SPA (`packages/ui/`) is the lean candidate: small binary footprint, ships the same HTML/JS/CSS already built and tested, no second frontend to maintain. Electron is the fallback if Tauri's constraints prove blocking. Key requirements: system tray / menu-bar mode, native notifications, local daemon control (start/stop the TAI server process), and the approval surface for HITL tasks.\\n\\n**Mobile**\\n\\nTauri 2 mobile i\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-8f151364bbb76053\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-c0c1935d6dd587b6", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438921, "scanner": "foundry_dataset", "fingerprint": "b62b60d29cc80ed5caadc582dfbb51a7c71e680223e93afb3daf98db6d79b80f", "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": "quintonmiller/tailored-ai#187", "human_labels": ["security_auth_secret"], "issue_number": "187", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-320d16438eb92805", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#187\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#187\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-84874631904cca8f\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/187\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/187\\nTitle: Evaluate: Rust/WASM for core \u2014 where would native actually pay off?\\nBody:\\n## Why\\n\\nThis is a maintainer question, not a commitment. The question surfaces periodically \u2014 \\\"should TAI core be rewritten in Rust?\\\" \u2014 and deserves an honest, measurement-grounded answer rather than an ad hoc one each time it comes up.\\n\\nThe structural case for skepticism is strong: TAI's hot path is LLM inference time plus network and disk I/O. The Node.js orchestration layer \u2014 the chat\u2192tools\u2192chat loop, config reload, event routing \u2014 is rarely the bottleneck. SQLite access is already native via `better-sqlite3`, so the most CPU-adjacent storage layer is covered. A full Rust rewrite would also fracture the TypeScript/npm plugin ecosystem, which is the product's primary strategic surface and the main reason it is easy to extend.\\n\\n## What\\n\\nThe evaluation should produce a `docs/decisions/` entry (an ADR-style doc) covering:\\n\\n1. **Profile real deployments** to find actual CPU hotspots \u2014 candidates: embedding/vector mat\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-39405adfeb0fb2ba\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_ha\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-4000c35df6f928ed", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438920, "scanner": "foundry_dataset", "fingerprint": "7c0b6783de66db75a9bf5539c056a6ba87088da1332a395bef89ccd28b95dea1", "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": "quintonmiller/tailored-ai#185", "human_labels": ["security_auth_secret"], "issue_number": "185", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-03aef6cbe399cd5c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#185\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#185\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-76c3aae07f3d33e8\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/185\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/185\\nTitle: Context assembler component: pluggable prompt assembly strategy\\nBody:\\n## Why\\n\\nEvery agent request assembles its context from the same fixed set of ingredients: system prompt, injected memory (if `injectMemory: true`), skill/tool descriptions, task context, and the conversation history. The assembly order and budget allocation are baked into `packages/core/src/agent/memory-inject.ts` and the loop entry point. This is fine for a single usage pattern, but retrieval-heavy personal-corpus queries (#182) want a very different balance from lean tool-routing requests on a small local model \u2014 and future strategies (chain-of-thought scaffolding, context compression, dynamic skill loading) will want different assembly entirely.\\n\\nThis issue is deliberately filed early to record the seam. It is borderline until a second real, meaningfully different strategy exists in the codebase; at that point the contract pays for itself.\\n\\n## What\\n\\nDefine a `ContextAssembler` contract that owns the per-request cont\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-83b1810019cfb8d9\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_so\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-d3b33966634177c2", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438919, "scanner": "foundry_dataset", "fingerprint": "bd4d004b196d5bf165277ae82af5f9a6117f7e52d7a1967f1aad0343895e3cd7", "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": "quintonmiller/tailored-ai#183", "human_labels": ["security_auth_secret"], "issue_number": "183", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-3694f82b6001e7cf", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#183\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#183\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-0f6888a18be9aba1\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/183\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/183\\nTitle: Compaction strategy component: pluggable history compaction\\nBody:\\n## Why\\n\\nHistory compaction is the most model-sensitive step in the agent loop. Today it is hardcoded in `trimHistory()` / `trimHistoryWithSummary()` in `packages/core/src/agent/loop.ts`: the loop estimates token counts, drops oldest messages, and optionally summarizes. That behavior is reasonable for a single model size, but an 8k-context local model and a 1M-context cloud model want completely different strategies \u2014 sliding window, summarize-and-drop, fact-extraction into memory, or no compaction at all. Hardcoding one path means the loop is always wrong for at least some models.\\n\\n## What\\n\\nDefine a `CompactionStrategy` contract and wire it into the agent loop as a replaceable component:\\n\\n- Interface: `compact(history: Message[], budget: number, ctx: CompactionContext): Promise<Message[]>` \u2014 receives the current history and the token budget, returns the compacted history.\\n- Built-in strategies: `sliding-window` (current be\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-a718f32b0eccd05e\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_s\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-9daf428ef9e6bbb1", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438918, "scanner": "foundry_dataset", "fingerprint": "88bdd807fddd379b20979f267ac4e702c34cd79e4878c37d0d5fea1b6a4689d1", "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": "quintonmiller/tailored-ai#162", "human_labels": ["agent_instruction_gap"], "issue_number": "162", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-39417fdf482e4b4d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#162\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#162\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-790724922e8f9ef0\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/162\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/162\\nTitle: feat(core): source createTools Discord delivery from the outbound registry (#66)\\nBody:\\n## What\\n\\nStop hand-injecting the Discord channel into the `createTools` path. `DiscordDmTool` and `AskUserTool` now get their delivery accessor from the runtime's outbound registry instead of from CLI-wired closures.\\n\\nBoth tools only ever call `.send` / `.sendDM` on the `getDiscord()` result (verified), so the accessor type is narrowed from `DiscordChannel | undefined` to `OutboundNotifier | undefined`.\\n\\n### Changes\\n- `packages/core/src/tools/discord-dm.ts`, `packages/core/src/tools/ask-user.ts`: `getDiscord` accessor type `DiscordChannel` \u2192 `OutboundNotifier` (imported from `../channels/outbound.js`). The unused `DiscordChannel` import is removed from both.\\n- `packages/core/src/factories.ts`: `CreateToolsOptions.getDiscord` typed as `() => OutboundNotifier | undefined` (was `() => any`). The `DiscordDmTool` registration guard is kept as-is (harmless).\\n- `packages/core/src/runtime.ts`: wire `getD\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-31163798ae6046de\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-7af1ebb308fe716c", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438917, "scanner": "foundry_dataset", "fingerprint": "1cce271a3e0105c3e13c37f23052a1cea5e69e576d32d14a57531cb5393510ab", "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": "quintonmiller/tailored-ai#143", "human_labels": ["agent_instruction_gap", "human_feedback_general"], "issue_number": "143", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-631f9a816d997b34", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 8, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#143\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#143\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 8\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'agent_instruction_gap': 1}\nPolarities: {'neutral': 1, 'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-136e46c87952b80c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/143#issuecomment-4655307402\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/143#issuecomment-4655307402\\nTitle: \\nBody:\\n**RepoBackend (contract 1) \u2014 first PR up: #145.** Lands the interface + default `gh` impl + registry + `repo.*` events, purely additive / opt-in (no behavior change). 18 new tests.\\n\\nChecklist progress for RepoBackend:\\n- [x] Interface defined + exported from core\\n- [x] Default impl shipped (`gh`)\\n- [x] Contract registry + `ctx.repoBackends` for plugins\\n- [ ] Reviewer-approve flow migrated onto it (push + open proposal) \u2014 follow-up PR, the behavior-changing half\\n- [ ] Contract-test helper\\n\\nSequencing unchanged: RepoBackend first (per your call), then Notifier (#66), then ApprovalSurface (#37/#34).\"\n  },\n  {\n    \"id\": \"github-feedback-comment-bb464a9343a0c10d\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/143#issuecomment-4662957572\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/143#issuecomment-4662957572\\nTitle: \\nBody:\\nSlice 4 leg status:\\n\\n- **RepoBackend** \u2705 merged via #145 (commit 274de6f)\\n- **Notifier** \u2014 in flight via #66 + PRs #160\u2013#165\\n- **ApprovalSurface** \u2014 not started\\n\\nFor ApprovalSurface, consider making it a parent tracking issue for the approval-related work already filed in #34, #37, and #118 \u2014 those three map cleanly onto the sub-contracts (web ref impl, channel\u2194registry wiring, approval_request tool).\\n\\n---\\n_Generated by [Claude Code](https://claude.ai/code)_\"\n  }\n]\nChanged files\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-389f1bf9a182584d", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438916, "scanner": "foundry_dataset", "fingerprint": "a861625e33c6a54a2a8693693232dbc850af3906e6c202f730d4fc7241623fd2", "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": "quintonmiller/tailored-ai#142", "human_labels": ["human_feedback_general"], "issue_number": "142", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-80c36b9dc2a629df", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#142\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#142\nRepo: quintonmiller/tailored-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6c6905191be8be6c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/142#issuecomment-4656649841\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/142#issuecomment-4656649841\\nTitle: \\nBody:\\n### Per-plugin channel routing (the `plugins[].config` activation)\\n\\nThreading the channels review here: `plugins[].config` already exists in the type but is **ignored by the loader** (`config.ts`: *\\\"reserved for future routing\\\"*). Activating it \u2014 plumb the per-entry `config` into `PluginContext` so `register(ctx)` reads `ctx.config` \u2014 is the mechanism that lets a default (or third-party) plugin pick **which channel it talks through**:\\n\\n```ts\\n// plugins: [{ module: '@tailored-ai/task-watcher', config: { channel: 'slack' } }]\\nconst channelId = ctx.config?.channel ?? runtime.getConfig().defaultChannel ?? firstRegistered;\\n```\\n\\nSequencing with the rest of the decomposition:\\n- **#155** lands `config.defaultChannel` + `getPrimaryOwner()` (the fallback this routing defers to).\\n- **#66** lands `runtime.getOutbound(channelId)` (the sink the resolved channel id sends through).\\n- This issue then registers the defaults through the config-toggleable loader and r\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-50de4a0309fd7fef\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_b\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-9764cc960b7b0e97", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438915, "scanner": "foundry_dataset", "fingerprint": "9b03bbdc896de3287734556a0aab727511d1522b394d2872fc2fcb1e73eca83b", "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": "quintonmiller/tailored-ai#135", "human_labels": ["agent_instruction_gap"], "issue_number": "135", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.662, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-6c39ba62087c6154", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 4, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#135\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#135\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 4\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-16b112f4ccd420cd\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/135#issuecomment-4662965770\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/135#issuecomment-4662965770\\nTitle: \\nBody:\\nTwo items before merge:\\n\\n1. The `PluginContext` surface table is missing `repoBackends` \u2014 that namespace landed on main via #145 (`packages/core/src/plugin-context.ts:85`) after this branch was cut. Rebase and add the row, plus a forward pointer noting that `repo.*` events (branch push, proposal open/close) are planned for Slice 4 but not yet emitted.\\n\\n2. The `dispose()` and event-error-isolation claims were verified against `packages/core/src/events.ts` and check out \u2014 that satisfies the PR's own reviewer-checklist item on those semantics.\\n\\n---\\n_Generated by [Claude Code](https://claude.ai/code)_\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ff854b29e3f6498d\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 5}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-3c7bdb336232ba34", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438914, "scanner": "foundry_dataset", "fingerprint": "c1fe789277bd2b2672d05018ab32751aa4413f0ab51104e201801d47f47fd0fd", "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": "quintonmiller/tailored-ai#121", "human_labels": ["deployment_env_gap"], "issue_number": "121", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.61, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-0111a3374c767d2a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#121\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: quintonmiller/tailored-ai#121\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'deployment_env_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-44d4eec6fcbda92a\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/121#issuecomment-4662956317\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/121#issuecomment-4662956317\\nTitle: \\nBody:\\nAll five phases shipped in #122 (commit cf0b04c). Closing as completed. If any Phase 1 acceptance items (executor route, Decisions card, env-var config, README) are missing from the merge, feel free to reopen with specifics.\\n\\n---\\n_Generated by [Claude Code](https://claude.ai/code)_\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-bafb4a4576e688c9\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 5}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-fed987237b606283", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438913, "scanner": "foundry_dataset", "fingerprint": "a2a45d3f132ebdd8eae8ff2f0f2c8c9fba5b5f0522020b641182d1e29cbcac3a", "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": "quintonmiller/tailored-ai#120", "human_labels": ["human_feedback_general"], "issue_number": "120", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-89b8c16df623b032", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#120\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#120\nRepo: quintonmiller/tailored-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-db2882d24038e76c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/120#issuecomment-4612048206\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: m13v (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/120#issuecomment-4612048206\\nTitle: \\nBody:\\nbackfill's the easy part, recall ranking is what breaks. dump years of gmail in and stale facts quietly outrank what's current. occurredAt has to actually decay recall weight, not just tag the row, or the one-time learn-who-i-am pass makes memory worse than the forward-only version it replaced.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-9a93ca0f286f8903\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 5}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-16ebe2953e7c095b", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438912, "scanner": "foundry_dataset", "fingerprint": "c6668e7312f6e110bf100ca44c1daa38b0de71fe32661fde8f112d768ce2e3a5", "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": "quintonmiller/tailored-ai#12", "human_labels": ["agent_instruction_gap", "data_schema_persistence"], "issue_number": "12", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-84cc327165287e27", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#12\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: quintonmiller/tailored-ai#12\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1, 'agent_instruction_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-55fba851505cc978\",\n    \"kind\": \"issue_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/12\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/12\\nTitle: Memory backend Phase 2: route agent/memory-* through the backend\\nBody:\\nPart of #8. Design: [\\\\`docs/memory-storage-registry.md\\\\`](../blob/main/docs/memory-storage-registry.md). Builds on Phase 1.\\n\\n## Scope\\n\\nSwitch the agent-layer memory modules from calling \\\\`db/*-queries.ts\\\\` directly to calling \\\\`runtime.getMemoryBackend()\\\\`:\\n\\n- \\\\`packages/core/src/agent/memory-inject.ts\\\\` \u2014 \\\\`buildMemoryBlock\\\\`, \\\\`buildMemoryBlockWithMeta\\\\` become fully async; use \\\\`backend.query({ includePrelude: true })\\\\` + \\\\`backend.prelude()\\\\`.\\n- \\\\`packages/core/src/agent/memory-index.ts\\\\` \u2014 \\\\`indexNote\\\\`, \\\\`indexKbDir\\\\` use \\\\`backend.write({ text }, { vector, kind: \\\\\\\"chunk\\\\\\\" | \\\\\\\"note\\\\\\\" })\\\\`.\\n- \\\\`packages/core/src/agent/memory-promotion.ts\\\\` \u2014 \\\\`promoteNote\\\\`, \\\\`recordNoteHit\\\\`, \\\\`runMemorySweep\\\\` become no-ops or thin wrappers (lifecycle is private to the backend now).\\n- \\\\`packages/core/src/tools/recall-query.ts\\\\` \u2014 \\\\`recallQuery\\\\`, \\\\`recallQueryAsync\\\\` route through \\\\`backend.query()\\\\`.\\n- Wave of \\\\`await\\\\`s thr\"\n  },\n  {\n    \"id\": \"github-feedback-comment-135fbc3349fda7e3\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/12#issuecomment-4703754529\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/12#issuecomment-4703754529\\nTitle: \\nBody:\\n[agent: agent] Moved to tai project \u2014 cron config and agent code live in the autonomous-agent rep\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-e92b216a768123ea", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438911, "scanner": "foundry_dataset", "fingerprint": "f64629cebc0cdb1fbd5f3dd8d6317f970d083bddd566ad18e11b851b63461683", "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": "quintonmiller/tailored-ai#119", "human_labels": ["test_ci_gap"], "issue_number": "119", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.662, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-dabdcab85a05ebdb", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 9, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#119\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: quintonmiller/tailored-ai#119\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 9\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ac3f6f5569340199\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/119#issuecomment-4655164913\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/119#issuecomment-4655164913\\nTitle: \\nBody:\\nThe dependency called out here \u2014 task lifecycle events \u2014 landed in platform-vision Slice 2 (#134): the task path now emits `task.created` / `task.updated` / `task.transitioned` / `task.commented` on `runtime.events`. So the `task_event` workflow trigger can now be built as a consumer of the bus rather than the cron-polling workaround. Umbrella: #74.\\n\"\n  },\n  {\n    \"id\": \"github-feedback-comment-c6acb9a3fccf07fe\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/119#issuecomment-4662958435\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/119#issuecomment-4662958435\\nTitle: \\nBody:\\nThe prerequisite \u2014 task backends dispatching lifecycle events \u2014 landed in #134. That shrinks the remaining scope considerably: what's left is registering a `task_event` trigger kind in the workflow engine and wiring the filter semantics, rather than the full event-bus + dispatch plumbing described at the time of filing. Much smaller than it reads.\\n\\n---\\n_Generated by [Claude Code](https://claude.ai/code)_\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-49b7ac66975acafb\", \"evidence-chain-comment_to_commit-7040a58ee070439e\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-27f8d5ebb340af41", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 438910, "scanner": "foundry_dataset", "fingerprint": "219d61e13f68e359a475fefc79b113bbe77274f53bf2ae33afa5b5f04b2095f9", "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": "quintonmiller/tailored-ai#118", "human_labels": ["test_ci_gap"], "issue_number": "118", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-2cd456c13249782f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#118\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: quintonmiller/tailored-ai#118\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d5ca03366ac54c7b\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/118#issuecomment-4635884256\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: rpelevin (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/118#issuecomment-4635884256\\nTitle: \\nBody:\\nThis belongs in core, but I would make the `approval_request` result a decision record, not only a pending handle.\\n\\nThe agent is proposing a system mutation, so the approval surface needs to bind the artifact snapshot to the exact applier that would run on approval.\\n\\nFields I would want:\\n\\n- approval_request_id;\\n- artifact_kind;\\n- artifact version/digest;\\n- proposed applier id;\\n- requested effect summary;\\n- requester agent/workflow id;\\n- allowed approval surface;\\n- expiry;\\n- decision: approved, denied, expired, or superseded;\\n- applied_result_ref if approval triggers an effect.\\n\\nAcceptance tests:\\n\\n1. an agent drafts workflow YAML; the approval surface stores the exact artifact digest before any applier runs.\\n2. a changed artifact after approval requires a new approval_request.\\n3. the same document artifact can be approved as \\\"record decision only\\\" without auto-applying.\\n4. plugin/custom_tool/memory_upsert appliers fail closed if no registered applier exists.\\n5. audit l\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c3b5e295e0edc662\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_sou\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-assumption_checks-65769cce57d6e1cc", "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": "quintonmiller/tailored-ai", "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: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460159, "scanner": "foundry_dataset", "fingerprint": "e7a54df8dc7899ad4d774d91001745a991673773effb76c3b6447a9674efe46a", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "mock_placeholder": 1, "verification_or_tests": 6, "human_feedback_general": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 5, "human_reported_issue_then_verified_fix_attempt": 3}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 10}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 54, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 8, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 20, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 31, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 4, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#66", "issue_number": "66", "quality_tiers": {"high_confidence": 6, "assumption_check": 2}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-71a77a9f484d59c2", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#66\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#66\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#66\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 66\nGraph consistency label: supported_by_verification_signal\nNodes: 31\nEdges: 54\nNode types: {'commit': 8, 'link_quality': 8, 'comment': 4, 'comment_chain': 4, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 20, 'chain_has_link_quality': 8, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 6, 'claimed_resolved_with_verification_signal': 5, 'human_reported_issue_then_verified_fix_attempt': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 6, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-32b5eb434d97ade4", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460158, "scanner": "foundry_dataset", "fingerprint": "e9086b29ffb1d4fe303bf3a1d14c51f162d031c2980b4c9d543f96bb7e1773f1", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "generated_provenance": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#62", "issue_number": "62", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-fb349d29af6e63c6", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#62\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#62\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#62\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 62\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'generated_provenance': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-6213c3cdf569f971", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460157, "scanner": "foundry_dataset", "fingerprint": "b136d4263b81b7c89a91cb6174df4dacfbcfd8db66cec6b0fca6cd2d797b25b5", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#29", "issue_number": "29", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-736e101d36137a12", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#29\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#29\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#29\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 29\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-0dc519347cc9a2e5", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460156, "scanner": "foundry_dataset", "fingerprint": "d2efa6967db1394fb97eec5fe7e3c88af503acc79cdecde67bbc8c34eb07b7b4", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "api_or_backend": 4, "docs_or_claims": 22, "dependency_or_build": 11, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 80, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 36, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 53, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 36, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#260", "issue_number": "260", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e7cb068fee5e4e2d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 16, "docs_or_claims": 88, "dependency_or_build": 40}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#260\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#260\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#260\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 260\nGraph consistency label: supported_by_verification_signal\nNodes: 53\nEdges: 80\nNode types: {'pr_file': 36, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 36, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'docs_or_claims': 22, 'dependency_or_build': 11, 'api_or_backend': 4, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-c7a1f0c6f6ad2cd7", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460155, "scanner": "foundry_dataset", "fingerprint": "3a84d1d34d52b19ce5a8905d50af94b117a09d752a005fe9dff038adf21a430f", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "dependency_or_build": 1, "generated_provenance": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#220", "issue_number": "220", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b95bbf6b70d9ab88", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#220\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#220\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#220\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 220\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'generated_provenance': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-e5496550dd957a2a", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460154, "scanner": "foundry_dataset", "fingerprint": "17e437f2d31899d38b42d89854465d50b7475b6ec8fea8cebafccea2f893c0d2", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#219", "issue_number": "219", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-a6af0a69ed116e99", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#219\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#219\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#219\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 219\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-c52ce73090485a52", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460153, "scanner": "foundry_dataset", "fingerprint": "a823867b19385da4a41f429d7478e75bb03abf28aeecb33aa5f68521fad62f68", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#218", "issue_number": "218", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-9ad514cc383d9eaa", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#218\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#218\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#218\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 218\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-6f005ce03fbd10a3", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460152, "scanner": "foundry_dataset", "fingerprint": "dea830c309248c9dfa2de4ac708e3339fdaf0491834a1392cffe772a9a3f1ba6", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "generated_provenance": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#217", "issue_number": "217", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-8f28ca5e241d2fd0", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#217\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#217\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#217\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 217\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'generated_provenance': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-43554250e8da5774", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460151, "scanner": "foundry_dataset", "fingerprint": "a39116008f8fd79ff08f4a3e6278fae6a37eb984d339015899343cff4e10d99c", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "dependency_or_build": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#215", "issue_number": "215", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f11b66d1a18fefb8", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#215\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#215\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#215\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 215\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-1b30420108fd129d", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460150, "scanner": "foundry_dataset", "fingerprint": "40294460e7f7354c40492523922c18924fb3a7335833d23bedac3dabac956090", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#214", "issue_number": "214", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-42ac7a5c351c849d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#214\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#214\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#214\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 214\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-f926308fbe2fe174", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460149, "scanner": "foundry_dataset", "fingerprint": "90e9dc04e6c0915aca64a6d3721787659d95e03cb1df728ddb3dd3633a7649b1", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "generated_provenance": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#212", "issue_number": "212", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-950da05fad55e622", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#212\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#212\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#212\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 212\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'generated_provenance': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-b7dc81e508ebb991", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460148, "scanner": "foundry_dataset", "fingerprint": "04b5d8306513ff47e6ded895ccef94524398734a9bf60c4660e9727aeacf0eed", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "deployment_env_gap": 1, "generated_provenance": 1, "verification_or_tests": 6, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#208", "issue_number": "208", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-a07900d6338e63a5", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#208\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#208\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#208\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 208\nGraph consistency label: supported_by_high_confidence_link\nNodes: 22\nEdges: 30\nNode types: {'commit': 7, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 6, 'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'test_ci_gap': 1, 'generated_provenance': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-e8b0ade46c256fc3", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460147, "scanner": "foundry_dataset", "fingerprint": "817345bfe8a09fbece245950441618c3da242d41e820d4d5280625e1044d3d20", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "generated_provenance": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#205", "issue_number": "205", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-04c2745637107d46", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#205\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#205\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#205\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 205\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'generated_provenance': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-a3b7c94e6dcf1007", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460146, "scanner": "foundry_dataset", "fingerprint": "ff11f8528526bcc0cc9d84da7c09633b655f942a2bd310bb9cb3e9b7527b8d8a", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#204", "issue_number": "204", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e7fe5dec3ae9c089", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#204\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#204\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#204\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 204\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-25dcf0dde35f4a2f", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460145, "scanner": "foundry_dataset", "fingerprint": "9a66b8f5cfb1f39f40e4282d057baf64795438f8529139888dd0a65dfdb3826f", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "dependency_or_build": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#201", "issue_number": "201", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-dd0a9ee4381fceb8", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#201\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#201\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#201\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 201\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-c0011fccc45ab1de", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460144, "scanner": "foundry_dataset", "fingerprint": "018637d8cdab97b7f20cdf9a846c704441f25d10e7cb1c814a7811d25da54951", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#198", "issue_number": "198", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f59a7b47e07bead8", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#198\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#198\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#198\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 198\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-75570fb665a28a87", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460143, "scanner": "foundry_dataset", "fingerprint": "64c7934e14fcde3d0f290ffb1eb9b84c34defebaa1619fd9eef9160ec2f40841", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "generated_provenance": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#196", "issue_number": "196", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d4e79e86a89fdd5d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#196\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#196\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#196\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 196\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'generated_provenance': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-65f6cc03935915fd", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460142, "scanner": "foundry_dataset", "fingerprint": "8316ce548d55517e40650755e980755f840428a2080475f6a440a671081cff77", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#194", "issue_number": "194", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b5e5a711599fe40c", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#194\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#194\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#194\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 194\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-a4cf7156bc27a318", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460141, "scanner": "foundry_dataset", "fingerprint": "dcc63116b0683459c6ffcc69d3ecf2a666c3d1d7de39d74e09543dae532bcb2c", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#192", "issue_number": "192", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-415443fdbd6e1442", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#192\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#192\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#192\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 192\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-0ed6d2db0aa02542", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460140, "scanner": "foundry_dataset", "fingerprint": "ab78f65100eab4f94d88bc6ca3ad4d206c0c6eb6cd7650239c5e5857cb06e44e", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#165", "issue_number": "165", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-64b3b749bc975a52", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#165\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#165\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#165\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 165\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-ec951a0239506bf8", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460139, "scanner": "foundry_dataset", "fingerprint": "f5b174d911951df37f16e9e2b2640b89b4bdb0e2b23e47ef64af3c032411e945", "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": 5, "test_ci_gap": 1, "mock_placeholder": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#164", "issue_number": "164", "quality_tiers": {"high_confidence": 4, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-8436febcd7349a1f", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#164\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#164\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#164\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 164\nGraph consistency label: supported_by_verification_signal\nNodes: 24\nEdges: 30\nNode types: {'commit': 9, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 5, 'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 4, 'human_reported_issue_then_verified_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_ci_gap': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-efd26774d5df01c2", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460138, "scanner": "foundry_dataset", "fingerprint": "7c3cf73422ccd364aa54aadeeeb19d3bfdee51be2fc0cf4e899da68e51c1f1ac", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#163", "issue_number": "163", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-517b1eec8cdbcc4c", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#163\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#163\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#163\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 163\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-c35d2d4a92e882f0", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460137, "scanner": "foundry_dataset", "fingerprint": "cb8f60ed2d5582ad83bbbc0041c6627e24d3f41084039fdf2018158a471f5923", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#160", "issue_number": "160", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-ae3f36d84de1a54b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#160\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#160\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#160\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 160\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-4a67befd157a2aac", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460136, "scanner": "foundry_dataset", "fingerprint": "5e4505b839b2fcd3dbc6a1d175f00d3d79b50ed215eb4efd0ff5354edcb16e19", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_or_ci": 3, "test_ci_gap": 1, "api_or_backend": 1, "ui_or_frontend": 6, "agent_instruction_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 65, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 10, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 10, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 20, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 30, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 10, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#14", "issue_number": "14", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-87e5288ae5c77818", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 15, "api_or_backend": 5, "ui_or_frontend": 30}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#14\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#14\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#14\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 14\nGraph consistency label: supported_by_verification_signal\nNodes: 30\nEdges: 65\nNode types: {'pr_file': 10, 'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 20, 'thread_touches_file': 10, 'issue_chain_touches_file': 10, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 6, 'verification_or_tests': 4, 'test_or_ci': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'agent_instruction_gap': 1, 'api_or_backend': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-e49f211c984b64aa", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460135, "scanner": "foundry_dataset", "fingerprint": "27a773641dcdef22e9e6c44066bd99e2f784c57fc77762c5a20650283e0c7ec0", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 2, "verification_or_tests": 7, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 33, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#119", "issue_number": "119", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d8ad1df4e5857410", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#119\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#119\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#119\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 119\nGraph consistency label: weak_supervision_needs_review\nNodes: 24\nEdges: 33\nNode types: {'commit': 7, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 9, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 7, 'ambiguous_needs_more_evidence': 4, 'test_ci_gap': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-28dc1cf06797630e", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 460134, "scanner": "foundry_dataset", "fingerprint": "cda584a75d5ebcda5febe21578b915b0f6c1dc6ce4c8242ffe62ca3db1804954", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#118", "issue_number": "118", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c18b627873a2fd2c", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#118\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#118\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#118\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 118\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-6dcbafbf783fd0f8", "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": "quintonmiller/tailored-ai", "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: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453726, "scanner": "foundry_dataset", "fingerprint": "bfaf9fd062c6696cecd9bf7c5daa29e76b0e6204b015f4313f037c2aaef34076", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "mock_placeholder": 1, "verification_or_tests": 6, "human_feedback_general": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 5, "human_reported_issue_then_verified_fix_attempt": 3}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 10}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 54, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 8, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 20, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 31, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 4, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#66", "issue_number": "66", "quality_tiers": {"high_confidence": 6, "assumption_check": 2}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-1d3a4892294739cc", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#66\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#66\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#66\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 66\nGraph consistency label: supported_by_verification_signal\nNodes: 31\nEdges: 54\nNode types: {'commit': 8, 'link_quality': 8, 'comment': 4, 'comment_chain': 4, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 20, 'chain_has_link_quality': 8, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 6, 'claimed_resolved_with_verification_signal': 5, 'human_reported_issue_then_verified_fix_attempt': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 6, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-48edc165eec57274", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453725, "scanner": "foundry_dataset", "fingerprint": "aa1117dfb26a4e3808c848e28c9fc74a061201b74e181e3c547cea9216f04abf", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#38", "issue_number": "38", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-a727562294c653de", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#38\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#38\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#38\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 38\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-14f2acfd7ebf3e85", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453724, "scanner": "foundry_dataset", "fingerprint": "a71171422c422ded957415476f39236e66143dd996c6969ef2df52c4c9537418", "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": 10, "api_or_backend": 3, "docs_or_claims": 2, "schema_or_data": 1, "ui_or_frontend": 23, "verification_or_tests": 4, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 83, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 39, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 56, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 39, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#261", "issue_number": "261", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b5ae21ba7562987e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 40, "api_or_backend": 12, "docs_or_claims": 8, "schema_or_data": 4, "ui_or_frontend": 92}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#261\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#261\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#261\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 261\nGraph consistency label: supported_by_verification_signal\nNodes: 56\nEdges: 83\nNode types: {'pr_file': 39, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 39, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 23, 'test_or_ci': 10, 'verification_or_tests': 4, 'api_or_backend': 3, 'claimed_resolved_with_verification_signal': 3, 'docs_or_claims': 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_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-b656e4e8a81bf7fd", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453723, "scanner": "foundry_dataset", "fingerprint": "c9c3aa016a6737239930b3d8ecf4a23ba5cbb889dc8aaf6c9e373617d55c3245", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"test_or_ci": 6, "api_or_backend": 1, "docs_or_claims": 5, "ui_or_frontend": 14, "source_or_other": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 71, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 27, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 44, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 27, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#241", "issue_number": "241", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-30cab4a3883c19e3", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 24, "api_or_backend": 4, "docs_or_claims": 20, "ui_or_frontend": 56, "source_or_other": 4}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#241\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#241\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#241\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 241\nGraph consistency label: supported_by_high_confidence_link\nNodes: 44\nEdges: 71\nNode types: {'pr_file': 27, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 27, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 14, 'test_or_ci': 6, 'docs_or_claims': 5, 'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'source_or_other': 1, 'api_or_backend': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-6bb345b2ec7f4bd9", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453722, "scanner": "foundry_dataset", "fingerprint": "4626b25f9e34ca07e8fd753413906799b3d8def552ef5ae91f73fbbd6026efb9", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#236", "issue_number": "236", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-cd35d6a3f65e0ed3", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#236\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#236\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#236\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 236\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-2bbd1ea0931d5b2b", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453721, "scanner": "foundry_dataset", "fingerprint": "6e7b86f57fa9d34300389d3c92f61a18045d52cffd3a21548802fd097713f189", "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, "verification_or_tests": 4, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#225", "issue_number": "225", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-d52a99ee15e6a744", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#225\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#225\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#225\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 225\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-3371abaa511f2cd1", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453720, "scanner": "foundry_dataset", "fingerprint": "82fb9e12bd75ee96b2efa290ebea42821853710d06aecd65d1f7aba1f77cd097", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#211", "issue_number": "211", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-e9f0396a64e3f306", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#211\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#211\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#211\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 211\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-2bed57c239e21be3", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453719, "scanner": "foundry_dataset", "fingerprint": "99af2072736c9669ae32d1402196023a68f1aab4cc7c3827d19e04933acee206", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 3, "verification_or_tests": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#191", "issue_number": "191", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-e9128d0d7023e463", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#191\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#191\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#191\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 191\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-ec6f857dfe00dcd2", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453718, "scanner": "foundry_dataset", "fingerprint": "eee447ad758a620aa495c832f9ebb4c833f7586f440320fbe3572b5766b7248a", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 3, "verification_or_tests": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#189", "issue_number": "189", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-58063ea276ca661e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#189\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#189\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#189\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 189\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-5e39be2b7b3306f2", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453717, "scanner": "foundry_dataset", "fingerprint": "f40852543589cf243957be722043363c88e6d67c4b9c9f6b558cf4f6040f90d5", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 2, "verification_or_tests": 3, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#186", "issue_number": "186", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-f02019687d63e676", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#186\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#186\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#186\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 186\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-861ed7acc48ceea3", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453716, "scanner": "foundry_dataset", "fingerprint": "f821ec074508b0983c1cd9de01ea71616335361d99ac5675cb37bcb4478b412a", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 3, "verification_or_tests": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#184", "issue_number": "184", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-5a05559e785f5d23", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#184\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#184\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#184\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 184\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-bf60d18a369b2a4e", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453715, "scanner": "foundry_dataset", "fingerprint": "b7629e9ba3afe1d5cff2d71e0c7b0f094c7d8ce74d538b7bb2541a4e1f08a694", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 2, "verification_or_tests": 3, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#175", "issue_number": "175", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-00aae015e3f094df", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#175\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#175\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#175\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 175\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-e827bbe30cf18516", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453714, "scanner": "foundry_dataset", "fingerprint": "0614078ece0e2acba0d6f3670c17f627fafcebccfb49245139ad2597add2ab25", "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, "generated_provenance": 1, "verification_or_tests": 3, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#17", "issue_number": "17", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-1003d020fc2861b9", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#17\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#17\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#17\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 17\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'generated_provenance': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-e6aa1fe6028762aa", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 453713, "scanner": "foundry_dataset", "fingerprint": "09b8e6ad0471523b64002811896c8c04c988faabbca9d2a110eebe0398df429f", "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": {"agent_instruction_gap": 1, "verification_or_tests": 5, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#12", "issue_number": "12", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-d81af4e2de9490f0", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#12\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#12\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#12\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 12\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'agent_instruction_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-32ee38685810203a", "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": "quintonmiller/tailored-ai", "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: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 450694, "scanner": "foundry_dataset", "fingerprint": "f9d44b9b6ecef2be6af1acdfaef00913464a50f0bb0d626ffa48f779c660e27a", "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, "test_ci_gap": 1, "api_or_backend": 4, "docs_or_claims": 22, "dependency_or_build": 11, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "docs_only_runtime_fix", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "docs_only_runtime_fix", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 80, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 36, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 53, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 36, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#260", "issue_number": "260", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-9f492fd603133628", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 16, "docs_or_claims": 88, "dependency_or_build": 40}}, "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: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#260\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: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#260\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#260\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 260\nGraph consistency label: supported_by_verification_signal\nNodes: 53\nEdges: 80\nNode types: {'pr_file': 36, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 36, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'docs_or_claims': 22, 'dependency_or_build': 11, 'api_or_backend': 4, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 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/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-fa6829407cd67a96", "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": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/docs_only_runtime_fix", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 444556, "scanner": "foundry_dataset", "fingerprint": "9b8e2b9c334053c005487ec34fd0f6f0ee174e8ea0c04c98c1056d000b8f49f7", "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": "quintonmiller/tailored-ai#79", "human_labels": ["agent_instruction_gap"], "issue_number": "79", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-837397cd685b3087", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#79\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#79\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-14558576c3b36f6c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/79#issuecomment-4662961485\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/79#issuecomment-4662961485\\nTitle: \\nBody:\\n#99 (MCP dynamic tool source plugin) is the reference implementation that proves this contract. Once the `ToolSource` interface here is stable, #99 should be threaded in as a sub-issue \u2014 it's the concrete validation that the contract is actually implementable.\\n\\n---\\n_Generated by [Claude Code](https://claude.ai/code)_\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-cb2566fc0a5846ad\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 5}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-bad_chains-86c213a11c62beb3", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 444555, "scanner": "foundry_dataset", "fingerprint": "ebe0e9197f7fef08be73684ba435712f8c5935f89f9fa5b726f564b2dfd78bd5", "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": "quintonmiller/tailored-ai#74", "human_labels": ["agent_instruction_gap", "mock_placeholder"], "issue_number": "74", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-196e03b4eee08b06", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#74\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#74\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'agent_instruction_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7d3bdfebda5a6e37\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/74#issuecomment-4655164730\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/74#issuecomment-4655164730\\nTitle: \\nBody:\\n## Status \u2014 event bus is now substantially built (platform-vision Slices 1\u20133)\\n\\nThe design landed as `docs/platform-vision.md` (#130). The event-bus core of this issue is shipping in slices:\\n\\n- **Slice 1** \u2014 typed `AgentRuntime.events` bus + `PluginContext.events` subscription API. \u2705 #132\\n- **Slice 2** \u2014 task lifecycle emissions (`task.created` / `updated` / `transitioned` / `commented`) from the task path. \u2705 #134\\n- **Slice 3** \u2014 first consumers: four watcher responsibilities extracted into default plugins subscribing to `agent.completed` / `agent.stalled` / `agent.dispatched`. \u2705 #137, #138 (#139, #140 in review). Added the `agent.*` events plus `emitAsync` veto semantics for synchronous causality.\\n- **Slice 4** \u2014 backend contracts (RepoBackend / Notifier / ApprovalSurface): #143.\\n- **Slice 5** \u2014 plugin author docs: #135.\\n\\nWhy this issue stays **open**: only the task/agent lifecycle subset is emitted today. The broader hook surface listed here \u2014 tool before/af\"\n  },\n  {\n    \"id\": \"github-feedback-comment-dd112cdb0657cfb2\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/74#issuecomment-4662958023\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/74#issuecomment-4662958023\\nTitle: \\nBody:\\nNarrowing scope based on what's already landed: the typed event bus shipped in Slice 1 (#132) and task lifecycle events shipped in Slice 2 (#134\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-bad_chains-fe0b22f8e535d78b", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 444554, "scanner": "foundry_dataset", "fingerprint": "2d133fdd6ae5a0f3c4dd3143dc97678b670f8d8e059648c07177bf797924be77", "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": "quintonmiller/tailored-ai#35", "human_labels": ["build_install_failure", "mock_placeholder"], "issue_number": "35", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a21f1eb8610f449e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#35\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#35\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'build_install_failure': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b7898f9986c65d0b\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/35#issuecomment-4595697690\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/35#issuecomment-4595697690\\nTitle: \\nBody:\\nNow stacked on **PR #42** (channel\u2192core boundary cleanup, closes #36 + #38). That PR landed the ProjectRef type + \\\\`runtime.getProjectByName\\\\` + \\\\`runtime.findOrCreateSession\\\\` helpers that surfaced as smells while writing this reference impl.\\n\\nThe new commit on this branch (\\\\`07fe14d\\\\`) adopts them in the Slack channel:\\n\\n- imports \\\\`ProjectRef\\\\` instead of \\\\`ProjectContext\\\\` \u2014 no more placeholder \\\\`overlayPath: \\\\\\\"\\\\\\\"\\\\` / \\\\`overlay: {}\\\\`\\n- \\\\`runtime.getProjectByName(mapped)\\\\` replaces \\\\`getProject(this.runtime.db, mapped)\\\\`\\n- \\\\`runtime.findOrCreateSession({ key, project })\\\\` replaces the 5-arg \\\\`findOrCreateSession(this.runtime.db, ...)\\\\` call\\n\\nNet: \u221227 / +8 LOC. Zero direct \\\\`runtime.db\\\\` access from \\\\`@tailored-ai/channel-slack\\\\`; no need to import session / project query helpers from core. The package's public surface is unchanged.\\n\\nMerge order: #42 first, then this. The current 2559/-55 diff includes the #42 changes; once #42 merges, the diff against \\\\`main\\\\\"\n  },\n  {\n    \"id\": \"github-feedback-comment-06d96fd1f2b92673\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"build_install_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/35#issuecomment-4596367941\",\n    \"text\": \"GitHub feedback: build_install_failure\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/35#issuecomment-4596367941\\nTitle: \\nBody:\\nCaught a UX gap in the README \u2014 original \\\\`pnpm add\\\\` line assumed you'd be working inside a workspace, which doesn'\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-bad_chains-39b43d1249629a24", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 444553, "scanner": "foundry_dataset", "fingerprint": "926301c9d44ea27a898746ac6ff00458deb1ee8220672d986c753a33b01b5581", "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": "quintonmiller/tailored-ai#24", "human_labels": ["agent_instruction_gap"], "issue_number": "24", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-f8d50d4da40618c7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#24\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#24\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c506d4d2b0f15b4a\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/24#issuecomment-4662960207\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/24#issuecomment-4662960207\\nTitle: \\nBody:\\nNote for readers: the \\\"#8 / PRs #14\u2013#16\\\" references in this issue are from an earlier issue-numbering era and no longer point to the right items in today's tracker. Don't use those inline numbers for navigation.\\n\\n---\\n_Generated by [Claude Code](https://claude.ai/code)_\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b3980141b2bb7241\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 5}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-bad_chains-44a9b4fbf4470bee", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 444552, "scanner": "foundry_dataset", "fingerprint": "95ff5bca5be01283bb60c6411dd1b4df5121b809314286f4606fcd2a3751a295", "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": "quintonmiller/tailored-ai#216", "human_labels": ["mock_placeholder"], "issue_number": "216", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.877, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-e0e25f073779a4b5", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#216\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: quintonmiller/tailored-ai#216\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ae060c2cbb82b022\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/216\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/216\\nTitle: fix(core): drop personal model name from DEFAULT_CONFIG\\nBody:\\n## What\\n\\n`DEFAULT_CONFIG` shipped `defaultModel: \\\"devstral-small-2:latest\\\"` \u2014 a personal model pick baked into the distributable defaults (and re-injected by the deprecated `providers.ollama` migration). Now:\\n\\n- `providers.openai_compatible.defaultModel` defaults to `\\\"\\\"` (the generic Ollama `baseUrl` stays \u2014 that's a neutral local-LLM default, the model name was the opinion)\\n- `validateConfig` warns when the active provider's `defaultModel` is empty, pointing at `tai init` model discovery or per-agent `model`\\n- the `providers.ollama` \u2192 `openai_compatible` migration no longer injects the model name\\n- CLI README example uses a placeholder with a \\\"any model your local server has pulled\\\" note\\n\\nFound in the final de-opinionation audit pass (finding 2/7).\\n\\n## Change classification\\n\\n**3 \u2192 removed from core** \u2014 personal config that had leaked into tier-1 defaults.\\n\\n## Testing\\n\\n- `pnpm run build` green\\n- core vitest: 1650 tests green\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-d52b4a7f92a5e55d\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-bad_chains-70838b05a453022e", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 444551, "scanner": "foundry_dataset", "fingerprint": "7f857e9b915b8ada7740cf07af31d84426996b8efdd635efed0263a846616e2e", "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": "quintonmiller/tailored-ai#199", "human_labels": ["mock_placeholder"], "issue_number": "199", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-ba4dd185e5a6a265", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#199\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#199\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d8d0bb879b12be81\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/199\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/199\\nTitle: feat: config-gated chat suggestion chips\\nBody:\\n## Stacked PR \u2014 read first\\n\\nThis is **stacked on #198** (`feat/briefing-surface`), which is stacked on #197.\\n\\n**Merge order: #197 \u2192 #198 \u2192 this PR.** CI on this PR runs meaningfully only once it's retargeted to `main` (its diff against `feat/briefing-surface` is just this slice). The full local suite stands in for CI in the meantime: `build`, `typecheck`, `test` (core 1545 / server 69 / all packages green), `guard:pre-v1` \u2713, and `biome check packages/` (0 errors, 204 warnings \u2014 identical to base, no new warnings).\\n\\n## Classification\\n\\n**New config-gated seam, disabled by default; bundled-UI consumption.** Same pattern as the briefing surface (`packages/core/src/briefing.ts`, `briefing:` block, `/api/briefing`). No cost or behavior change unless `suggestions.enabled`.\\n\\n## What it does\\n\\nThe Chat empty state used to be just \\\"Send a message to start a conversation.\\\" When enabled, the server runs ONE LLM completion over the same compact, data-onl\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-bef9bfb3301e7099\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: quintonmiller/tailored-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 5, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-bad_chains-a114e635c317e31c", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 444550, "scanner": "foundry_dataset", "fingerprint": "f5dba6fd8f70afeab2f501951744ecf65084260e4e00fd95589546e1fed60bc8", "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": "quintonmiller/tailored-ai#154", "human_labels": ["api_or_backend", "dependency_or_build", "docs_or_claims", "mock_placeholder"], "issue_number": "154", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.725, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-31d8b0939560c3cc", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 62, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 7, "docs_or_claims": 46, "dependency_or_build": 9}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#154\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#154\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 62\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 46, 'api_or_backend': 7, 'dependency_or_build': 9}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-487c79ead2f8ca6e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/pull/154\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/pull/154\\nTitle: chore: version packages\\nBody:\\nThis PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.\\n\\n\\n# Releases\\n## @tailored-ai/channel-slack@0.1.8\\n\\n### Patch Changes\\n\\n- f240f5e: Plugin self-description and config validation: optional `meta` and `validateConfig` named exports on plugin modules, captured by the loader onto `LoadedPlugin`, surfaced via the new `GET /api/plugins` route and startup warnings. `tai plugin list` shows package descriptions. The builtin plugins, channel-slack, and google-tools ship reference `meta`/`validateConfig` implementations.\\n- Updated dependencies [c67120e]\\n- Updated dependencies [ecb0d69]\\n- Updated dependencies [a6e26a4]\\n- \"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-ffd87c342bc444e1\",\n    \"filename\": \".changeset/autopilot-outbound-registry.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"removed\",\n    \"additions\": 0,\n    \"deletions\": 19,\n    \"changes\": 19,\n    \"blob_url\": \"https://github.com/quintonmiller/tailored-ai/blob/c7591280481a2555d28766ffa2ab08ecaa3330f5/.changeset%2Fautopilot-outbound-registry.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-892973654376b083\",\n    \"filename\": \".changeset/bedrock-chatstream.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"removed\",\n    \"additions\": 0,\n    \"deletions\": 5,\n    \"ch\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-bad_chains-0a15a1130153563f", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 444549, "scanner": "foundry_dataset", "fingerprint": "ff73afd0140ba8dfed8679279a954f6c4ef96e231b2a1eadf1c8de19c75e08b8", "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": "quintonmiller/tailored-ai#13", "human_labels": ["agent_instruction_gap", "mock_placeholder"], "issue_number": "13", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-540cd4dfbdafd55a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 5}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#13\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: quintonmiller/tailored-ai#13\nRepo: quintonmiller/tailored-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'agent_instruction_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2e560a6b4ee5cb6d\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/13\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/13\\nTitle: Memory backend Phase 3: route tools + server routes through the backend\\nBody:\\nPart of #8. Design: [\\\\`docs/memory-storage-registry.md\\\\`](../blob/main/docs/memory-storage-registry.md). Builds on Phase 2.\\n\\n## Scope\\n\\nSwitch the leaf tools and server routes from \\\\`db/*-queries.ts\\\\` to the registry-resolved backend:\\n\\n- \\\\`packages/core/src/tools/facts.ts\\\\` \u2014 compose \\\\`write({ structured: { category, entity, key } }, { kind: \\\\\\\"fact\\\\\\\" })\\\\` and \\\\`query({ wantStructured: ... })\\\\` over the backend.\\n- \\\\`packages/core/src/tools/recall.ts\\\\` \u2014 recall actions go through \\\\`backend.query/write/delete\\\\`.\\n- \\\\`packages/core/src/tools/core-memory.ts\\\\` \u2014 read via \\\\`backend.query({ wantStructured: { section } })\\\\`, mutate text client-side, \\\\`backend.write({ kind: \\\\\\\"prelude\\\\\\\", supersedes: priorId })\\\\`.\\n- \\\\`packages/server/src/index.ts\\\\` \u2014 \\\\`/api/memory/notes\\\\`, \\\\`/api/memory/recall\\\\`, \\\\`/api/memory/stats\\\\`, \\\\`/api/memory/sweep\\\\`, \\\\`/api/facts*\\\\` route through \\\\`runtime.getMemoryBackend()\\\\`. Capability-gate inspection \"\n  },\n  {\n    \"id\": \"github-feedback-comment-bdb3e2e0d68f2e37\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/quintonmiller/tailored-ai/issues/13#issuecomment-4703754539\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: quintonmiller/tailored-ai\\nAuthor: quintonmiller (User)\\nURL: https://github.com/quintonmiller/tailored-ai/issues/13#issuecomment-4703754539\\nTitle: \\nBody:\\n[agent: agent] Moved to tai project \u2014 renderer code lives in packages/ui/ and packages/core/ (autonomous-agent repo).\"\n  }\n]\nChange\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "comment-chain-pattern-bad_chains-9e555a54fe7f9898", "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": "quintonmiller/tailored-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456178, "scanner": "foundry_dataset", "fingerprint": "2a28264e0bfd78603133557d5f82f02520abb28e74cef12730218bbea192b9a9", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 2, "dependency_or_build": 1, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 14, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#245", "issue_number": "245", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-75ac5a0dd1ac4267", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#245\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#245\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#245\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 245\nGraph consistency label: weak_supervision_needs_review\nNodes: 12\nEdges: 14\nNode types: {'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 3, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1, 'dependency_or_build': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-9d04e86440a48e55", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456177, "scanner": "foundry_dataset", "fingerprint": "b788f45527e1ebec14f4ff094474da97ba13395e223aaa2fb0ff314a77babde9", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 3, "dependency_or_build": 2, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#244", "issue_number": "244", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-bead84465c1ce1c2", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#244\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#244\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#244\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 244\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'dependency_or_build': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-8532160183b9990b", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456176, "scanner": "foundry_dataset", "fingerprint": "c283fa14fa92aa42267b797635a1e4630b8879659a22d8fbf97fc09820c0c063", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 2, "dependency_or_build": 2, "security_auth_secret": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#238", "issue_number": "238", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-5203b8ead07e371b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#238\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#238\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#238\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 238\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'dependency_or_build': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-5fdbcd787ac5109a", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456175, "scanner": "foundry_dataset", "fingerprint": "34ed3704a5faefd472fcfbacef9e724b380722f4ea39e97e23b439a250545b88", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 3, "dependency_or_build": 2, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#235", "issue_number": "235", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-5468e7c41b7fe4bb", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#235\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#235\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#235\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 235\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'dependency_or_build': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-42b8481df273753f", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456174, "scanner": "foundry_dataset", "fingerprint": "522dfe53671f5ac996a548609cfef3bf86ec14fc8c4979464b622d1dd5161329", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 2, "security_auth_secret": 1, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#234", "issue_number": "234", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-59d2e48d0d63a417", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#234\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#234\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#234\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 234\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-71c07db32794d0a7", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456173, "scanner": "foundry_dataset", "fingerprint": "8636dfcc739d7cbb69ab4d193787987d0924f265f4dff366a48d98b32f513dbc", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 3, "dependency_or_build": 2, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#232", "issue_number": "232", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-90ed408653edce4c", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#232\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#232\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#232\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 232\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'dependency_or_build': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-e69186469eb3c9b1", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456172, "scanner": "foundry_dataset", "fingerprint": "90302701f5dfb3085b6514546b3afa79b196aeeef20016fa59d89d98d1c26acd", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 2, "dependency_or_build": 2, "security_auth_secret": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#228", "issue_number": "228", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-f05db9f045cae454", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#228\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#228\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#228\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 228\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'dependency_or_build': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-121541af46206f1c", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456171, "scanner": "foundry_dataset", "fingerprint": "e825bc30e54de88dac0268e28bb75e129a2a0f856380dc4b6cb32a2111e65b89", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 2, "dependency_or_build": 2, "security_auth_secret": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#223", "issue_number": "223", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-4c978efa073deb57", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#223\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#223\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#223\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 223\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'dependency_or_build': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-13596f21630df97d", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456170, "scanner": "foundry_dataset", "fingerprint": "0c5e72659d86f6fdd2c91ed42e7152f6c71e0eac928e2c72e1afe1efc1ddbbf8", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 3, "dependency_or_build": 2, "security_auth_secret": 1, "verification_or_tests": 3, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#213", "issue_number": "213", "quality_tiers": {"high_confidence": 4}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-02aa61663f443e3d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#213\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#213\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#213\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 213\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 25\nNode types: {'commit': 8, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 9, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'dependency_or_build': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_feedback_general': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 4}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-afab892c1230d1be", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456169, "scanner": "foundry_dataset", "fingerprint": "6c7c10dfb0002c4719889393c2e1bab0dab1a5562529fd0d40f43dd6aa492a86", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 3, "dependency_or_build": 1, "security_auth_secret": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#206", "issue_number": "206", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-4a072baedb28e83b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#206\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#206\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#206\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 206\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'dependency_or_build': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-4571e3df68f78f96", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456168, "scanner": "foundry_dataset", "fingerprint": "e096b38d39ea08b3abdba44bfd3bdb83ed006ef5ec99ac1076912ebd26f6499f", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 4, "dependency_or_build": 1, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#197", "issue_number": "197", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b35dd715bfaa2ffb", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#197\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#197\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#197\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 197\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1, 'dependency_or_build': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-8e191429385d21b0", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456167, "scanner": "foundry_dataset", "fingerprint": "cd57c460107135cd39e0b9d5204b0a9cb3214b013109bb66fb82976ec717a650", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 4, "dependency_or_build": 1, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#188", "issue_number": "188", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-fe95fff8ab48db00", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#188\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#188\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#188\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 188\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1, 'dependency_or_build': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-20ecea2981e9147b", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456166, "scanner": "foundry_dataset", "fingerprint": "3d1dd7b000e959dfdd0d5183868e8f1fb99cc54ab6f583fe0a342610de355199", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 5, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#187", "issue_number": "187", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-73a0a8bfc00df75f", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#187\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#187\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#187\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 187\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-5ff6cded94a54330", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456165, "scanner": "foundry_dataset", "fingerprint": "26f0674b7188bc2dde9b226f9f794974b987712f9bb6e98cbbd7f64feac8161a", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 5, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#185", "issue_number": "185", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-928dbd3f817c63d5", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#185\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#185\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#185\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 185\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-6aa57d982dadd886", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456164, "scanner": "foundry_dataset", "fingerprint": "429fa63f5c22e1627e84c543be8e38142fe43d7b1f32321460e281f1fd66e172", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 5, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#183", "issue_number": "183", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-bd232a3baf3adcb2", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#183\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#183\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#183\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 183\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-0b3cec8bf6ab2186", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 456163, "scanner": "foundry_dataset", "fingerprint": "d778bcfcaef4485878da17c5c5c4224c6d7d939c72bb975fcbff2bdf226420c0", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 3, "api_integration_gap": 1, "generated_provenance": 1, "security_auth_secret": 1, "agent_instruction_gap": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 2, "not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 26, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#107", "issue_number": "107", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-72f2f47c35bdd20b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#107\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#107\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#107\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 107\nGraph consistency label: supported_by_verification_signal\nNodes: 26\nEdges: 34\nNode types: {'commit': 8, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 9, 'chain_has_link_quality': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'agent_instruction_gap': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1, 'claimed_resolved_unverified': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-fad9aaab69fee1f1", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 451923, "scanner": "foundry_dataset", "fingerprint": "87e5a37f08d249d07c2079945f9b83aa34a0a838bbe015c89b4b9edb61a642fd", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 6, "mock_placeholder": 1, "agent_instruction_gap": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 8}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#74", "issue_number": "74", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-8f3fc700cfa6723f", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#74\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#74\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#74\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 74\nGraph consistency label: weak_supervision_needs_review\nNodes: 18\nEdges: 26\nNode types: {'commit': 6, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 6, 'claimed_resolved_unverified': 4, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'agent_instruction_gap': 1}\nOutcomes: {'claimed_resolved_unverified': 8}\nQuality tiers: {'weak_supervision': 4}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-d86e987d6b54dcea", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 451922, "scanner": "foundry_dataset", "fingerprint": "575aa706f6b1070aeb7b62766221245f215ed52e680dd2ca19df447a0c7a8235", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "mock_placeholder": 1, "verification_or_tests": 6, "human_feedback_general": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 5, "human_reported_issue_then_verified_fix_attempt": 3}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 10}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 54, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 8, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 20, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 31, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 4, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#66", "issue_number": "66", "quality_tiers": {"high_confidence": 6, "assumption_check": 2}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-65280690e66b205f", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#66\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#66\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#66\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 66\nGraph consistency label: supported_by_verification_signal\nNodes: 31\nEdges: 54\nNode types: {'commit': 8, 'link_quality': 8, 'comment': 4, 'comment_chain': 4, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 20, 'chain_has_link_quality': 8, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 6, 'claimed_resolved_with_verification_signal': 5, 'human_reported_issue_then_verified_fix_attempt': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 6, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-cdab62988c28d13b", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 451921, "scanner": "foundry_dataset", "fingerprint": "2d7098b72582deabb77636a9eb09fe165a4be16715a202898c7e4ab8de8c4f5a", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 5, "mock_placeholder": 1, "build_install_failure": 1, "verification_or_tests": 5, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 10, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#35", "issue_number": "35", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-3f2b5d5e5893d2f6", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#35\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#35\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#35\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 35\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 26\nNode types: {'commit': 10, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'verification_or_tests': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'build_install_failure': 1, 'human_reported_issue_then_fix_attempt': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 4}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-4646fbac191bbbca", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 451920, "scanner": "foundry_dataset", "fingerprint": "f24f1046901e5c40e9bcee4c8433e09a9598ecd443188a24b753ba2c0bda44f8", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "mock_placeholder": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 15, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#226", "issue_number": "226", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-48fe8a336110c716", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#226\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#226\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#226\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 226\nGraph consistency label: supported_by_verification_signal\nNodes: 13\nEdges: 15\nNode types: {'commit': 4, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 4, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-6b438c1e85100698", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 451919, "scanner": "foundry_dataset", "fingerprint": "1f90d561599a7c15fe9750594512d73f069e28c1474e93999407522a8d4f5753", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "mock_placeholder": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 14, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#216", "issue_number": "216", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-368e796a0839ed6a", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#216\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#216\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#216\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 216\nGraph consistency label: supported_by_high_confidence_link\nNodes: 12\nEdges: 14\nNode types: {'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 3, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-e9953310cbf4b6ae", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 451918, "scanner": "foundry_dataset", "fingerprint": "5c59652c795095df08faf78bdf2e9feb0046368b72bb18bc3f000a73f2d96c8c", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "mock_placeholder": 1, "verification_or_tests": 3, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 19, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#200", "issue_number": "200", "quality_tiers": {"high_confidence": 4}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-741e1a7fecb881e5", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#200\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#200\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#200\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 200\nGraph consistency label: supported_by_verification_signal\nNodes: 19\nEdges: 24\nNode types: {'commit': 7, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 8, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 4}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-8999495ef008c6ba", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 451917, "scanner": "foundry_dataset", "fingerprint": "e3f33eeabbbaa60660db2c3e57ac11573fcd9ed4c868624a478ad861efc1ffde", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 5, "mock_placeholder": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#199", "issue_number": "199", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d6de4541c6b06c52", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#199\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#199\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#199\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 199\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-f30e5b1ac31c363f", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 451916, "scanner": "foundry_dataset", "fingerprint": "2b7e58a5e6e8869c740cc635362c2ccc589e8dd6c5350d15932fa3ebf8e0b09f", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "mock_placeholder": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#193", "issue_number": "193", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-0cfe004a05c4590c", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#193\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#193\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#193\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 193\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-5d5a86ddc4769ac0", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 451915, "scanner": "foundry_dataset", "fingerprint": "7e5701320267375a1e3678a33171b3ccc6e9650ad9c4ed98d92a1aedb67757e6", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 5, "test_ci_gap": 1, "mock_placeholder": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#164", "issue_number": "164", "quality_tiers": {"high_confidence": 4, "assumption_check": 1}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f4c4efd54cddaf8b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#164\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#164\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#164\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 164\nGraph consistency label: supported_by_verification_signal\nNodes: 24\nEdges: 30\nNode types: {'commit': 9, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 5, 'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 4, 'human_reported_issue_then_verified_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_ci_gap': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-0a086e7fbe2960d1", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 451914, "scanner": "foundry_dataset", "fingerprint": "ead38c495f4d5c0b9051dbfc6ee4ea48ede173777e1997a4fd77709a389326ae", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "api_or_backend": 7, "docs_or_claims": 46, "mock_placeholder": 1, "dependency_or_build": 9, "generated_provenance": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 102, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 62, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 76, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 62, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#154", "issue_number": "154", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-5a2362f4b54200a2", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"api_or_backend": 28, "docs_or_claims": 184, "dependency_or_build": 36}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#154\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#154\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#154\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 154\nGraph consistency label: weak_supervision_needs_review\nNodes: 76\nEdges: 102\nNode types: {'pr_file': 62, 'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 62, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'docs_or_claims': 46, 'dependency_or_build': 9, 'api_or_backend': 7, 'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-1be824673ba6c9fc", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: quintonmiller/tailored-ai"}, "properties": {"repobilityId": 451913, "scanner": "foundry_dataset", "fingerprint": "ccc5fb01194a78a77d06fcad63c880b4fc8a587a4b8ba9f99a7b0b54bce95c98", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 5, "mock_placeholder": 1, "agent_instruction_gap": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 21, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "quintonmiller/tailored-ai#13", "issue_number": "13", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "quintonmiller/tailored-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-311392e123dd47b9", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#13\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: quintonmiller/tailored-ai\nThread: quintonmiller/tailored-ai#13\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: quintonmiller/tailored-ai#13\nRepo: quintonmiller/tailored-ai\nIssue/PR number: 13\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 21\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'agent_instruction_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/quintonmiller/tailored-ai", "source_id": "graph-query-motif_query-3fdc0d0889e2b5a7", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "quintonmiller/tailored-ai", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-1fcdf357eef3f941", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/channel-slack/src/channel.ts:120"}, "properties": {"repobilityId": "8252eee81e69a863", "scanner": "scanner-primary", "fingerprint": "1fcdf357eef3f941", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e9a308e68b25abb9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/integration-tests/fixtures/plugin-echo-tool/index.js:11"}, "properties": {"repobilityId": "6ad47447a0d8c787", "scanner": "scanner-primary", "fingerprint": "e9a308e68b25abb9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-95484b490ef6e030", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/chips.tsx:56"}, "properties": {"repobilityId": "b6c860e536ca0eb4", "scanner": "scanner-primary", "fingerprint": "95484b490ef6e030", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-0732d91425de41d6", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/widgets.tsx:238"}, "properties": {"repobilityId": "9810781e31e37d22", "scanner": "scanner-primary", "fingerprint": "0732d91425de41d6", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-eec45e7b6b689ee3", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/BriefingCard.tsx:84"}, "properties": {"repobilityId": "3ee93f59d68171e6", "scanner": "scanner-primary", "fingerprint": "eec45e7b6b689ee3", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-10f01d9a5940df2b", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/DocumentViewer.tsx:166"}, "properties": {"repobilityId": "3561142dad24a66a", "scanner": "scanner-primary", "fingerprint": "10f01d9a5940df2b", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-226214829f492c5c", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 packages/ui/src/components/ResourcePicker.tsx:37"}, "properties": {"repobilityId": "84e9c55735de8792", "scanner": "scanner-primary", "fingerprint": "226214829f492c5c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-c1c227cac98b9700", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/pages/Dashboard.tsx:170"}, "properties": {"repobilityId": "dfa0fce5e54130f8", "scanner": "scanner-primary", "fingerprint": "c1c227cac98b9700", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-0eba9f2fb6e184c0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/index.ts:327"}, "properties": {"repobilityId": "7d672af1a16d6a76", "scanner": "scanner-primary", "fingerprint": "0eba9f2fb6e184c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c11e8d321495ca73", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/outbound-sync.ts:36"}, "properties": {"repobilityId": "e563aeb9c5275387", "scanner": "scanner-primary", "fingerprint": "c11e8d321495ca73", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2f51569f96969cd3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/setup.ts:430"}, "properties": {"repobilityId": "fa74e2b7f1cb2648", "scanner": "scanner-primary", "fingerprint": "2f51569f96969cd3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-645cb1f38298f064", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/project.ts:106"}, "properties": {"repobilityId": "526efcf57c234f3d", "scanner": "scanner-primary", "fingerprint": "645cb1f38298f064", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-66f0e17468f2ec95", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/plugin.ts:35"}, "properties": {"repobilityId": "7d4220eb67fb97ec", "scanner": "scanner-primary", "fingerprint": "66f0e17468f2ec95", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-34993832232a062f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/resources.ts:87"}, "properties": {"repobilityId": "1b9d4f9a2f96719e", "scanner": "scanner-primary", "fingerprint": "34993832232a062f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-72ff9e418bebb101", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/vault.ts:47"}, "properties": {"repobilityId": "6008bc7b3d0a1382", "scanner": "scanner-primary", "fingerprint": "72ff9e418bebb101", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-446bc0c84cf2cdc7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/pwa/app.js:378"}, "properties": {"repobilityId": "83764155b47fda28", "scanner": "scanner-primary", "fingerprint": "446bc0c84cf2cdc7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f6bbfe253845177d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/plugin.ts:189"}, "properties": {"repobilityId": "089d215cc9c6d4a2", "scanner": "scanner-primary", "fingerprint": "f6bbfe253845177d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-80414f12bb1d3f90", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/server.ts:1274"}, "properties": {"repobilityId": "e1fb573eecc09d11", "scanner": "scanner-primary", "fingerprint": "80414f12bb1d3f90", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e5fd4c5944c52d8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/setup-vapid.ts:15"}, "properties": {"repobilityId": "b86c522fbd5c9d64", "scanner": "scanner-primary", "fingerprint": "4e5fd4c5944c52d8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4b3f6f426c10ed8f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/setup-amazon-password.ts:35"}, "properties": {"repobilityId": "f5e449cddd50d248", "scanner": "scanner-primary", "fingerprint": "4b3f6f426c10ed8f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-02c037ad8a85cddd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/setup-amazon.ts:23"}, "properties": {"repobilityId": "15b4c69bc7050f4b", "scanner": "scanner-primary", "fingerprint": "02c037ad8a85cddd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9974f6a29e2177ac", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/bin.ts:64"}, "properties": {"repobilityId": "f85d4664d4689bea", "scanner": "scanner-primary", "fingerprint": "9974f6a29e2177ac", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-775d734733ca7ebe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/trusted-actions/src/cli/test-purchase.ts:62"}, "properties": {"repobilityId": "aaa93a1eb87cf56b", "scanner": "scanner-primary", "fingerprint": "775d734733ca7ebe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8c564fb659f12c96", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/server/src/index.ts:2502"}, "properties": {"repobilityId": "ac04c2b36447664c", "scanner": "scanner-primary", "fingerprint": "8c564fb659f12c96", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-737000cc35fe5fe9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/context.ts:145"}, "properties": {"repobilityId": "7fcc1f7ff1873d8f", "scanner": "scanner-primary", "fingerprint": "737000cc35fe5fe9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b0c58c5e107392c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/runtime.ts:208"}, "properties": {"repobilityId": "1a1ded73974c099c", "scanner": "scanner-primary", "fingerprint": "b0c58c5e107392c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-35d72bb93f08c93e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins.ts:111"}, "properties": {"repobilityId": "38dd460d5d15d3c7", "scanner": "scanner-primary", "fingerprint": "35d72bb93f08c93e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b44fa92396369eb0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/external-agents.ts:56"}, "properties": {"repobilityId": "f9b013589e45280f", "scanner": "scanner-primary", "fingerprint": "b44fa92396369eb0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f4c8daf864759c96", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/task-watcher.ts:71"}, "properties": {"repobilityId": "022c89388b6f88c1", "scanner": "scanner-primary", "fingerprint": "f4c8daf864759c96", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7570bfefab050ba3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/__tests__/command-allowlist.test.ts:81"}, "properties": {"repobilityId": "d107adc940fcfc30", "scanner": "scanner-primary", "fingerprint": "7570bfefab050ba3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-45e37c9be589abb9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/mcp/manager.ts:88"}, "properties": {"repobilityId": "2ead92714f6c7590", "scanner": "scanner-primary", "fingerprint": "45e37c9be589abb9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-44339e5f31434dd3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/autopilot/worker.ts:87"}, "properties": {"repobilityId": "be223ecbe883282e", "scanner": "scanner-primary", "fingerprint": "44339e5f31434dd3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e3dfb18b5a43fbcf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/agent/loop.ts:811"}, "properties": {"repobilityId": "7d5d08c8b9e56132", "scanner": "scanner-primary", "fingerprint": "e3dfb18b5a43fbcf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a6693b2c6edfa76b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/agent/hooks.ts:73"}, "properties": {"repobilityId": "f988698b54f76daa", "scanner": "scanner-primary", "fingerprint": "a6693b2c6edfa76b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e545c2b4ab83c4bd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/cron/scheduler.ts:47"}, "properties": {"repobilityId": "ff9825e3c60038d1", "scanner": "scanner-primary", "fingerprint": "e545c2b4ab83c4bd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d686ba1f901d981", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/registry.ts:131"}, "properties": {"repobilityId": "3aac304f2a779214", "scanner": "scanner-primary", "fingerprint": "0d686ba1f901d981", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-344ca50b4f777f41", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/form.ts:40"}, "properties": {"repobilityId": "79ed4271327265de", "scanner": "scanner-primary", "fingerprint": "344ca50b4f777f41", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7fd3683fac48c2d7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/shell.ts:49"}, "properties": {"repobilityId": "3f1d3653893341c0", "scanner": "scanner-primary", "fingerprint": "7fd3683fac48c2d7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46153862219f2cae", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/notify.ts:48"}, "properties": {"repobilityId": "bfa0ac5b257abd33", "scanner": "scanner-primary", "fingerprint": "46153862219f2cae", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-80c618fda2da79ea", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/channel-message.ts:51"}, "properties": {"repobilityId": "bc422cf996714b37", "scanner": "scanner-primary", "fingerprint": "80c618fda2da79ea", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-53129c519b55c29b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/worktree.ts:31"}, "properties": {"repobilityId": "86eedd2d4faf86f4", "scanner": "scanner-primary", "fingerprint": "53129c519b55c29b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-16583f2216661690", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/workflows/executors/http-request.ts:49"}, "properties": {"repobilityId": "b8675a6c335e265a", "scanner": "scanner-primary", "fingerprint": "16583f2216661690", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2af7d6757645c247", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/tools/admin.ts:287"}, "properties": {"repobilityId": "776b15ad3ab435f3", "scanner": "scanner-primary", "fingerprint": "2af7d6757645c247", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b184fccc31efa8e6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/channels/discord.ts:97"}, "properties": {"repobilityId": "d360adbfcefc327c", "scanner": "scanner-primary", "fingerprint": "b184fccc31efa8e6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5cd6028d5d88df84", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/exploratory/worker.ts:98"}, "properties": {"repobilityId": "815a1bc66c5c7db2", "scanner": "scanner-primary", "fingerprint": "5cd6028d5d88df84", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-08161dc1aa0f3826", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/scope-creep-flagger.ts:104"}, "properties": {"repobilityId": "6c26cff90a7f284e", "scanner": "scanner-primary", "fingerprint": "08161dc1aa0f3826", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5491e589ddd48d8d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/stall-guard.ts:73"}, "properties": {"repobilityId": "7a3b96c267b44963", "scanner": "scanner-primary", "fingerprint": "5491e589ddd48d8d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9b881a98c7ca2c96", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/owner-notifier.ts:65"}, "properties": {"repobilityId": "33a3b1a18a351560", "scanner": "scanner-primary", "fingerprint": "9b881a98c7ca2c96", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-862d56873d345062", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/agent-notifier.ts:57"}, "properties": {"repobilityId": "d4ddc280e614ea0d", "scanner": "scanner-primary", "fingerprint": "862d56873d345062", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a07f17d6a61232c7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/plugins/session-summarizer.ts:133"}, "properties": {"repobilityId": "116adaf18d44f14d", "scanner": "scanner-primary", "fingerprint": "a07f17d6a61232c7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-81512bf4001688af", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: mcr.microsoft.com/playwright:v1.58.2-jammy"}, "properties": {"repobilityId": "4e7feafb0581729b", "scanner": "scanner-primary", "fingerprint": "81512bf4001688af", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docker/trusted-actions/Dockerfile"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-81512bf4001688af", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: mcr.microsoft.com/playwright:v1.58.2-jammy"}, "properties": {"repobilityId": "1b560485a6e33b75", "scanner": "scanner-primary", "fingerprint": "81512bf4001688af", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docker/trusted-actions/Dockerfile"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-d17c518ac5f42898", "level": "warning", "message": {"text": "Dockerfile runs as root: docker/coder/Dockerfile"}, "properties": {"repobilityId": "a950927871c756f8", "scanner": "scanner-primary", "fingerprint": "d17c518ac5f42898", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-16e1cabf62108590", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "properties": {"repobilityId": "184dff110d9c7440", "scanner": "scanner-primary", "fingerprint": "16e1cabf62108590", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docker/coder/Dockerfile"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-40aa19637700b920", "level": "warning", "message": {"text": "Dockerfile runs as root: packages/integration-tests/Dockerfile"}, "properties": {"repobilityId": "105094a86f4c6779", "scanner": "scanner-primary", "fingerprint": "40aa19637700b920", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-e2c1f808b5cc22ba", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-bookworm-slim"}, "properties": {"repobilityId": "bf63e5df2fac5308", "scanner": "scanner-primary", "fingerprint": "e2c1f808b5cc22ba", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/integration-tests/Dockerfile"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-e2c1f808b5cc22ba", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-bookworm-slim"}, "properties": {"repobilityId": "839d4eeb2d869678", "scanner": "scanner-primary", "fingerprint": "e2c1f808b5cc22ba", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/integration-tests/Dockerfile"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-8d66f7ad0f67ca47", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/chips.tsx:56"}, "properties": {"repobilityId": "427d77a732719cf5", "scanner": "scanner-primary", "fingerprint": "8d66f7ad0f67ca47", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/ui/src/components/chips.tsx"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-992da069f5550d34", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/widgets.tsx:238"}, "properties": {"repobilityId": "dc87e9dc99020fed", "scanner": "scanner-primary", "fingerprint": "992da069f5550d34", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/ui/src/components/widgets.tsx"}, "region": {"startLine": 238}}}]}, {"ruleId": "scanner-3f5f11db7aee4a31", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/BriefingCard.tsx:84"}, "properties": {"repobilityId": "b7d881c415f90944", "scanner": "scanner-primary", "fingerprint": "3f5f11db7aee4a31", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/ui/src/components/BriefingCard.tsx"}, "region": {"startLine": 84}}}]}, {"ruleId": "scanner-a7b6b70ba8057194", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/DocumentViewer.tsx:166"}, "properties": {"repobilityId": "6d5110ae4be6146a", "scanner": "scanner-primary", "fingerprint": "a7b6b70ba8057194", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/ui/src/components/DocumentViewer.tsx"}, "region": {"startLine": 166}}}]}, {"ruleId": "scanner-984193f86a9efd9c", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/pages/Dashboard.tsx:170"}, "properties": {"repobilityId": "2ff64c5815639ecf", "scanner": "scanner-primary", "fingerprint": "984193f86a9efd9c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/ui/src/pages/Dashboard.tsx"}, "region": {"startLine": 170}}}]}, {"ruleId": "scanner-0b2898e384505da7", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/cli/src/plugins/manager.ts:1"}, "properties": {"repobilityId": "7024ee5b8653b602", "scanner": "scanner-primary", "fingerprint": "0b2898e384505da7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/cli/src/plugins/manager.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2965b7c2b3cdd1d1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in packages/trusted-actions/pwa/app.js:234"}, "properties": {"repobilityId": "a9394e3af049b65f", "scanner": "scanner-primary", "fingerprint": "2965b7c2b3cdd1d1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/trusted-actions/pwa/app.js"}, "region": {"startLine": 234}}}]}, {"ruleId": "scanner-3f0a17254badf2c5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/shell.ts:1"}, "properties": {"repobilityId": "e1099c1768fc4427", "scanner": "scanner-primary", "fingerprint": "3f0a17254badf2c5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/shell.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-11cee0f6dcf197f2", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in packages/core/src/task-watcher.ts:324"}, "properties": {"repobilityId": "f841cb8b7a51c8bb", "scanner": "scanner-primary", "fingerprint": "11cee0f6dcf197f2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/task-watcher.ts"}, "region": {"startLine": 324}}}]}, {"ruleId": "scanner-ffc3819b35299dcc", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/task-watcher.ts:1"}, "properties": {"repobilityId": "7a2f60656d5add2c", "scanner": "scanner-primary", "fingerprint": "ffc3819b35299dcc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/task-watcher.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3148be0b8e0221f9", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in packages/core/src/worktree.ts:46"}, "properties": {"repobilityId": "9ca55d6b1f84b139", "scanner": "scanner-primary", "fingerprint": "3148be0b8e0221f9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/worktree.ts"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-39f761fd654a3402", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/worktree.ts:1"}, "properties": {"repobilityId": "382fd9f54f3d849c", "scanner": "scanner-primary", "fingerprint": "39f761fd654a3402", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/worktree.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-809454845d0ab56e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/__tests__/workflow-worktree.test.ts:1"}, "properties": {"repobilityId": "125bf571ad276231", "scanner": "scanner-primary", "fingerprint": "809454845d0ab56e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/__tests__/workflow-worktree.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-389706e11804615b", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in packages/core/src/__tests__/worktree.test.ts:12"}, "properties": {"repobilityId": "580b55ca6dbff792", "scanner": "scanner-primary", "fingerprint": "389706e11804615b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/__tests__/worktree.test.ts"}, "region": {"startLine": 12}}}]}, {"ruleId": "scanner-033d4065953c8194", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/__tests__/worktree.test.ts:1"}, "properties": {"repobilityId": "e57c6ee51cd7df2e", "scanner": "scanner-primary", "fingerprint": "033d4065953c8194", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/__tests__/worktree.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7487fff9954881a8", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/resources/sources/git.ts:1"}, "properties": {"repobilityId": "83b4ae0e880c417c", "scanner": "scanner-primary", "fingerprint": "7487fff9954881a8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/resources/sources/git.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7aa5f2223f22c84b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/resources/sources/npm.ts:1"}, "properties": {"repobilityId": "fe0f7fa70c3ec63b", "scanner": "scanner-primary", "fingerprint": "7aa5f2223f22c84b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/resources/sources/npm.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-17bce06c9083ecf1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/resources/sources/http.ts:1"}, "properties": {"repobilityId": "c1daf3e8236569ed", "scanner": "scanner-primary", "fingerprint": "17bce06c9083ecf1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/resources/sources/http.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-756973730fc2b5e3", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/tasks/beads.ts:1"}, "properties": {"repobilityId": "2a858d03ac77294f", "scanner": "scanner-primary", "fingerprint": "756973730fc2b5e3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/tasks/beads.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-32c1350561910c61", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/tasks/beans.ts:1"}, "properties": {"repobilityId": "d031cbbb2fb79bc7", "scanner": "scanner-primary", "fingerprint": "32c1350561910c61", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/tasks/beans.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d8b792149518274a", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in packages/core/src/sandboxes/host.ts:29"}, "properties": {"repobilityId": "97698a915d6194ba", "scanner": "scanner-primary", "fingerprint": "d8b792149518274a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/sandboxes/host.ts"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-00f23c871148390b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/sandboxes/host.ts:1"}, "properties": {"repobilityId": "789774aeadb88a1f", "scanner": "scanner-primary", "fingerprint": "00f23c871148390b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/sandboxes/host.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-396fd1b5cfda6576", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in packages/core/src/sandboxes/registry.ts:54"}, "properties": {"repobilityId": "930547f807c74fd1", "scanner": "scanner-primary", "fingerprint": "396fd1b5cfda6576", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/sandboxes/registry.ts"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-82f3e2736324b3a5", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in packages/core/src/sandboxes/interface.ts:66"}, "properties": {"repobilityId": "5f9e717e3168b2a1", "scanner": "scanner-primary", "fingerprint": "82f3e2736324b3a5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/sandboxes/interface.ts"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-b9d1d29544d95482", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in packages/core/src/sandboxes/container.ts:115"}, "properties": {"repobilityId": "26b1a62ab2bb25f5", "scanner": "scanner-primary", "fingerprint": "b9d1d29544d95482", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/sandboxes/container.ts"}, "region": {"startLine": 115}}}]}, {"ruleId": "scanner-34be250e25abf6c9", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/sandboxes/container.ts:1"}, "properties": {"repobilityId": "c2a9506296a543b9", "scanner": "scanner-primary", "fingerprint": "34be250e25abf6c9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/sandboxes/container.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-269046387d77cf68", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/workflows/executors/shell.ts:1"}, "properties": {"repobilityId": "c625634bf7b8cafa", "scanner": "scanner-primary", "fingerprint": "269046387d77cf68", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/workflows/executors/shell.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b8440186c59d1166", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/tools/claude-code.ts:1"}, "properties": {"repobilityId": "b85c2fe83f39b327", "scanner": "scanner-primary", "fingerprint": "b8440186c59d1166", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/tools/claude-code.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-48f1bbe0cfb2f3f5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/tools/exec.ts:1"}, "properties": {"repobilityId": "80740c8dfd0d109c", "scanner": "scanner-primary", "fingerprint": "48f1bbe0cfb2f3f5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/tools/exec.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bf9fc84ba38054a4", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/prompts/expand.ts:1"}, "properties": {"repobilityId": "cddb9234be9c72de", "scanner": "scanner-primary", "fingerprint": "bf9fc84ba38054a4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/prompts/expand.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-85938a4ebf1623a0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/repo/github.ts:17"}, "properties": {"repobilityId": "4f7f97819d0afc85", "scanner": "scanner-primary", "fingerprint": "85938a4ebf1623a0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/repo/github.ts"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-ce94484c0aa80b6b", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in packages/core/src/plugins/stall-guard.ts:171"}, "properties": {"repobilityId": "63b1888927c2bac5", "scanner": "scanner-primary", "fingerprint": "ce94484c0aa80b6b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/plugins/stall-guard.ts"}, "region": {"startLine": 171}}}]}, {"ruleId": "scanner-9ab12bfc346bc2e6", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/src/plugins/stall-guard.ts:22"}, "properties": {"repobilityId": "cbaf6ee2a36f51e0", "scanner": "scanner-primary", "fingerprint": "9ab12bfc346bc2e6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/plugins/stall-guard.ts"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-07a41ce9be2f0d41", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/google-tools/src/google-drive.ts:1"}, "properties": {"repobilityId": "cb8f7f663da28d1f", "scanner": "scanner-primary", "fingerprint": "07a41ce9be2f0d41", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/google-tools/src/google-drive.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7204f00ed92da72c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/google-tools/src/google-calendar.ts:1"}, "properties": {"repobilityId": "a6d7e3ce3236ba52", "scanner": "scanner-primary", "fingerprint": "7204f00ed92da72c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/google-tools/src/google-calendar.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3c8248fba9fde874", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/google-tools/src/gmail.ts:1"}, "properties": {"repobilityId": "0db6135323b80395", "scanner": "scanner-primary", "fingerprint": "3c8248fba9fde874", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/google-tools/src/gmail.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2eb2eb7df0f1fcee", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7a6fa5b690f243b1", "scanner": "scanner-primary", "fingerprint": "2eb2eb7df0f1fcee", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/auto-merge-version-pr.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a5037ecad3c32cc8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dc5221153a1144e7", "scanner": "scanner-primary", "fingerprint": "a5037ecad3c32cc8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-site.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-a5037ecad3c32cc8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dcfe9d7677756547", "scanner": "scanner-primary", "fingerprint": "a5037ecad3c32cc8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-site.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-a5037ecad3c32cc8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4d31bd7d8435fedc", "scanner": "scanner-primary", "fingerprint": "a5037ecad3c32cc8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-site.yml"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-3808dc79ba3f91b4", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "e5c492438c53b765", "scanner": "scanner-primary", "fingerprint": "3808dc79ba3f91b4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-site.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "795422ca0cf75519", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "795422ca0cf75519", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 110}}}]}, {"ruleId": "scanner-1838a141491ce38c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b8fd4f5048f96576", "scanner": "scanner-primary", "fingerprint": "1838a141491ce38c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-44bc373cced2490e", "level": "note", "message": {"text": "Very large file: packages/ui/src/api.ts (1760 lines)"}, "properties": {"repobilityId": "8f05d1e87c5843f6", "scanner": "scanner-primary", "fingerprint": "44bc373cced2490e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d735b5966b921adc", "level": "note", "message": {"text": "Very large file: packages/ui/src/components/WorkflowGraph.tsx (1436 lines)"}, "properties": {"repobilityId": "d72527496adc64b2", "scanner": "scanner-primary", "fingerprint": "d735b5966b921adc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c0eb82ce9dbad0ea", "level": "note", "message": {"text": "Very large file: packages/server/src/index.ts (3607 lines)"}, "properties": {"repobilityId": "4ab51988e2070eed", "scanner": "scanner-primary", "fingerprint": "c0eb82ce9dbad0ea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3094ad1301842a2b", "level": "note", "message": {"text": "Very large file: packages/core/src/config.ts (1690 lines)"}, "properties": {"repobilityId": "2c24f379b4f25a4e", "scanner": "scanner-primary", "fingerprint": "3094ad1301842a2b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-13230a8c055ee32a", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/provider-openai/package.json"}, "properties": {"repobilityId": "dd875526762414fe", "scanner": "scanner-primary", "fingerprint": "13230a8c055ee32a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/provider-openai/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb2aae44f842080f", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/channel-slack/package.json"}, "properties": {"repobilityId": "fd2e83ff3feea773", "scanner": "scanner-primary", "fingerprint": "cb2aae44f842080f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/channel-slack/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7e37cd42d9b678b5", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/provider-bedrock/package.json"}, "properties": {"repobilityId": "90e6e4b957315dba", "scanner": "scanner-primary", "fingerprint": "7e37cd42d9b678b5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/provider-bedrock/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fed6e30988070076", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/provider-openrouter/package.json"}, "properties": {"repobilityId": "c1789294626f87e3", "scanner": "scanner-primary", "fingerprint": "fed6e30988070076", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/provider-openrouter/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f523fd13c7226143", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/provider-deepseek/package.json"}, "properties": {"repobilityId": "3c2c12fd9987d9ae", "scanner": "scanner-primary", "fingerprint": "f523fd13c7226143", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/provider-deepseek/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-50218c90b43393bb", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/ui/package.json"}, "properties": {"repobilityId": "637e26a8c754e81d", "scanner": "scanner-primary", "fingerprint": "50218c90b43393bb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/ui/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8c2e3196a4ef0cdd", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/cli/package.json"}, "properties": {"repobilityId": "2faf23490612d7a6", "scanner": "scanner-primary", "fingerprint": "8c2e3196a4ef0cdd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/cli/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-56a2883c9c68d058", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/trusted-actions/package.json"}, "properties": {"repobilityId": "84fcce81b7888052", "scanner": "scanner-primary", "fingerprint": "56a2883c9c68d058", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/trusted-actions/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8c4d5e35068e11bb", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/provider-anthropic/package.json"}, "properties": {"repobilityId": "7b0cae676a24646e", "scanner": "scanner-primary", "fingerprint": "8c4d5e35068e11bb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/provider-anthropic/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ea041128948e92b8", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/site/package.json"}, "properties": {"repobilityId": "dc80fb8d768f9f74", "scanner": "scanner-primary", "fingerprint": "ea041128948e92b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/site/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b739f2f2be1d714d", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/server/package.json"}, "properties": {"repobilityId": "d7cb4fafc3b292b2", "scanner": "scanner-primary", "fingerprint": "b739f2f2be1d714d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/server/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-28e92806c0db3cd2", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/core/package.json"}, "properties": {"repobilityId": "8640e46be7e3f9b2", "scanner": "scanner-primary", "fingerprint": "28e92806c0db3cd2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-43976ac721101531", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/browser-mediator/package.json"}, "properties": {"repobilityId": "fba36b51b5809832", "scanner": "scanner-primary", "fingerprint": "43976ac721101531", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/browser-mediator/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c1b09b11bdf5f11e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/google-tools/package.json"}, "properties": {"repobilityId": "9cac91de00b4c2f1", "scanner": "scanner-primary", "fingerprint": "c1b09b11bdf5f11e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/google-tools/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "feba3eacee6d8c73", "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": "4d6e009294c1e9e7", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "e343885f9c7a3e1e", "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": "eb17b5617d017a9b", "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": "a5eb52a04f7bc422", "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": "08ce1ac350bb3fb9", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-24f2ea4bd14badc1", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: CLAUDE.md"}, "properties": {"repobilityId": "0f6049734704e537", "scanner": "scanner-primary", "fingerprint": "24f2ea4bd14badc1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-a1d627feba3dbdce", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/guard-pre-v1.mjs:4"}, "properties": {"repobilityId": "68b8a570b7d4952b", "scanner": "scanner-primary", "fingerprint": "a1d627feba3dbdce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da0ab194f583f594", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/provider-openai/src/provider.ts:205"}, "properties": {"repobilityId": "481a826de955b2bd", "scanner": "scanner-primary", "fingerprint": "da0ab194f583f594", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a41be1773500876c", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/integration-tests/fixtures/plugin-echo-tool/index.js:1"}, "properties": {"repobilityId": "69f9af37fc24ddd5", "scanner": "scanner-primary", "fingerprint": "a41be1773500876c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6916ebaa53a61bfc", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/ui/src/api.ts:85"}, "properties": {"repobilityId": "4d1b20413b937f77", "scanner": "scanner-primary", "fingerprint": "6916ebaa53a61bfc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ca078350515c911", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/api.ts:1323"}, "properties": {"repobilityId": "952947d7501bd46d", "scanner": "scanner-primary", "fingerprint": "1ca078350515c911", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3ea320bf88e61376", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/ui/src/workflow-templates.ts:249"}, "properties": {"repobilityId": "3ceb58fc8402ff79", "scanner": "scanner-primary", "fingerprint": "3ea320bf88e61376", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ef7d09870df75aa", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/ui/src/App.tsx:65"}, "properties": {"repobilityId": "12a74d3e794533b5", "scanner": "scanner-primary", "fingerprint": "5ef7d09870df75aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5b4505b790b631e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/App.tsx:295"}, "properties": {"repobilityId": "036634179e9bdabd", "scanner": "scanner-primary", "fingerprint": "d5b4505b790b631e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-97b7473d3b384c30", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/auth_api.ts:22"}, "properties": {"repobilityId": "c9575a460895c61a", "scanner": "scanner-primary", "fingerprint": "97b7473d3b384c30", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-630fe7820da4d256", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/ui/src/components/WorkflowGraph.tsx:337"}, "properties": {"repobilityId": "62df1b0421b9cf68", "scanner": "scanner-primary", "fingerprint": "630fe7820da4d256", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2d42877e19598e4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/components/PendingActionsWidget.tsx:26"}, "properties": {"repobilityId": "4b0ad0490283d125", "scanner": "scanner-primary", "fingerprint": "b2d42877e19598e4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fa0685f485be0f0b", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/ui/src/pages/Approvals.tsx:56"}, "properties": {"repobilityId": "06bcf43970864aa3", "scanner": "scanner-primary", "fingerprint": "fa0685f485be0f0b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a750375ca7def74", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ui/src/pages/Approvals.tsx:96"}, "properties": {"repobilityId": "82d3ba2cc188244c", "scanner": "scanner-primary", "fingerprint": "9a750375ca7def74", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2333a13b3ce6d2f1", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/cli/src/index.ts:121"}, "properties": {"repobilityId": "917ada95380d9746", "scanner": "scanner-primary", "fingerprint": "2333a13b3ce6d2f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6bc468fea5d24f87", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/cli/src/commands/resources.ts:215"}, "properties": {"repobilityId": "bdedcb7f9454168c", "scanner": "scanner-primary", "fingerprint": "6bc468fea5d24f87", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-602bc60ecdd90ac2", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/cli/src/plugins/manager.ts:269"}, "properties": {"repobilityId": "5b0a953e3084141e", "scanner": "scanner-primary", "fingerprint": "602bc60ecdd90ac2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3ca8b49fea4c6fb", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/cli/src/plugins/__tests__/manager.test.ts:269"}, "properties": {"repobilityId": "6b83d579ca19c6fe", "scanner": "scanner-primary", "fingerprint": "e3ca8b49fea4c6fb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7de5ef9d89914701", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/trusted-actions/pwa/sw.js:4"}, "properties": {"repobilityId": "fd01b5421e31a246", "scanner": "scanner-primary", "fingerprint": "7de5ef9d89914701", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-41632dee6a656944", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/trusted-actions/pwa/app.js:4"}, "properties": {"repobilityId": "c3b6a9f6d49222ea", "scanner": "scanner-primary", "fingerprint": "41632dee6a656944", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e63d7c0bba11676", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/trusted-actions/pwa/app.js:127"}, "properties": {"repobilityId": "7d4b0f52c214e15a", "scanner": "scanner-primary", "fingerprint": "7e63d7c0bba11676", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-32c9747224070256", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/trusted-actions/src/plugin.ts:172"}, "properties": {"repobilityId": "00ab0b3a9e89e19c", "scanner": "scanner-primary", "fingerprint": "32c9747224070256", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ea4fe50cd5ea596", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/trusted-actions/src/plugin.ts:60"}, "properties": {"repobilityId": "0fb8d0ca759832f2", "scanner": "scanner-primary", "fingerprint": "8ea4fe50cd5ea596", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bbb9e6cb510f3e1e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/trusted-actions/src/server.ts:1218"}, "properties": {"repobilityId": "c65e209a3dfe357b", "scanner": "scanner-primary", "fingerprint": "bbb9e6cb510f3e1e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-087805fbfbd050a0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/trusted-actions/src/server.ts:913"}, "properties": {"repobilityId": "6c7da5a8b9be64e3", "scanner": "scanner-primary", "fingerprint": "087805fbfbd050a0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-188818df95ca1008", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/trusted-actions/src/__tests__/amazon-adapter.test.ts:132"}, "properties": {"repobilityId": "50f813d5762cd11d", "scanner": "scanner-primary", "fingerprint": "188818df95ca1008", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-46a79e23efc8bf3b", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/trusted-actions/src/approval/push-routes.ts:22"}, "properties": {"repobilityId": "61ed0061bb7073cd", "scanner": "scanner-primary", "fingerprint": "46a79e23efc8bf3b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-257cd1f0622efed0", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/trusted-actions/src/db/migrations.ts:48"}, "properties": {"repobilityId": "30dae28fe7899d49", "scanner": "scanner-primary", "fingerprint": "257cd1f0622efed0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d313269a2c7e7a73", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/provider-anthropic/src/provider.ts:346"}, "properties": {"repobilityId": "fee84d5fb7b2bfce", "scanner": "scanner-primary", "fingerprint": "d313269a2c7e7a73", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6604eb6cba0a351e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/server/src/index.ts:312"}, "properties": {"repobilityId": "e27b4ea157925372", "scanner": "scanner-primary", "fingerprint": "6604eb6cba0a351e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-047831255a0e1850", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/index.ts:2390"}, "properties": {"repobilityId": "da5060ca8f66e657", "scanner": "scanner-primary", "fingerprint": "047831255a0e1850", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e5f04837bc0a653e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/mcp-routes.test.ts:70"}, "properties": {"repobilityId": "4ab4438a2b5e19e2", "scanner": "scanner-primary", "fingerprint": "e5f04837bc0a653e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1c1429e66d1a9184", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/workflow-routes.test.ts:199"}, "properties": {"repobilityId": "6fdb4f5032b2df53", "scanner": "scanner-primary", "fingerprint": "1c1429e66d1a9184", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f13bd47f47a1c52b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/webhook-workflow.test.ts:116"}, "properties": {"repobilityId": "1f31edb26dd86da0", "scanner": "scanner-primary", "fingerprint": "f13bd47f47a1c52b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-509b1eceb9e56f41", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/plugin-http-routes.test.ts:73"}, "properties": {"repobilityId": "7b16fa7b2401efb4", "scanner": "scanner-primary", "fingerprint": "509b1eceb9e56f41", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dcaea7be58839053", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/server/src/__tests__/auth-token.test.ts:72"}, "properties": {"repobilityId": "1ae9db16075146e5", "scanner": "scanner-primary", "fingerprint": "dcaea7be58839053", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-87f2a3baa2a98b69", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/config.ts:938"}, "properties": {"repobilityId": "2fa6662aec4844eb", "scanner": "scanner-primary", "fingerprint": "87f2a3baa2a98b69", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1976c85c49392820", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/core/src/runtime.ts:930"}, "properties": {"repobilityId": "9799b5fee1ec711b", "scanner": "scanner-primary", "fingerprint": "1976c85c49392820", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a3c5e25d7fd4671", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/plugin-context.ts:329"}, "properties": {"repobilityId": "1aad8fb8b2582ab7", "scanner": "scanner-primary", "fingerprint": "5a3c5e25d7fd4671", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-566f6f5c36a8cbe0", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/task-watcher.ts:96"}, "properties": {"repobilityId": "06b855e43e870108", "scanner": "scanner-primary", "fingerprint": "566f6f5c36a8cbe0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8409dc068b6dc8fb", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/worktree.ts:138"}, "properties": {"repobilityId": "bf321d526b3da11e", "scanner": "scanner-primary", "fingerprint": "8409dc068b6dc8fb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-047ed2a50d4a1163", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/factories.ts:116"}, "properties": {"repobilityId": "02641b8aa070204d", "scanner": "scanner-primary", "fingerprint": "047ed2a50d4a1163", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d9ef8ef733f98bc6", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/__tests__/task-watcher-notification.test.ts:75"}, "properties": {"repobilityId": "49c2c4f8cf0d68a2", "scanner": "scanner-primary", "fingerprint": "d9ef8ef733f98bc6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93247ae035052d14", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/__tests__/project-overlay.test.ts:76"}, "properties": {"repobilityId": "53b8de7ed71898ca", "scanner": "scanner-primary", "fingerprint": "93247ae035052d14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ae8274105ebf101", "level": "note", "message": {"text": "Legacy-named symbol `proj_legacy` in packages/core/src/__tests__/project-resolve.test.ts:57"}, "properties": {"repobilityId": "b0d25e7c497950f4", "scanner": "scanner-primary", "fingerprint": "0ae8274105ebf101", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4db5e9616c745578", "level": "note", "message": {"text": "Legacy-named symbol `proj_old` in packages/core/src/__tests__/project-integration.test.ts:169"}, "properties": {"repobilityId": "17b813751455f74d", "scanner": "scanner-primary", "fingerprint": "4db5e9616c745578", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-11b571b91ab55c27", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/__tests__/skill-md.test.ts:141"}, "properties": {"repobilityId": "2e1f5d10ea69b54d", "scanner": "scanner-primary", "fingerprint": "11b571b91ab55c27", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d52defe257f83f32", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/resources/sources/npm.ts:69"}, "properties": {"repobilityId": "613ef9fb49f7b963", "scanner": "scanner-primary", "fingerprint": "d52defe257f83f32", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1fcd5ec3b427a503", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/core/src/resources/sources/registry-index.ts:93"}, "properties": {"repobilityId": "d67e0237d1e98ae7", "scanner": "scanner-primary", "fingerprint": "1fcd5ec3b427a503", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-edbe17e1c1cab4f7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/resources/sources/registry-index.ts:62"}, "properties": {"repobilityId": "b5bfe003cd54619d", "scanner": "scanner-primary", "fingerprint": "edbe17e1c1cab4f7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-18b075090451759c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/resources/sources/http.ts:45"}, "properties": {"repobilityId": "dc9f821590f887e2", "scanner": "scanner-primary", "fingerprint": "18b075090451759c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-01d80970a003cbb0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/resources/sources/agent.ts:6"}, "properties": {"repobilityId": "1383bec22407883b", "scanner": "scanner-primary", "fingerprint": "01d80970a003cbb0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5b032a7cf6fe5e1d", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/agent/loop.ts:547"}, "properties": {"repobilityId": "d1b86fb141437e45", "scanner": "scanner-primary", "fingerprint": "5b032a7cf6fe5e1d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-884083ef3001f1b2", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/agent/agents.ts:203"}, "properties": {"repobilityId": "1e1190f74f649aea", "scanner": "scanner-primary", "fingerprint": "884083ef3001f1b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a13ca36bab5d361", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/providers/openai.ts:181"}, "properties": {"repobilityId": "98f339dc4dfae9c0", "scanner": "scanner-primary", "fingerprint": "6a13ca36bab5d361", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1f46d2ffd6896001", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/providers/openai-embedding.ts:113"}, "properties": {"repobilityId": "1f0d4d5e51ba38d6", "scanner": "scanner-primary", "fingerprint": "1f46d2ffd6896001", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e8ed4c940fddadb4", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/core/src/providers/factories.ts:78"}, "properties": {"repobilityId": "4400ae274a0cb491", "scanner": "scanner-primary", "fingerprint": "e8ed4c940fddadb4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c059892f8d59f305", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/tasks/beads.ts:118"}, "properties": {"repobilityId": "dc938fdedfbceb65", "scanner": "scanner-primary", "fingerprint": "c059892f8d59f305", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b153843156c0af96", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/tasks/beans.ts:126"}, "properties": {"repobilityId": "2f91cf7a009667c0", "scanner": "scanner-primary", "fingerprint": "b153843156c0af96", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2c09de69e8f0dac8", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/sandboxes/container.ts:71"}, "properties": {"repobilityId": "dd201e238775817b", "scanner": "scanner-primary", "fingerprint": "2c09de69e8f0dac8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b41d983bd17d5eb", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/core/src/sandboxes/factory.ts:44"}, "properties": {"repobilityId": "da6ce9c88face3c8", "scanner": "scanner-primary", "fingerprint": "6b41d983bd17d5eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa5431f39e21b83e", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/workflows/builtin-executors.ts:17"}, "properties": {"repobilityId": "d47047da08ab1e69", "scanner": "scanner-primary", "fingerprint": "fa5431f39e21b83e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aac94ea11d9bf132", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/workflows/executors/channel-message.ts:68"}, "properties": {"repobilityId": "019fe63872a2bcb7", "scanner": "scanner-primary", "fingerprint": "aac94ea11d9bf132", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ebbc3800df2cebf", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/tools/request-action.ts:14"}, "properties": {"repobilityId": "219ea249b46baea6", "scanner": "scanner-primary", "fingerprint": "5ebbc3800df2cebf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-02a2bf032bc7213d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/tools/web-search.ts:59"}, "properties": {"repobilityId": "93b0d465d277e193", "scanner": "scanner-primary", "fingerprint": "02a2bf032bc7213d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cc9d7384fe351589", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/tools/exec.ts:46"}, "properties": {"repobilityId": "d6543bd486c8fa0b", "scanner": "scanner-primary", "fingerprint": "cc9d7384fe351589", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7011c5f954edfe83", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/src/channels/discord.ts:180"}, "properties": {"repobilityId": "d14ca5a6c699d217", "scanner": "scanner-primary", "fingerprint": "7011c5f954edfe83", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8de3b271465031d8", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/db/note-queries.ts:146"}, "properties": {"repobilityId": "948a729b6a17006e", "scanner": "scanner-primary", "fingerprint": "8de3b271465031d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cace4a4aa521163e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/exploratory/tick-context.ts:167"}, "properties": {"repobilityId": "e0d91850a4421750", "scanner": "scanner-primary", "fingerprint": "cace4a4aa521163e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-02fbb6173485bca5", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/core/src/exploratory/worker.ts:213"}, "properties": {"repobilityId": "7a6bcff939b8561d", "scanner": "scanner-primary", "fingerprint": "02fbb6173485bca5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9836457f7ec50c4", "level": "note", "message": {"text": "23 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "71ec3608d30f8bcd", "scanner": "scanner-primary", "fingerprint": "a9836457f7ec50c4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-42ce049e46b51563", "level": "error", "message": {"text": "Dangling fetch: POST /push/status (packages/trusted-actions/pwa/app.js:113)"}, "properties": {"repobilityId": "8ba3099843059f7b", "scanner": "scanner-primary", "fingerprint": "42ce049e46b51563", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-77901a62b1cb2a7d", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/logout (packages/ui/src/App.tsx:295)"}, "properties": {"repobilityId": "7f2af38b4a2d8187", "scanner": "scanner-primary", "fingerprint": "77901a62b1cb2a7d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e7f92a0577b285ca", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/login (packages/ui/src/auth_api.ts:6)"}, "properties": {"repobilityId": "eeb231e4c57d33af", "scanner": "scanner-primary", "fingerprint": "e7f92a0577b285ca", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-20cbacfe92fa74cb", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/logout (packages/ui/src/auth_api.ts:22)"}, "properties": {"repobilityId": "f9732b82ee05f68b", "scanner": "scanner-primary", "fingerprint": "20cbacfe92fa74cb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-56a1f85db11a66bc", "level": "error", "message": {"text": "Dangling fetch: GET /api/trusted-actions/subscriptions (packages/ui/src/pages/Approvals.tsx:342)"}, "properties": {"repobilityId": "03c8ffc92ac03338", "scanner": "scanner-primary", "fingerprint": "56a1f85db11a66bc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-172498416a970db1", "level": "error", "message": {"text": "Dangling fetch: POST /api/trusted-actions/subscriptions/${op} (packages/ui/src/pages/Approvals.tsx:368)"}, "properties": {"repobilityId": "f6116d297d39d541", "scanner": "scanner-primary", "fingerprint": "172498416a970db1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7ad5d9ebe28673cf", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/login (packages/ui/src/pages/Login.tsx:14)"}, "properties": {"repobilityId": "34cc6a9a8f42b1a4", "scanner": "scanner-primary", "fingerprint": "7ad5d9ebe28673cf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e9c1d347aa79dc42", "level": "error", "message": {"text": "Dangling fetch: POST /approve/bogus-token-not-real (packages/trusted-actions/src/__tests__/server.test.ts:204)"}, "properties": {"repobilityId": "1b4b3ecc066ba08c", "scanner": "scanner-primary", "fingerprint": "e9c1d347aa79dc42", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2ebeb521dec502ea", "level": "error", "message": {"text": "Dangling fetch: POST /actions/missing/cancel (packages/trusted-actions/src/__tests__/server.test.ts:272)"}, "properties": {"repobilityId": "3d4085f95c66d02c", "scanner": "scanner-primary", "fingerprint": "2ebeb521dec502ea", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f843ad327a9f3985", "level": "error", "message": {"text": "Dangling fetch: GET /internal/actions/nope/status (packages/trusted-actions/src/__tests__/server.test.ts:307)"}, "properties": {"repobilityId": "15cc54160e22ea3b", "scanner": "scanner-primary", "fingerprint": "f843ad327a9f3985", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5d817cceee0971b7", "level": "error", "message": {"text": "Dangling fetch: GET https://api.search.brave.com/res/v1/web/search?${params} (packages/core/src/tools/web-search.ts:59)"}, "properties": {"repobilityId": "441cc51301272c61", "scanner": "scanner-primary", "fingerprint": "5d817cceee0971b7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a0e1d6e569dda656", "level": "note", "message": {"text": "Unused endpoint: USE /internal/*"}, "properties": {"repobilityId": "80ed685a8d80b31c", "scanner": "scanner-primary", "fingerprint": "a0e1d6e569dda656", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-abc3fa1b150e33a4", "level": "note", "message": {"text": "Unused endpoint: GET /approve/:token"}, "properties": {"repobilityId": "f682866edb771f23", "scanner": "scanner-primary", "fingerprint": "abc3fa1b150e33a4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f94da62e15c39004", "level": "note", "message": {"text": "Unused endpoint: GET /reject/:token"}, "properties": {"repobilityId": "c1d9adceba3e764f", "scanner": "scanner-primary", "fingerprint": "f94da62e15c39004", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-74301eda0192cc87", "level": "note", "message": {"text": "Unused endpoint: POST /internal/read"}, "properties": {"repobilityId": "14ba34a29d5ce379", "scanner": "scanner-primary", "fingerprint": "74301eda0192cc87", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-61c72cce77eb1ceb", "level": "note", "message": {"text": "Unused endpoint: POST /internal/push/subscribe"}, "properties": {"repobilityId": "bc12e8a684f1fa5e", "scanner": "scanner-primary", "fingerprint": "61c72cce77eb1ceb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b4dd08f5131a8249", "level": "note", "message": {"text": "Unused endpoint: GET /push/subscription/status"}, "properties": {"repobilityId": "caf0fc3eaec6017c", "scanner": "scanner-primary", "fingerprint": "b4dd08f5131a8249", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-961fb5703f826698", "level": "note", "message": {"text": "Unused endpoint: GET /internal/subscriptions"}, "properties": {"repobilityId": "8768fcb3733ce29c", "scanner": "scanner-primary", "fingerprint": "961fb5703f826698", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-72a8870185909d30", "level": "note", "message": {"text": "Unused endpoint: POST /internal/subscriptions/approve"}, "properties": {"repobilityId": "36d9b676ca4e0b0c", "scanner": "scanner-primary", "fingerprint": "72a8870185909d30", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-79cff984441570e3", "level": "note", "message": {"text": "Unused endpoint: POST /internal/subscriptions/reject"}, "properties": {"repobilityId": "d4d89856c9d0e523", "scanner": "scanner-primary", "fingerprint": "79cff984441570e3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-383635063d8942c0", "level": "note", "message": {"text": "Unused endpoint: POST /internal/subscriptions/delete"}, "properties": {"repobilityId": "f06dc6243efa0416", "scanner": "scanner-primary", "fingerprint": "383635063d8942c0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cb43844e9a31de6b", "level": "note", "message": {"text": "Unused endpoint: GET /internal/actions/history"}, "properties": {"repobilityId": "41fe37c13716386d", "scanner": "scanner-primary", "fingerprint": "cb43844e9a31de6b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5baa8971ebe192a1", "level": "note", "message": {"text": "Unused endpoint: GET /"}, "properties": {"repobilityId": "d55a52c0d7cd936a", "scanner": "scanner-primary", "fingerprint": "5baa8971ebe192a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-21cf56c09f860b64", "level": "note", "message": {"text": "Unused endpoint: GET /index.html"}, "properties": {"repobilityId": "d98eabe2e5c81955", "scanner": "scanner-primary", "fingerprint": "21cf56c09f860b64", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-47e2aa64215549d7", "level": "note", "message": {"text": "Unused endpoint: GET /app.js"}, "properties": {"repobilityId": "b5213d6ec4a90197", "scanner": "scanner-primary", "fingerprint": "47e2aa64215549d7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f22cf013c13a7f0c", "level": "note", "message": {"text": "Unused endpoint: GET /sw.js"}, "properties": {"repobilityId": "2990f101ee7273cd", "scanner": "scanner-primary", "fingerprint": "f22cf013c13a7f0c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-22fef0dea11ed1eb", "level": "note", "message": {"text": "Unused endpoint: GET /styles.css"}, "properties": {"repobilityId": "7ba90f49e1e3086a", "scanner": "scanner-primary", "fingerprint": "22fef0dea11ed1eb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9cd3c933d741fc34", "level": "note", "message": {"text": "Unused endpoint: GET /manifest.webmanifest"}, "properties": {"repobilityId": "c649074f3bea8d17", "scanner": "scanner-primary", "fingerprint": "9cd3c933d741fc34", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3387f25edc05f7d3", "level": "note", "message": {"text": "Unused endpoint: GET /icons/:name"}, "properties": {"repobilityId": "e49ea45645c4345d", "scanner": "scanner-primary", "fingerprint": "3387f25edc05f7d3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b8073f7bf758f6d0", "level": "note", "message": {"text": "Unused endpoint: USE /api/*"}, "properties": {"repobilityId": "06e8579838d163b8", "scanner": "scanner-primary", "fingerprint": "b8073f7bf758f6d0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4756b4c4da7d2088", "level": "note", "message": {"text": "Unused endpoint: GET /api/health"}, "properties": {"repobilityId": "857510e28d7e035b", "scanner": "scanner-primary", "fingerprint": "4756b4c4da7d2088", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bf2e6e2188a510ee", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions"}, "properties": {"repobilityId": "8d6416d1a9ea7fac", "scanner": "scanner-primary", "fingerprint": "bf2e6e2188a510ee", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e51b50c60f230d16", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions/:id/messages"}, "properties": {"repobilityId": "857850e2a3927b3e", "scanner": "scanner-primary", "fingerprint": "e51b50c60f230d16", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3d14b16b8bcbea90", "level": "note", "message": {"text": "Unused endpoint: PATCH /api/sessions/:id"}, "properties": {"repobilityId": "3e95ebe6ed640f86", "scanner": "scanner-primary", "fingerprint": "3d14b16b8bcbea90", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ae18e966899ef533", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/sessions/:id"}, "properties": {"repobilityId": "cc7900fdd8bdf1bf", "scanner": "scanner-primary", "fingerprint": "ae18e966899ef533", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3d88d4c8e22ba27d", "level": "note", "message": {"text": "Unused endpoint: POST /api/sessions/new"}, "properties": {"repobilityId": "e544b6500b05f526", "scanner": "scanner-primary", "fingerprint": "3d88d4c8e22ba27d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-084480261b046d70", "level": "note", "message": {"text": "Unused endpoint: GET /api/tools"}, "properties": {"repobilityId": "acfd8ccbf9dcc713", "scanner": "scanner-primary", "fingerprint": "084480261b046d70", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c4b0361ac0f5eeb9", "level": "note", "message": {"text": "Unused endpoint: GET /api/agents"}, "properties": {"repobilityId": "f502d9da541f912b", "scanner": "scanner-primary", "fingerprint": "c4b0361ac0f5eeb9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5aae5480ca83b4a2", "level": "note", "message": {"text": "Unused endpoint: GET /api/mcp"}, "properties": {"repobilityId": "ffcd01e9bc171fef", "scanner": "scanner-primary", "fingerprint": "5aae5480ca83b4a2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3e91f42808613291", "level": "note", "message": {"text": "Unused endpoint: GET /api/plugins"}, "properties": {"repobilityId": "73c8c07e65a66295", "scanner": "scanner-primary", "fingerprint": "3e91f42808613291", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2cbc08e97a8f0293", "level": "note", "message": {"text": "Unused endpoint: GET /api/skills"}, "properties": {"repobilityId": "f5d015beb2cd3524", "scanner": "scanner-primary", "fingerprint": "2cbc08e97a8f0293", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ab31d7e480a710b2", "level": "note", "message": {"text": "Unused endpoint: POST /api/agents"}, "properties": {"repobilityId": "1bc90b4a5f1f7aee", "scanner": "scanner-primary", "fingerprint": "ab31d7e480a710b2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9210f59a56be03eb", "level": "note", "message": {"text": "Unused endpoint: PATCH /api/agents/:name"}, "properties": {"repobilityId": "e45f3abee7eb2617", "scanner": "scanner-primary", "fingerprint": "9210f59a56be03eb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-84064c8a726c2927", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/agents/:name"}, "properties": {"repobilityId": "12e58166cfbee0ba", "scanner": "scanner-primary", "fingerprint": "84064c8a726c2927", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8808694c7ad903d6", "level": "note", "message": {"text": "Unused endpoint: GET /api/cron"}, "properties": {"repobilityId": "934ac7d438bfb057", "scanner": "scanner-primary", "fingerprint": "8808694c7ad903d6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a545f49239583988", "level": "note", "message": {"text": "Unused endpoint: PATCH /api/cron/:name"}, "properties": {"repobilityId": "31f110a7a10c0d2d", "scanner": "scanner-primary", "fingerprint": "a545f49239583988", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ffb6b0effc9cecfc", "level": "note", "message": {"text": "Unused endpoint: POST /api/cron/:name/run"}, "properties": {"repobilityId": "e4fa6fe23d21d74d", "scanner": "scanner-primary", "fingerprint": "ffb6b0effc9cecfc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1152fa7acf7dabb7", "level": "note", "message": {"text": "Unused endpoint: GET /api/approvals"}, "properties": {"repobilityId": "b259bf9f1cfb2b35", "scanner": "scanner-primary", "fingerprint": "1152fa7acf7dabb7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1c07841b8c4c26b8", "level": "note", "message": {"text": "Unused endpoint: POST /api/approvals/:id"}, "properties": {"repobilityId": "d4852debc06d8bf4", "scanner": "scanner-primary", "fingerprint": "1c07841b8c4c26b8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ea24554e13329305", "level": "note", "message": {"text": "Unused endpoint: GET /api/background-tasks"}, "properties": {"repobilityId": "6e2840609852709d", "scanner": "scanner-primary", "fingerprint": "ea24554e13329305", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d30aa36f85b5752f", "level": "note", "message": {"text": "Unused endpoint: GET /api/activity"}, "properties": {"repobilityId": "384f4f98c9d5c3d8", "scanner": "scanner-primary", "fingerprint": "d30aa36f85b5752f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-52ae9bc4122c6fc8", "level": "note", "message": {"text": "Unused endpoint: GET /api/project-tasks"}, "properties": {"repobilityId": "4e601a3148b48ff3", "scanner": "scanner-primary", "fingerprint": "52ae9bc4122c6fc8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1d8e0b9ad6c2e94f", "level": "note", "message": {"text": "Unused endpoint: GET /api/project-tasks/:id"}, "properties": {"repobilityId": "2d34fbfd633b9a8d", "scanner": "scanner-primary", "fingerprint": "1d8e0b9ad6c2e94f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c77909cf1ca7bcbf", "level": "note", "message": {"text": "Unused endpoint: POST /api/project-tasks"}, "properties": {"repobilityId": "8fd36cb1c72b3e0d", "scanner": "scanner-primary", "fingerprint": "c77909cf1ca7bcbf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2266ed590d347bdb", "level": "note", "message": {"text": "Unused endpoint: PATCH /api/project-tasks/:id"}, "properties": {"repobilityId": "2425af10f52be295", "scanner": "scanner-primary", "fingerprint": "2266ed590d347bdb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6308876f229f3ce5", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/project-tasks/:id"}, "properties": {"repobilityId": "8e3f04635364951b", "scanner": "scanner-primary", "fingerprint": "6308876f229f3ce5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1f222f078444910a", "level": "note", "message": {"text": "Unused endpoint: GET /api/task-comments"}, "properties": {"repobilityId": "b8b9a5b5e2606453", "scanner": "scanner-primary", "fingerprint": "1f222f078444910a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cc7c9668fe18562a", "level": "note", "message": {"text": "Unused endpoint: POST /api/project-tasks/:id/comments"}, "properties": {"repobilityId": "b3d3c9eb820e3eef", "scanner": "scanner-primary", "fingerprint": "cc7c9668fe18562a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-655a90e60bd6b2b1", "level": "note", "message": {"text": "Unused endpoint: GET /api/facts"}, "properties": {"repobilityId": "8d598f3b80506b99", "scanner": "scanner-primary", "fingerprint": "655a90e60bd6b2b1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-44227e5ad90bce81", "level": "note", "message": {"text": "Unused endpoint: GET /api/facts/:category/:entity/:key"}, "properties": {"repobilityId": "a9deb112502bfd02", "scanner": "scanner-primary", "fingerprint": "44227e5ad90bce81", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a7050af82663d35f", "level": "note", "message": {"text": "Unused endpoint: POST /api/facts"}, "properties": {"repobilityId": "fbd767b22110c892", "scanner": "scanner-primary", "fingerprint": "a7050af82663d35f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}