{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "foundry_unresolved_feedback", "name": "Foundry mined unresolved feedback: szp2005/home-office-gear", "shortDescription": {"text": "Foundry mined unresolved feedback: szp2005/home-office-gear"}, "fullDescription": {"text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: szp2005/home-office-gear\nThread: szp2005/home-office-gear#1\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: szp2005/home-office-gear\nThread: szp2005/home-office-gear#1\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: szp2005/home-office-gear#1\nRepo: szp2005/home-office-gear\nIssue/PR number: 1\nGraph consistency label: needs_more_evidence\nNodes: 109\nEdges: 135\nNode types: {'pr_file': 100, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fi"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: szp2005/home-office-gear", "shortDescription": {"text": "Foundry mined assumption checks: szp2005/home-office-gear"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: szp2005/home-office-gear\nThread: szp2005/home-office-gear#1\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_artifact_without_verification_graph\nReasons: source_graph_has_real_artifacts, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: szp2005/home-office-gear#1\nRepo: szp2005/home-office-gear\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 100\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'docs_or_claims': 99, 'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4b64df5dc25acf64\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/szp2005/home-office-gear/pull/1\",\n    \"text\": \"GitHub "}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.62, "cwe": "", "owasp": ""}}, {"id": "scanner-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "0 test file(s) for 4 source file(s) (ratio 0.00). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci, 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": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/20688"}, "properties": {"repository": "szp2005/home-office-gear", "repoUrl": "https://github.com/szp2005/home-office-gear", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: szp2005/home-office-gear"}, "properties": {"repobilityId": 370506, "scanner": "foundry_dataset", "fingerprint": "c27a61e90696103da9d2fb70ad2f37910985d15574ed31147b73fcee0cf16edc", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"api_or_backend": 1, "docs_or_claims": 99, "human_feedback_general": 1, "unlinked_human_feedback": 1, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 135, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 100, "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_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 109, "node_types": {"repo": 1, "thread": 1, "comment": 1, "pr_file": 100, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "szp2005/home-office-gear#1", "issue_number": "1", "quality_tiers": {"unresolved": 3}, "repo_full_name": "szp2005/home-office-gear", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-6730e256a7d3e403", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {"api_or_backend": 4, "docs_or_claims": 396}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: szp2005/home-office-gear\nThread: szp2005/home-office-gear#1\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: szp2005/home-office-gear\nThread: szp2005/home-office-gear#1\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: szp2005/home-office-gear#1\nRepo: szp2005/home-office-gear\nIssue/PR number: 1\nGraph consistency label: needs_more_evidence\nNodes: 109\nEdges: 135\nNode types: {'pr_file': 100, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 100, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'docs_or_claims': 99, 'ambiguous_needs_more_evidence': 3, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'api_or_backend': 1, 'unlinked_human_feedback': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/szp2005/home-office-gear", "source_id": "graph-query-motif_query-2ccf9c7e3e04606a", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "szp2005/home-office-gear", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: szp2005/home-office-gear"}, "properties": {"repobilityId": 312786, "scanner": "foundry_dataset", "fingerprint": "3f8ac34d2a77c35395f4e2eec1c43c96d9ec1f75288919ad617220c4bfd80407", "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": "szp2005/home-office-gear#1", "human_labels": ["api_or_backend", "docs_or_claims", "human_feedback_general"], "issue_number": "1", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "szp2005/home-office-gear", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-5a003f0645d4b7fb", "helicopter_views": {}, "artifact_families": {"docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 100, "source_graph_label": "source_artifact_without_verification_graph", "changed_file_labels": {"api_or_backend": 1, "docs_or_claims": 99}, "linked_commit_count": 0, "helicopter_view_count": 0, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: szp2005/home-office-gear\nThread: szp2005/home-office-gear#1\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_artifact_without_verification_graph\nReasons: source_graph_has_real_artifacts, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: szp2005/home-office-gear#1\nRepo: szp2005/home-office-gear\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 100\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'docs_or_claims': 99, 'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4b64df5dc25acf64\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/szp2005/home-office-gear/pull/1\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: szp2005/home-office-gear\\nAuthor: szp2005 (User)\\nURL: https://github.com/szp2005/home-office-gear/pull/1\\nTitle: fix(content): backfill missing publishedAt via git history\\nBody:\\n## Summary\\n- Backfilled `publishedAt` for 284 home-office-gear posts using git first-add history.\\n- Added a build-time static sitemap generator so Cloudflare Pages overwrites stale `dist/sitemap.xml` after Astro build.\\n- Sitemap post URLs: 221 -> 284.\\n\\n## Verification\\n- `npm run build`\\n- `dist/sitemap.xml`: `sitemap_posts=284`, `md=284`\\n- `git diff --check`\\n\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-260fcc1612eb477a\",\n    \"filename\": \"content/posts/360-swivel-desk-clamp-mic-stand.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 0,\n    \"changes\": 1,\n    \"blob_url\": \"https://github.com/szp2005/home-office-gear/blob/8110abbc48c9714e222aef49510673c185a16678/content%2Fposts%2F360-swivel-desk-clamp-mic-stand.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-941d985fbb4ce328\",\n    \"filename\": \"content/posts/4k-ai-auto-framing-webcam-reviews.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 0,\n    \"changes\": 1,\n    \"blob_url\": \"https://github.com/szp2005/home-office-gear/blob/8110abbc48c9714e222aef49510673c185a16678/content%2Fposts%2F4k-ai-auto-framing-webcam-reviews.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-2099f2a64e301d1f\",\n    \"filename\": \"content/posts/acoustic-panels-for-home-office-soundproofing.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 0,\n    \"changes\": 1,\n    \"blob_url\": \"https://github.com/szp2005/home-office-gear/blob/8110abbc48c9714e222aef49510673c185a16678/content%2Fposts%2Facoustic-panels-for-home-office-soundproofing.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-3d327aefc216eb5a\",\n    \"filename\"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/szp2005/home-office-gear", "source_id": "comment-chain-pattern-assumption_checks-b4a2112e0e1a9d7c", "synthetic": false, "gold_label": "", "graph_label": "source_artifact_without_verification_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": "szp2005/home-office-gear", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "3c8bc4441c65cd91", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "2b5957befe3a0635", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "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": "074c1d84294f6fef", "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": "416bd32bc6362090", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}]}]}