{"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_assumption_check", "name": "Foundry mined assumption checks: Satyaamm/plowered", "shortDescription": {"text": "Foundry mined assumption checks: Satyaamm/plowered"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#6\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Satyaamm/plowered#6\nRepo: Satyaamm/plowered\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: 6\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 3, 'api_or_backend': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-24851a3c363bc733\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"b"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.62, "cwe": "", "owasp": ""}}, {"id": "foundry_schema_ui_api_gap", "name": "Foundry mined schema ui api mismatch: Satyaamm/plowered", "shortDescription": {"text": "Foundry mined schema ui api mismatch: Satyaamm/plowered"}, "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_high_confidence_link\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#6\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: Satyaamm/plowered\nThread: Satyaamm/plowered#6\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Satyaamm/plowered#6\nRepo: Satyaamm/plowered\nIssue/PR number: 6\nGraph consistency label: supported_by_high_confidence_link\nNodes: 20\nEdges: 34\nNode types: {'pr_file': 6, 'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touch"}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_auth_guardrail_gap", "name": "Foundry mined security auth guardrail gaps: Satyaamm/plowered", "shortDescription": {"text": "Foundry mined security auth guardrail gaps: Satyaamm/plowered"}, "fullDescription": {"text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#7\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#7\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Satyaamm/plowered#7\nRepo: Satyaamm/plowered\nIssue/PR number: 7\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 40\nNode types: {'pr_file': 8, 'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_c"}, "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: Satyaamm/plowered", "shortDescription": {"text": "Foundry mined mock as real or placeholder: Satyaamm/plowered"}, "fullDescription": {"text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#5\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: Satyaamm/plowered\nThread: Satyaamm/plowered#5\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Satyaamm/plowered#5\nRepo: Satyaamm/plowered\nIssue/PR number: 5\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 42\nNode types: {'pr_file': 9, 'commit': 4, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"id": "scanner-b8dac8054ba30acc", "name": "React Flow <MiniMap> without dark background \u2014 web/src/components/dag-editor.tsx:715", "shortDescription": {"text": "React Flow <MiniMap> without dark background \u2014 web/src/components/dag-editor.tsx:715"}, "fullDescription": {"text": "A bare <MiniMap> renders with the vendor's white default in dark themes. Wrap the canvas in a class that overrides `.react-flow__minimap` background, or pass an explicit `style`/`maskColor`/`bgColor`.\n\nWhy: P1 in CHECKLIST.md \u2014 vendor defaults bleed light through.\nRule id: fq.minimap.no-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-adec22e71c126ae4", "name": "React Flow <Controls> without dark theming \u2014 web/src/components/dag-editor.tsx:714", "shortDescription": {"text": "React Flow <Controls> without dark theming \u2014 web/src/components/dag-editor.tsx:714"}, "fullDescription": {"text": "`<Controls>` ships with white buttons. Override `.react-flow__controls` and `.react-flow__controls-button` in your stylesheet or pass a styled wrapper.\n\nWhy: P1 in CHECKLIST.md \u2014 vendor defaults bleed light through.\nRule id: fq.controls.no-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-14be2d2428936a37", "name": "React Flow <Controls> without dark theming \u2014 web/src/components/pipeline-dag.tsx:122", "shortDescription": {"text": "React Flow <Controls> without dark theming \u2014 web/src/components/pipeline-dag.tsx:122"}, "fullDescription": {"text": "`<Controls>` ships with white buttons. Override `.react-flow__controls` and `.react-flow__controls-button` in your stylesheet or pass a styled wrapper.\n\nWhy: P1 in CHECKLIST.md \u2014 vendor defaults bleed light through.\nRule id: fq.controls.no-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-efcbc1096ec8eca1", "name": "Docker base image is tag-pinned but not digest-pinned: golang:1.24-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: golang:1.24-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-1c9fc9c723ea5690", "name": "Docker base image is tag-pinned but not digest-pinned: gcr.io/distroless/static-debian12:nonroot", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: gcr.io/distroless/static-debian12:nonroot"}, "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-035f7c1c5fdedf29", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/src/components/product-tour.tsx:382", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/src/components/product-tour.tsx:382"}, "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-331a2016a3592ef9", "name": "Possible secret in web/src/app/(public)/signup/page.tsx", "shortDescription": {"text": "Possible secret in web/src/app/(public)/signup/page.tsx"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-46c644c6227e4d4a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "docker/login-action@v3 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-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "48 tests / 383 src (ratio 0.13)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 146 placeholder/mock markers across 42 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-11825279136b53a3", "name": "CI is configured but no tests are detected", "shortDescription": {"text": "CI is configured but no tests are detected"}, "fullDescription": {"text": "A CI pipeline exists, but the scan found no test files to gate. Opus labeled this generated-code pattern as config theater: release machinery exists, but it has little behavioral signal."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, tests. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-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-54f78df9ed8b9bf8", "name": "Commented-code block (5 lines) in web/next.config.mjs:5", "shortDescription": {"text": "Commented-code block (5 lines) in web/next.config.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0977bcd02ad34714", "name": "Commented-code block (12 lines) in web/src/middleware.ts:7", "shortDescription": {"text": "Commented-code block (12 lines) in web/src/middleware.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d180d9c1606ef6b2", "name": "Commented-code block (5 lines) in web/src/components/dag-editor.tsx:350", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/components/dag-editor.tsx:350"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fd56e4efcf0d41bc", "name": "Commented-code block (5 lines) in web/src/components/toast-bridge.tsx:13", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/components/toast-bridge.tsx:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f234a01f66e1c934", "name": "Commented-code block (5 lines) in web/src/components/cloud-icons.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/components/cloud-icons.tsx:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8736e789592c77ad", "name": "Commented-code block (5 lines) in web/src/components/require-auth.tsx:18", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/components/require-auth.tsx:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-90b2ac86c5f75201", "name": "Commented-code block (5 lines) in web/src/components/product-tour.tsx:415", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/components/product-tour.tsx:415"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-70db113cd55d6109", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/src/components/asset-tabs/lineage.tsx:78", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/src/components/asset-tabs/lineage.tsx:78"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7d2ed26eebf1341c", "name": "Commented-code block (7 lines) in web/src/components/asset-tabs/overview.tsx:601", "shortDescription": {"text": "Commented-code block (7 lines) in web/src/components/asset-tabs/overview.tsx:601"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d3b6e264023449c4", "name": "Commented-code block (5 lines) in web/src/app/providers.tsx:30", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/app/providers.tsx:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7e72e42ebcf68166", "name": "Commented-code block (5 lines) in web/src/app/(authed)/classify/[connectionId]/page.tsx:419", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/app/(authed)/classify/[connectionId]/page.tsx:419"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-567b138814b9df55", "name": "Commented-code block (6 lines) in web/src/lib/toast.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in web/src/lib/toast.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a7b00f41658f02a6", "name": "Commented-code block (5 lines) in web/src/lib/hooks/_fetch.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/lib/hooks/_fetch.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-429b70785927bbbf", "name": "Commented-code block (5 lines) in web/src/lib/hooks/use-connections.ts:73", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/lib/hooks/use-connections.ts:73"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-36a4ec8a9c707b32", "name": "Commented-code block (5 lines) in web/src/lib/hooks/use-assets.ts:73", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/lib/hooks/use-assets.ts:73"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1b5a76780c3df9aa", "name": "1 env vars used in code but missing from .env.example", "shortDescription": {"text": "1 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `PLOWERED_GATEWAY_SECRET`. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/18995"}, "properties": {"repository": "Satyaamm/plowered", "repoUrl": "https://github.com/Satyaamm/plowered", "branch": "main"}, "results": [{"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Satyaamm/plowered"}, "properties": {"repobilityId": 434267, "scanner": "foundry_dataset", "fingerprint": "f65a55af27cd3fc3f82c856b0b2d996df83555aac311f2acac4ef636031d5787", "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": "Satyaamm/plowered#6", "human_labels": ["api_or_backend", "data_schema_persistence", "source_or_other"], "issue_number": "6", "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": "Satyaamm/plowered", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-72dbd7438f85a01e", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 2, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 6, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 3, "source_or_other": 3}, "linked_commit_count": 5, "helicopter_view_count": 2, "source_artifact_count": 3, "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": 2, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#6\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Satyaamm/plowered#6\nRepo: Satyaamm/plowered\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: 6\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 3, 'api_or_backend': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-24851a3c363bc733\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Satyaamm/plowered/pull/6\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Satyaamm/plowered\\nAuthor: Satyaamm (User)\\nURL: https://github.com/Satyaamm/plowered/pull/6\\nTitle: feat(mcp): MCP server with stdio transport and catalog tools\\nBody:\\n## Summary\\n- pkg/mcp: JSON-RPC 2.0 message types, Server with dispatch (initialize, tools/list, tools/call, shutdown, notifications/initialized), ToolRegistry, StdioTransport\\n- internal/api/mcp: search_assets, get_asset, get_lineage tools wired to storage.Store\\n- cmd/plowered-mcp: tenant from env, stdio server, logs to stderr (stdout reserved for JSON-RPC)\\n- Tests for full session round-trip, unknown tool, unknown method\\n\\n## Test plan\\n- [ ] go test ./pkg/mcp/...\\n- [ ] PLOWERED_TENANT_ID=acme ./bin/plowered-mcp speaks MCP over stdio\\n- [ ] An MCP-compliant client lists 3 tools and calls each successfully\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-59e5aa5fccb393ab\",\n    \"filename\": \"cmd/plowered-mcp/main.go\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 76,\n    \"deletions\": 4,\n    \"changes\": 80,\n    \"blob_url\": \"https://github.com/Satyaamm/plowered/blob/cb70c475d4a36090ea65ee508a9a2b8edb172852/cmd%2Fplowered-mcp%2Fmain.go\"\n  },\n  {\n    \"id\": \"github-pr-file-file-1c8f18b96ece42de\",\n    \"filename\": \"internal/api/mcp/handlers.go\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"added\",\n    \"additions\": 238,\n    \"deletions\": 0,\n    \"changes\": 238,\n    \"blob_url\": \"https://github.com/Satyaamm/plowered/blob/cb70c475d4a36090ea65ee508a9a2b8edb172852/internal%2Fapi%2Fmcp%2Fhandlers.go\"\n  },\n  {\n    \"id\": \"github-pr-file-file-799eeefae1344a54\",\n    \"filename\": \"pkg/mcp/protocol.go\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 112,\n    \"deletions\": 0,\n    \"changes\": 112,\n    \"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Satyaamm/plowered", "source_id": "comment-chain-pattern-assumption_checks-26f4dc140693a4e4", "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": "Satyaamm/plowered", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Satyaamm/plowered"}, "properties": {"repobilityId": 434266, "scanner": "foundry_dataset", "fingerprint": "42edb6b01834c8e42bd5918d1ff87e9aff312e025037f4fa54a7dc371efa24be", "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": "Satyaamm/plowered#4", "human_labels": ["security_auth_secret", "source_or_other"], "issue_number": "4", "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": "Satyaamm/plowered", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-908100416516c202", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 2, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 3, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"source_or_other": 3}, "linked_commit_count": 3, "helicopter_view_count": 2, "source_artifact_count": 3, "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": 2, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#4\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Satyaamm/plowered#4\nRepo: Satyaamm/plowered\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: 3\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-0af518bdaf5de837\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Satyaamm/plowered/pull/4\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Satyaamm/plowered\\nAuthor: Satyaamm (User)\\nURL: https://github.com/Satyaamm/plowered/pull/4\\nTitle: feat(lineage): SQL parser and edge extractor\\nBody:\\n## Summary\\n- Token-aware SQL scanner respecting comments, identifiers, string literals, quoted names\\n- Coverage: INSERT, CREATE [OR REPLACE] [TEMP] TABLE/VIEW [MATERIALIZED] AS SELECT, UPDATE, MERGE, plus WITH CTEs around any of those\\n- Statement \u2192 EdgeProposal extraction\\n- Resolver maps qualified-name pairs to graph.Edge via caller-supplied lookup, recording misses\\n- 11 tests covering all patterns\\n\\nNo external SQL parser dep.\\n\\n## Test plan\\n- [ ] go test ./internal/core/lineage/...\\n- [ ] All 11 cases pass: INSERT SELECT, CREATE TABLE AS, CREATE VIEW, MERGE, CTEs, multi-statement, comments, string literals, quoted identifiers, resolver hits/misses\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-a82f80c74d843648\",\n    \"filename\": \"internal/core/lineage/extract.go\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 78,\n    \"deletions\": 0,\n    \"changes\": 78,\n    \"blob_url\": \"https://github.com/Satyaamm/plowered/blob/f796a482e9d7d2d5b2fb68dc22dc536edbf601e2/internal%2Fcore%2Flineage%2Fextract.go\"\n  },\n  {\n    \"id\": \"github-pr-file-file-7386ea3805d11498\",\n    \"filename\": \"internal/core/lineage/parser.go\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 455,\n    \"deletions\": 0,\n    \"changes\": 455,\n    \"blob_url\": \"https://github.com/Satyaamm/plowered/blob/f796a482e9d7d2d5b2fb68dc22dc536edbf601e2/internal%2Fcore%2Flineage%2Fparser.go\"\n  },\n  {\n    \"id\": \"github-pr-file-file-e401e9fa764f079a\",\n    \"filename\": \"internal/core/lineage/parser_test.go\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 181,\n    \"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Satyaamm/plowered", "source_id": "comment-chain-pattern-assumption_checks-dfcf5f14f6218f94", "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": "Satyaamm/plowered", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Satyaamm/plowered"}, "properties": {"repobilityId": 434265, "scanner": "foundry_dataset", "fingerprint": "fc7faf8db28ed96e37db433d519f6cc53745a7a9632025d41d01776606d88b21", "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": "Satyaamm/plowered#3", "human_labels": ["api_integration_gap", "source_or_other"], "issue_number": "3", "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": "Satyaamm/plowered", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-07f9cd8d16e215f9", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 2, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 7, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"source_or_other": 7}, "linked_commit_count": 5, "helicopter_view_count": 2, "source_artifact_count": 3, "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": 2, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#3\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Satyaamm/plowered#3\nRepo: Satyaamm/plowered\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: 7\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 7}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-786660e45b9a0f07\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Satyaamm/plowered/pull/3\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Satyaamm/plowered\\nAuthor: Satyaamm (User)\\nURL: https://github.com/Satyaamm/plowered/pull/3\\nTitle: feat(connectors): framework + relational connector\\nBody:\\n## Summary\\n- shared.Connector interface + Config + Run lifecycle + BatchedSink + Registry\\n- relational connector: crawls databases/schemas/tables/views/columns via information_schema; emits FK relationships as DEPENDS_ON edges\\n- Tests for registry, sink (insert + update path), run lifecycle, integration test gated on PLOWERED_TEST_DATABASE_URL\\n\\n## Test plan\\n- [ ] go test ./internal/connectors/...\\n- [ ] PLOWERED_TEST_DATABASE_URL set \u2192 relational integration test passes\\n- [ ] BatchedSink correctly upserts (CreateAsset \u2192 fallback to GetByQN + UpdateAsset on conflict)\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-5364ab294ed8bb13\",\n    \"filename\": \"go.mod\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 2,\n    \"changes\": 3,\n    \"blob_url\": \"https://github.com/Satyaamm/plowered/blob/71a85ac688d9eda9b7c7a128957eca9c58845d25/go.mod\"\n  },\n  {\n    \"id\": \"github-pr-file-file-a0c411e09edd2590\",\n    \"filename\": \"internal/connectors/relational/relational.go\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 292,\n    \"deletions\": 0,\n    \"changes\": 292,\n    \"blob_url\": \"https://github.com/Satyaamm/plowered/blob/71a85ac688d9eda9b7c7a128957eca9c58845d25/internal%2Fconnectors%2Frelational%2Frelational.go\"\n  },\n  {\n    \"id\": \"github-pr-file-file-ef5408de0a20c239\",\n    \"filename\": \"internal/connectors/relational/relational_test.go\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 66,\n    \"deletions\": 0,\n    \"changes\": 66,\n    \"blob_url\": \"https://github.com/Satyaamm/plowered/blob/71a85ac68\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Satyaamm/plowered", "source_id": "comment-chain-pattern-assumption_checks-3ec38feebe98c81e", "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": "Satyaamm/plowered", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Satyaamm/plowered"}, "properties": {"repobilityId": 434264, "scanner": "foundry_dataset", "fingerprint": "30a696b6aa8f6aa0638a43ea6d851911b6ab3142c27a17d2a7ec6d7181a74edc", "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": "Satyaamm/plowered#13", "human_labels": ["api_or_backend", "security_auth_secret", "ui_or_frontend"], "issue_number": "13", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "Satyaamm/plowered", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-fe7d184d1f787c10", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 2, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 5, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 2, "ui_or_frontend": 3}, "linked_commit_count": 5, "helicopter_view_count": 2, "source_artifact_count": 3, "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": 2, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#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_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Satyaamm/plowered#13\nRepo: Satyaamm/plowered\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: 5\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'api_or_backend': 2, 'ui_or_frontend': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ed4480211670217d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Satyaamm/plowered/pull/13\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Satyaamm/plowered\\nAuthor: Satyaamm (User)\\nURL: https://github.com/Satyaamm/plowered/pull/13\\nTitle: feat(web): SVG lineage graph in asset detail\\nBody:\\n## Summary\\nReplaces the flat upstream list on the asset detail page with a real lineage graph.\\n\\n- Backend lineage handler now hydrates neighbor assets and supports \\\\`direction=both\\\\` so the UI gets the full picture in one round-trip.\\n- New \\\\`LineageGraph\\\\` component: three-column hierarchical SVG (upstream \u2192 root \u2192 downstream) with bezier curves and arrow markers. Pure SVG, no physics solver, no animation library \u2014 fits in ~200 lines.\\n- Brand surfaces for the root, neutral for neighbors. All colors come from Fluent tokens so theme changes reflow without code edits.\\n- Each node is a clickable Link to its own detail page; navigates the lineage graph by clicking around.\\n\\n## Test plan\\n- [ ] go test ./internal/api/http/... (existing tests still pass with new neighbors field)\\n- [ ] cd web && npm run typecheck \u2014 clean\\n- [ ] Open /asset/[qn] for an asset with lineage \u2014 graph renders, clicking neighbors navigates\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-8c85e25002a85f02\",\n    \"filename\": \"internal/api/http/lineage.go\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 58,\n    \"deletions\": 12,\n    \"changes\": 70,\n    \"blob_url\": \"https://github.com/Satyaamm/plowered/blob/52fbf0b9b08e1ed4609a9caeaadc67cadc29f432/internal%2Fapi%2Fhttp%2Flineage.go\"\n  },\n  {\n    \"id\": \"github-pr-file-file-772af8a45f53da05\",\n    \"filename\": \"web/src/app/asset/[qn]/page.tsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 17,\n    \"changes\": 23,\n    \"blob_url\": \"https://github.com/Satyaamm/plowered/blob/52fbf0b9\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Satyaamm/plowered", "source_id": "comment-chain-pattern-assumption_checks-cc7f7597c2b3df24", "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": "Satyaamm/plowered", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Satyaamm/plowered"}, "properties": {"repobilityId": 434263, "scanner": "foundry_dataset", "fingerprint": "a3a8689a6931ad3378e1e3bc986eb2b439eb7a3a7714acadc7932f53e7b47652", "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": "Satyaamm/plowered#1", "human_labels": ["data_schema_persistence", "schema_or_data", "source_or_other"], "issue_number": "1", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.822, "repo_full_name": "Satyaamm/plowered", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-4e129be7c1a59e96", "helicopter_views": {"schemas": 2}, "artifact_families": {"ci": 2, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 8, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"schema_or_data": 2, "source_or_other": 6}, "linked_commit_count": 5, "helicopter_view_count": 2, "source_artifact_count": 3, "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": 2, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#1\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Satyaamm/plowered#1\nRepo: Satyaamm/plowered\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 8\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 6, 'schema_or_data': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6078a2403acd3207\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Satyaamm/plowered/pull/1\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Satyaamm/plowered\\nAuthor: Satyaamm (User)\\nURL: https://github.com/Satyaamm/plowered/pull/1\\nTitle: feat(storage): postgres adapter, migrations, and ploweredctl migrate\\nBody:\\n- internal/storage/postgres: pgx-based Store with row-level tenant isolation derived from ctx (cannot be passed in by handlers)\\r\\n- migrations 0001_init: assets, edges, tags, audit_events with tenant-leading composite indexes; pg_trgm + pgcrypto extensions\\r\\n- migrate runner over embed.FS with schema_migrations bookkeeping\\r\\n- cmd/ploweredctl: real `migrate up` command with --db / PLOWERED_DATABASE_URL\\r\\n- go.mod: add pgx/v5 dep\\r\\n- Makefile: make migrate + make test-postgres targets\\r\\n\\r\\nPostgres tests gate on PLOWERED_TEST_DATABASE_URL. Run locally with docker compose up -d && make test-postgres after `go mod tidy`.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-94c758b96315da0b\",\n    \"filename\": \"Makefile\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 7,\n    \"deletions\": 2,\n    \"changes\": 9,\n    \"blob_url\": \"https://github.com/Satyaamm/plowered/blob/8350423a15ceea7647876f8911785b4721db2f12/Makefile\"\n  },\n  {\n    \"id\": \"github-pr-file-file-48e331a2ad04a8b4\",\n    \"filename\": \"cmd/ploweredctl/main.go\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 79,\n    \"deletions\": 8,\n    \"changes\": 87,\n    \"blob_url\": \"https://github.com/Satyaamm/plowered/blob/8350423a15ceea7647876f8911785b4721db2f12/cmd%2Fploweredctl%2Fmain.go\"\n  },\n  {\n    \"id\": \"github-pr-file-file-e119b306bdc91232\",\n    \"filename\": \"go.mod\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 3,\n    \"changes\": 9,\n    \"blob_url\": \"https://github.com/Satyaamm/plowered/blob/8350423a15ceea7647876f8911785b4721db2f12/go.mod\"\n  }\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Satyaamm/plowered", "source_id": "comment-chain-pattern-assumption_checks-4b8c1372964ede50", "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": "Satyaamm/plowered", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: Satyaamm/plowered"}, "properties": {"repobilityId": 452757, "scanner": "foundry_dataset", "fingerprint": "067b84c9ce5eed284a055c14d84a9522c6c9e7845eb60a06a374024f01169935", "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": {"api_or_backend": 3, "source_or_other": 3, "verification_or_tests": 5, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 6, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 6, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Satyaamm/plowered#6", "issue_number": "6", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Satyaamm/plowered", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-10022c830bfc543b", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"api_or_backend": 12, "source_or_other": 12}}, "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: Satyaamm/plowered\nThread: Satyaamm/plowered#6\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: Satyaamm/plowered\nThread: Satyaamm/plowered#6\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Satyaamm/plowered#6\nRepo: Satyaamm/plowered\nIssue/PR number: 6\nGraph consistency label: supported_by_high_confidence_link\nNodes: 20\nEdges: 34\nNode types: {'pr_file': 6, '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': 6, 'comment_chain_touches_file': 6, 'issue_chain_touches_file': 6, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'source_or_other': 3, 'api_or_backend': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Satyaamm/plowered", "source_id": "graph-query-motif_query-5647a5579dd960c3", "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": "Satyaamm/plowered", "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: Satyaamm/plowered"}, "properties": {"repobilityId": 452756, "scanner": "foundry_dataset", "fingerprint": "d1d30a6df848035982869fdaf7cf889976faa74750825edc777f5960a5319c7e", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"data_schema": 1, "docs_or_claims": 2, "source_or_other": 4, "verification_or_tests": 4, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 6, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 6, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Satyaamm/plowered#14", "issue_number": "14", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Satyaamm/plowered", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-42bda28e2a95cb84", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"docs_or_claims": 8, "source_or_other": 16}}, "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: Satyaamm/plowered\nThread: Satyaamm/plowered#14\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: Satyaamm/plowered\nThread: Satyaamm/plowered#14\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Satyaamm/plowered#14\nRepo: Satyaamm/plowered\nIssue/PR number: 14\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 34\nNode types: {'pr_file': 6, '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': 6, 'comment_chain_touches_file': 6, 'issue_chain_touches_file': 6, '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: {'source_or_other': 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, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Satyaamm/plowered", "source_id": "graph-query-motif_query-5bab45a964220c4e", "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": "Satyaamm/plowered", "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: Satyaamm/plowered"}, "properties": {"repobilityId": 452755, "scanner": "foundry_dataset", "fingerprint": "455bf5541fbcbcda22e28cee896136ed0954b6321d2e18ee79af533879186b9e", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"data_schema": 1, "source_or_other": 7, "verification_or_tests": 4, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 7, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 7, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 21, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 7, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Satyaamm/plowered#11", "issue_number": "11", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Satyaamm/plowered", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-3a9a29c733596e8b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"source_or_other": 28}}, "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: Satyaamm/plowered\nThread: Satyaamm/plowered#11\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: Satyaamm/plowered\nThread: Satyaamm/plowered#11\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Satyaamm/plowered#11\nRepo: Satyaamm/plowered\nIssue/PR number: 11\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 37\nNode types: {'pr_file': 7, 'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 7, 'comment_chain_touches_file': 7, 'issue_chain_touches_file': 7, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'source_or_other': 7, 'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Satyaamm/plowered", "source_id": "graph-query-motif_query-08fa1d5d4ec279de", "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": "Satyaamm/plowered", "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: Satyaamm/plowered"}, "properties": {"repobilityId": 452754, "scanner": "foundry_dataset", "fingerprint": "1d6f9b9b6d475f49e85d633ef4a1e91134c44bab94a47f5d19d904859d135216", "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": {"commit_general": 1, "schema_or_data": 2, "source_or_other": 6, "verification_or_tests": 4, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 8, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 8, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 8, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Satyaamm/plowered#1", "issue_number": "1", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Satyaamm/plowered", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b09cb5ae6d887567", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"schema_or_data": 8, "source_or_other": 24}}, "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: Satyaamm/plowered\nThread: Satyaamm/plowered#1\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#1\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Satyaamm/plowered#1\nRepo: Satyaamm/plowered\nIssue/PR number: 1\nGraph consistency label: supported_by_high_confidence_link\nNodes: 22\nEdges: 40\nNode types: {'pr_file': 8, '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': 8, 'comment_chain_touches_file': 8, 'issue_chain_touches_file': 8, '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: {'source_or_other': 6, 'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 3, 'schema_or_data': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'commit_general': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Satyaamm/plowered", "source_id": "graph-query-motif_query-9bcf08365d393575", "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": "Satyaamm/plowered", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: Satyaamm/plowered"}, "properties": {"repobilityId": 454909, "scanner": "foundry_dataset", "fingerprint": "a4bae1ef9417a7095949ad3c76634d22dc7bbe6e4c1829e1c1b23f3bd237cee2", "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": {"api_or_backend": 8, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 4, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "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": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 8, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 8, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 8, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Satyaamm/plowered#7", "issue_number": "7", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Satyaamm/plowered", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-56716e9518fa27f1", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 32}}, "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: Satyaamm/plowered\nThread: Satyaamm/plowered#7\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#7\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Satyaamm/plowered#7\nRepo: Satyaamm/plowered\nIssue/PR number: 7\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 40\nNode types: {'pr_file': 8, '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': 8, 'comment_chain_touches_file': 8, 'issue_chain_touches_file': 8, '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: {'api_or_backend': 8, 'verification_or_tests': 4, '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, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Satyaamm/plowered", "source_id": "graph-query-motif_query-0d6b9e6dd08e1a97", "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": "Satyaamm/plowered", "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: Satyaamm/plowered"}, "properties": {"repobilityId": 454908, "scanner": "foundry_dataset", "fingerprint": "d4913b7af7cd4af841304a2431a3012a6c081b64aabb59c83be0caf677255c72", "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": {"source_or_other": 3, "security_auth_secret": 1, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 3, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 1, "comment_chain_links_commit": 3, "comment_chain_touches_file": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 15, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 1, "pr_file": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Satyaamm/plowered#4", "issue_number": "4", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Satyaamm/plowered", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-13a776bca266ba1b", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"source_or_other": 12}}, "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: Satyaamm/plowered\nThread: Satyaamm/plowered#4\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#4\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Satyaamm/plowered#4\nRepo: Satyaamm/plowered\nIssue/PR number: 4\nGraph consistency label: supported_by_high_confidence_link\nNodes: 15\nEdges: 23\nNode types: {'pr_file': 3, 'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 3, 'comment_chain_links_commit': 3, 'comment_chain_touches_file': 3, 'chain_has_link_quality': 3, 'issue_chain_touches_file': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'source_or_other': 3, 'verification_or_tests': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'comment_has_related_commit_context': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/Satyaamm/plowered", "source_id": "graph-query-motif_query-8f9acd46a3c18991", "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": "Satyaamm/plowered", "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: Satyaamm/plowered"}, "properties": {"repobilityId": 454907, "scanner": "foundry_dataset", "fingerprint": "a1eaad3de78c51c4bf3960b734116d44a87e2e28f44d3104f4bddb4bcf78d4f2", "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, "api_or_backend": 2, "ui_or_frontend": 3, "security_or_secrets": 2, "generated_provenance": 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": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 5, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 5, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 19, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 5, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Satyaamm/plowered#13", "issue_number": "13", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Satyaamm/plowered", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-a8a4e7c1e052bb76", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"api_or_backend": 8, "ui_or_frontend": 12}}, "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: Satyaamm/plowered\nThread: Satyaamm/plowered#13\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#13\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Satyaamm/plowered#13\nRepo: Satyaamm/plowered\nIssue/PR number: 13\nGraph consistency label: supported_by_high_confidence_link\nNodes: 19\nEdges: 31\nNode types: {'pr_file': 5, 'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 5, 'comment_chain_links_commit': 5, 'comment_chain_touches_file': 5, 'issue_chain_touches_file': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ui_or_frontend': 3, 'claimed_resolved_unverified': 3, 'api_or_backend': 2, 'bug_fix': 2, 'security_or_secrets': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 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/Satyaamm/plowered", "source_id": "graph-query-motif_query-d44d3be45accdb8f", "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": "Satyaamm/plowered", "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: Satyaamm/plowered"}, "properties": {"repobilityId": 451067, "scanner": "foundry_dataset", "fingerprint": "4075430a3d45f5bb0e6112040e4d0b4057a019dbc78ea5824bf0ee14a97f96fb", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"data_schema": 1, "docs_or_claims": 1, "source_or_other": 8, "mock_placeholder": 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": "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": 42, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 9, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 9, "thread_has_comment_chain": 1, "comment_chain_links_commit": 4, "comment_chain_touches_file": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 22, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 1, "pr_file": 9, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Satyaamm/plowered#5", "issue_number": "5", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Satyaamm/plowered", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-792a7f0618fb681a", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"docs_or_claims": 4, "source_or_other": 32}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#5\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: Satyaamm/plowered\nThread: Satyaamm/plowered#5\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Satyaamm/plowered#5\nRepo: Satyaamm/plowered\nIssue/PR number: 5\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 42\nNode types: {'pr_file': 9, 'commit': 4, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 9, 'comment_chain_touches_file': 9, 'issue_chain_touches_file': 9, 'comment_chain_links_commit': 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: {'source_or_other': 8, '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, 'docs_or_claims': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- 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/Satyaamm/plowered", "source_id": "graph-query-motif_query-19da08a5c6a0dc3a", "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": "Satyaamm/plowered", "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: Satyaamm/plowered"}, "properties": {"repobilityId": 451066, "scanner": "foundry_dataset", "fingerprint": "93493214b3dcf402b5b0fc1f6bbdc85c6dd456ed6df1692a43c8e3645b12ddef", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 1, "api_or_backend": 11, "source_or_other": 2, "mock_placeholder": 1, "verification_or_tests": 2, "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": 51, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 13, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 3, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 25, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 1, "pr_file": 13, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Satyaamm/plowered#2", "issue_number": "2", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Satyaamm/plowered", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-68dcf79c6d1a2abe", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 44, "source_or_other": 8}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#2\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#2\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Satyaamm/plowered#2\nRepo: Satyaamm/plowered\nIssue/PR number: 2\nGraph consistency label: supported_by_verification_signal\nNodes: 25\nEdges: 51\nNode types: {'pr_file': 13, 'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 13, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 3, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'api_or_backend': 11, 'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'verification_or_tests': 2, '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, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Satyaamm/plowered", "source_id": "graph-query-motif_query-6071dc520b232a77", "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": "Satyaamm/plowered", "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: Satyaamm/plowered"}, "properties": {"repobilityId": 451065, "scanner": "foundry_dataset", "fingerprint": "df78aa09820cc31c0d4b12420aae3085ddc8a561b80fbeb97faf5330f7a6f03a", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "test_or_ci": 1, "data_schema": 1, "api_or_backend": 4, "docs_or_claims": 1, "source_or_other": 14, "mock_placeholder": 1, "security_or_auth": 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": 61, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 21, "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": 35, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 21, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Satyaamm/plowered#12", "issue_number": "12", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Satyaamm/plowered", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b2beb60e192b30e9", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 16, "docs_or_claims": 4, "source_or_other": 56, "security_or_auth": 4}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: Satyaamm/plowered\nThread: Satyaamm/plowered#12\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: Satyaamm/plowered\nThread: Satyaamm/plowered#12\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Satyaamm/plowered#12\nRepo: Satyaamm/plowered\nIssue/PR number: 12\nGraph consistency label: supported_by_verification_signal\nNodes: 35\nEdges: 61\nNode types: {'pr_file': 21, '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': 21, '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: {'source_or_other': 14, 'api_or_backend': 4, 'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_or_ci': 1, 'docs_or_claims': 1, 'security_or_auth': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Satyaamm/plowered", "source_id": "graph-query-motif_query-e8819e2cd589d0e7", "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": "Satyaamm/plowered", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-b8dac8054ba30acc", "level": "note", "message": {"text": "React Flow <MiniMap> without dark background \u2014 web/src/components/dag-editor.tsx:715"}, "properties": {"repobilityId": "69decca00bcdc51d", "scanner": "scanner-primary", "fingerprint": "b8dac8054ba30acc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.minimap.no-bg"]}}, {"ruleId": "scanner-adec22e71c126ae4", "level": "note", "message": {"text": "React Flow <Controls> without dark theming \u2014 web/src/components/dag-editor.tsx:714"}, "properties": {"repobilityId": "82e3759d2f51649e", "scanner": "scanner-primary", "fingerprint": "adec22e71c126ae4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.controls.no-bg"]}}, {"ruleId": "scanner-14be2d2428936a37", "level": "note", "message": {"text": "React Flow <Controls> without dark theming \u2014 web/src/components/pipeline-dag.tsx:122"}, "properties": {"repobilityId": "67e54b39aaa9b378", "scanner": "scanner-primary", "fingerprint": "14be2d2428936a37", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.controls.no-bg"]}}, {"ruleId": "scanner-efcbc1096ec8eca1", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: golang:1.24-alpine"}, "properties": {"repobilityId": "465fe5a0a1c37e9d", "scanner": "scanner-primary", "fingerprint": "efcbc1096ec8eca1", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "deploy/docker/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1c9fc9c723ea5690", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: gcr.io/distroless/static-debian12:nonroot"}, "properties": {"repobilityId": "43c6eef136ec62c2", "scanner": "scanner-primary", "fingerprint": "1c9fc9c723ea5690", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "deploy/docker/Dockerfile"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-035f7c1c5fdedf29", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/src/components/product-tour.tsx:382"}, "properties": {"repobilityId": "d58f6342405fab6f", "scanner": "scanner-primary", "fingerprint": "035f7c1c5fdedf29", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/src/components/product-tour.tsx"}, "region": {"startLine": 382}}}]}, {"ruleId": "scanner-331a2016a3592ef9", "level": "error", "message": {"text": "Possible secret in web/src/app/(public)/signup/page.tsx"}, "properties": {"repobilityId": "ddd889b05468d10c", "scanner": "scanner-primary", "fingerprint": "331a2016a3592ef9", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/src/app/(public)/signup/page.tsx"}, "region": {"startLine": 177}}}]}, {"ruleId": "scanner-331a2016a3592ef9", "level": "error", "message": {"text": "Possible secret in web/src/app/(public)/signup/page.tsx"}, "properties": {"repobilityId": "ddd889b05468d10c", "scanner": "scanner-primary", "fingerprint": "331a2016a3592ef9", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/src/app/(public)/signup/page.tsx"}, "region": {"startLine": 178}}}]}, {"ruleId": "scanner-331a2016a3592ef9", "level": "error", "message": {"text": "Possible secret in web/src/app/(public)/signup/page.tsx"}, "properties": {"repobilityId": "ddd889b05468d10c", "scanner": "scanner-primary", "fingerprint": "331a2016a3592ef9", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/src/app/(public)/signup/page.tsx"}, "region": {"startLine": 179}}}]}, {"ruleId": "scanner-331a2016a3592ef9", "level": "error", "message": {"text": "Possible secret in web/src/app/(public)/signup/page.tsx"}, "properties": {"repobilityId": "ddd889b05468d10c", "scanner": "scanner-primary", "fingerprint": "331a2016a3592ef9", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/src/app/(public)/signup/page.tsx"}, "region": {"startLine": 181}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c71c4053464cd39c", "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": 27}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "632563f5562f1eb0", "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": 35}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d08151bb856f4436", "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": 48}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "632563f5562f1eb0", "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": 75}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "632563f5562f1eb0", "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": 112}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "632563f5562f1eb0", "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": 150}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f0dc584a111ffc00", "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": 194}}}]}, {"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-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "08c644f38f56a7ef", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "29c5cea1beb324a0", "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": "487238744710ef46", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-11825279136b53a3", "level": "warning", "message": {"text": "CI is configured but no tests are detected"}, "properties": {"repobilityId": "3b17438ca7d8d4f3", "scanner": "scanner-primary", "fingerprint": "11825279136b53a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "ci", "config-theater", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "f9631b402ee74e61", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "f5c4c9fe52669773", "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": "f717891c7d27ee9b", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-54f78df9ed8b9bf8", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/next.config.mjs:5"}, "properties": {"repobilityId": "39816123a8e06a57", "scanner": "scanner-primary", "fingerprint": "54f78df9ed8b9bf8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0977bcd02ad34714", "level": "none", "message": {"text": "Commented-code block (12 lines) in web/src/middleware.ts:7"}, "properties": {"repobilityId": "5925ef1f928fece7", "scanner": "scanner-primary", "fingerprint": "0977bcd02ad34714", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d180d9c1606ef6b2", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/components/dag-editor.tsx:350"}, "properties": {"repobilityId": "5923a4858f086ff5", "scanner": "scanner-primary", "fingerprint": "d180d9c1606ef6b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd56e4efcf0d41bc", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/components/toast-bridge.tsx:13"}, "properties": {"repobilityId": "2dd8e14433b3c23e", "scanner": "scanner-primary", "fingerprint": "fd56e4efcf0d41bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f234a01f66e1c934", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/components/cloud-icons.tsx:3"}, "properties": {"repobilityId": "18e2c4fc392ae9e5", "scanner": "scanner-primary", "fingerprint": "f234a01f66e1c934", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8736e789592c77ad", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/components/require-auth.tsx:18"}, "properties": {"repobilityId": "7b67261becb306a4", "scanner": "scanner-primary", "fingerprint": "8736e789592c77ad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-90b2ac86c5f75201", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/components/product-tour.tsx:415"}, "properties": {"repobilityId": "0a40dc3b4430834d", "scanner": "scanner-primary", "fingerprint": "90b2ac86c5f75201", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70db113cd55d6109", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/src/components/asset-tabs/lineage.tsx:78"}, "properties": {"repobilityId": "1d9f832d11eced6d", "scanner": "scanner-primary", "fingerprint": "70db113cd55d6109", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7d2ed26eebf1341c", "level": "none", "message": {"text": "Commented-code block (7 lines) in web/src/components/asset-tabs/overview.tsx:601"}, "properties": {"repobilityId": "2ec39e5300761bc9", "scanner": "scanner-primary", "fingerprint": "7d2ed26eebf1341c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d3b6e264023449c4", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/app/providers.tsx:30"}, "properties": {"repobilityId": "2f7b2be10853eb9b", "scanner": "scanner-primary", "fingerprint": "d3b6e264023449c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e72e42ebcf68166", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/app/(authed)/classify/[connectionId]/page.tsx:419"}, "properties": {"repobilityId": "e762a2ba4acd3674", "scanner": "scanner-primary", "fingerprint": "7e72e42ebcf68166", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-567b138814b9df55", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/src/lib/toast.ts:3"}, "properties": {"repobilityId": "0ac5df9000889b4d", "scanner": "scanner-primary", "fingerprint": "567b138814b9df55", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7b00f41658f02a6", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/lib/hooks/_fetch.ts:5"}, "properties": {"repobilityId": "85acaed9134f038f", "scanner": "scanner-primary", "fingerprint": "a7b00f41658f02a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-429b70785927bbbf", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/lib/hooks/use-connections.ts:73"}, "properties": {"repobilityId": "c20df0b350224f3f", "scanner": "scanner-primary", "fingerprint": "429b70785927bbbf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-36a4ec8a9c707b32", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/lib/hooks/use-assets.ts:73"}, "properties": {"repobilityId": "b4a4493eec18d932", "scanner": "scanner-primary", "fingerprint": "36a4ec8a9c707b32", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b5a76780c3df9aa", "level": "none", "message": {"text": "1 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "d04379b337b44a15", "scanner": "scanner-primary", "fingerprint": "1b5a76780c3df9aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}]}]}