{"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: vredin/osint", "shortDescription": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "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: vredin/osint\nThread: vredin/osint#9\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#9\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#9\nRepo: vredin/osint\nIssue/PR number: 9\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: vredin/osint", "shortDescription": {"text": "Foundry mined blueprint gap alignment: vredin/osint"}, "fullDescription": {"text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#21\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#21\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#21\nRepo: vredin/osint\nIssue/PR number: 21\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 38\nNode types: {'pr_file': 6, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment"}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: vredin/osint", "shortDescription": {"text": "Foundry mined assumption checks: vredin/osint"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: vredin/osint\nThread: vredin/osint#5\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#5\nRepo: vredin/osint\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5718aae55e76f89d\",\n    \"kind\": \"issue_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/issues/5\",\n    \"text\": \"GitHub fee"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.62, "cwe": "", "owasp": ""}}, {"id": "foundry_test_ci_gap", "name": "Foundry mined test ci gap after feedback: vredin/osint", "shortDescription": {"text": "Foundry mined test ci gap after feedback: vredin/osint"}, "fullDescription": {"text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#21\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: vredin/osint\nThread: vredin/osint#21\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#21\nRepo: vredin/osint\nIssue/PR number: 21\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 38\nNode types: {'pr_file': 6, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding"}, "properties": {"scanner": "foundry_dataset", "category": "testing", "severity": "high", "confidence": 0.78, "cwe": "", "owasp": ""}}, {"id": "foundry_schema_ui_api_gap", "name": "Foundry mined schema ui api mismatch: vredin/osint", "shortDescription": {"text": "Foundry mined schema ui api mismatch: vredin/osint"}, "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: assumption_check\nRepo: vredin/osint\nThread: vredin/osint#15\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: vredin/osint\nThread: vredin/osint#15\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#15\nRepo: vredin/osint\nIssue/PR number: 15\nGraph consistency label: assumption_check\nNodes: 13\nEdges: 18\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_"}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: vredin/osint", "shortDescription": {"text": "Foundry mined bad chains: vredin/osint"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#9\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#9\nRepo: vredin/osint\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4989ada6ba88ed8c\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/v"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "high", "confidence": 0.84, "cwe": "", "owasp": ""}}, {"id": "foundry_failing_ci_claim", "name": "Foundry mined claimed resolved with failing ci: vredin/osint", "shortDescription": {"text": "Foundry mined claimed resolved with failing ci: vredin/osint"}, "fullDescription": {"text": "Graph query export: Claimed resolved with failing CI\nQuery id: claimed_resolved_with_failing_ci\nQuery type: motif_query\nIntent: Hard negatives where CI/failure evidence contradicts a resolution claim.\nMotif: claimed_resolved_with_failing_ci\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#7\nEvidence:\nGraph motif: Claimed resolved while CI or failure evidence contradicts it\nMotif id: claimed_resolved_with_failing_ci\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#7\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#7\nRepo: vredin/osint\nIssue/PR number: 7\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 18\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_ou"}, "properties": {"scanner": "foundry_dataset", "category": "ci", "severity": "critical", "confidence": 0.86, "cwe": "", "owasp": ""}}, {"id": "foundry_auth_guardrail_gap", "name": "Foundry mined security auth guardrail gaps: vredin/osint", "shortDescription": {"text": "Foundry mined security auth guardrail gaps: vredin/osint"}, "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: needs_more_evidence\nRepo: vredin/osint\nThread: vredin/osint#9\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#9\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#9\nRepo: vredin/osint\nIssue/PR number: 9\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, '"}, "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: vredin/osint", "shortDescription": {"text": "Foundry mined mock as real or placeholder: vredin/osint"}, "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: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#7\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: vredin/osint\nThread: vredin/osint#7\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#7\nRepo: vredin/osint\nIssue/PR number: 7\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 18\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'is"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"id": "scanner-d27dfe2f7b543ff5", "name": "Possibly dead Python function: normalize_telegram_input", "shortDescription": {"text": "Possibly dead Python function: normalize_telegram_input"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-71a8f510b7bea170", "name": "Possibly dead Python function: search_telegram_accounts_by_phone", "shortDescription": {"text": "Possibly dead Python function: search_telegram_accounts_by_phone"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d40b8ddfa090b6c2", "name": "Possibly dead Python function: search_telegram_accounts_by_username", "shortDescription": {"text": "Possibly dead Python function: search_telegram_accounts_by_username"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb203ef4b7b8686e", "name": "Possibly dead Python function: add_telegram_account", "shortDescription": {"text": "Possibly dead Python function: add_telegram_account"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6036cd69cffe4839", "name": "Possibly dead Python function: run_hudson_check_sync", "shortDescription": {"text": "Possibly dead Python function: run_hudson_check_sync"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9de59c35460c6e31", "name": "Possibly dead Python function: normalize_telegram_id", "shortDescription": {"text": "Possibly dead Python function: normalize_telegram_id"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-33511ee8a67f59a3", "name": "Stray `console.log` in TS/JS \u2014 src/admin/static/htmx.min.js:1", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/admin/static/htmx.min.js:1"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-de3c1f217d72a063", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-73213ad67df2ea7d", "name": "Possible secret in scripts/pg_init.sh", "shortDescription": {"text": "Possible secret in scripts/pg_init.sh"}, "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-f81dc1d2b30b4080", "name": "Possible secret in tmp/OSINTBOT/config.py", "shortDescription": {"text": "Possible secret in tmp/OSINTBOT/config.py"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-427824f08836114a", "name": "Insecure pattern 'new_function_used' in src/admin/static/htmx.min.js:1", "shortDescription": {"text": "Insecure pattern 'new_function_used' in src/admin/static/htmx.min.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b0a492d57fe099b6", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/admin/static/htmx.min.js:1", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/admin/static/htmx.min.js:1"}, "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-7c6795d6251125a1", "name": "Insecure pattern 'insert_adjacent_html' in src/admin/static/htmx.min.js:1", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in src/admin/static/htmx.min.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4f0198369c5029bd", "name": "Insecure pattern 'domparser_html_parse' in src/admin/static/htmx.min.js:1", "shortDescription": {"text": "Insecure pattern 'domparser_html_parse' in src/admin/static/htmx.min.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (domparser_html_parse). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8980acde11f2879d", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/routers/accept_invite.py:183", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/routers/accept_invite.py:183"}, "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-67bcbd99759e410b", "name": "Very large file: tests/unit/admin/test_users_screen.py (1846 lines)", "shortDescription": {"text": "Very large file: tests/unit/admin/test_users_screen.py (1846 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e71afbec4a237b4f", "name": "Very large file: tests/unit/admin/test_offline_db_screen.py (1500 lines)", "shortDescription": {"text": "Very large file: tests/unit/admin/test_offline_db_screen.py (1500 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ba19828c0bed1a79", "name": "Very large file: src/admin/router.py (5267 lines)", "shortDescription": {"text": "Very large file: src/admin/router.py (5267 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b1f5225f583b41c7", "name": "Very large file: src/admin/work_lookup.py (1802 lines)", "shortDescription": {"text": "Very large file: src/admin/work_lookup.py (1802 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 86 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 30 placeholder/mock markers across 14 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-38bfb0554f63d6b4", "name": "Commented-code block (5 lines) in tests/test_trust_score_ui.py:101", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_trust_score_ui.py:101"}, "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-c4cd901657795593", "name": "Commented-code block (6 lines) in tests/integration/conftest.py:115", "shortDescription": {"text": "Commented-code block (6 lines) in tests/integration/conftest.py:115"}, "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-8f01522623f1e0f8", "name": "Commented-code block (5 lines) in tests/unit/test_t156_sync_signoff_flags.py:454", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/test_t156_sync_signoff_flags.py:454"}, "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-05f895ea128b343a", "name": "Legacy-named symbol `env_backup` in tests/unit/test_invite.py:372", "shortDescription": {"text": "Legacy-named symbol `env_backup` in tests/unit/test_invite.py:372"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-92b1a962e262a057", "name": "Legacy-named symbol `audit_log_v2` in tests/unit/test_check_audit_migration.py:206", "shortDescription": {"text": "Legacy-named symbol `audit_log_v2` in tests/unit/test_check_audit_migration.py:206"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-54b11f8a19608941", "name": "Commented-code block (6 lines) in tests/unit/auth/test_password_reset.py:319", "shortDescription": {"text": "Commented-code block (6 lines) in tests/unit/auth/test_password_reset.py:319"}, "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-aceefc9f7f853e9c", "name": "Legacy-named symbol `pep_check_v1` in tests/unit/risk/test_rule_parser.py:9", "shortDescription": {"text": "Legacy-named symbol `pep_check_v1` in tests/unit/risk/test_rule_parser.py:9"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ce81f8e98273607e", "name": "Commented-code block (6 lines) in tests/unit/tasks/test_case_celery_registry.py:441", "shortDescription": {"text": "Commented-code block (6 lines) in tests/unit/tasks/test_case_celery_registry.py:441"}, "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-2ab81ebdaffd2956", "name": "Legacy-named symbol `pgbackrest_full_backup` in tests/unit/tasks/test_backup_tasks.py:18", "shortDescription": {"text": "Legacy-named symbol `pgbackrest_full_backup` in tests/unit/tasks/test_backup_tasks.py:18"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-75a2789f795afad3", "name": "Commented-code block (5 lines) in tests/unit/admin/test_i18n.py:357", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/admin/test_i18n.py:357"}, "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-82a5f2216339a324", "name": "Legacy-named symbol `test_error_renders_without_link_or_copy` in tests/unit/admin/test_templates.py:500", "shortDescription": {"text": "Legacy-named symbol `test_error_renders_without_link_or_copy` in tests/unit/admin/test_templates.py:500"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-915000677dce32fa", "name": "Legacy-named symbol `all_old` in tests/unit/admin/managers/test_user_provisioning.py:729", "shortDescription": {"text": "Legacy-named symbol `all_old` in tests/unit/admin/managers/test_user_provisioning.py:729"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-12db5cd738c5cd57", "name": "Legacy-named symbol `unknown_adapter_v2` in tests/unit/reports/test_degraded_badge.py:59", "shortDescription": {"text": "Legacy-named symbol `unknown_adapter_v2` in tests/unit/reports/test_degraded_badge.py:59"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4666275b41120a83", "name": "Commented-code block (6 lines) in tests/unit/routers/test_cases_endpoints.py:306", "shortDescription": {"text": "Commented-code block (6 lines) in tests/unit/routers/test_cases_endpoints.py:306"}, "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-0acec6a97c94aee4", "name": "Commented-code block (5 lines) in tests/unit/routers/test_dsar_request.py:166", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/routers/test_dsar_request.py:166"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-81a52e163ba4dedd", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/check_dpia_artifacts.py:27", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_dpia_artifacts.py:27"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3fbf1a1931d42f1e", "name": "Stub function `increment_general_count` (body is just `pass`/`return`) \u2014 tmp/OSINTBOT/handlers/telegram.py:152", "shortDescription": {"text": "Stub function `increment_general_count` (body is just `pass`/`return`) \u2014 tmp/OSINTBOT/handlers/telegram.py:152"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9369a4a24d8bec42", "name": "Legacy-named symbol `pep_check_v1` in alembic/versions/20260511_0010_config_risk_rules.py:54", "shortDescription": {"text": "Legacy-named symbol `pep_check_v1` in alembic/versions/20260511_0010_config_risk_rules.py:54"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-73e94c6fdca05c39", "name": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 alembic/versions/20260511_0000_baseline.py:30", "shortDescription": {"text": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 alembic/versions/20260511_0000_baseline.py:30"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d720ac91bbd45a5", "name": "Commented-code block (5 lines) in alembic/versions/20260528_0077_add_trust_score.py:20", "shortDescription": {"text": "Commented-code block (5 lines) in alembic/versions/20260528_0077_add_trust_score.py:20"}, "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-31a05f4e238914dc", "name": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 alembic/versions/20260511_0001_extensions_searchpath.py:20", "shortDescription": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 alembic/versions/20260511_0001_extensions_searchpath.py:20"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-75f3c9a47139e0c5", "name": "Legacy-named symbol `config_sources_backup` in alembic/versions/20260511_0008_config_sources.py:201", "shortDescription": {"text": "Legacy-named symbol `config_sources_backup` in alembic/versions/20260511_0008_config_sources.py:201"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d85c09810c3a3240", "name": "Commented-code block (6 lines) in alembic/versions/20260517_0051_organizations.py:35", "shortDescription": {"text": "Commented-code block (6 lines) in alembic/versions/20260517_0051_organizations.py:35"}, "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-5e1c1e9abda5bc27", "name": "Commented-code block (5 lines) in src/main.py:199", "shortDescription": {"text": "Commented-code block (5 lines) in src/main.py:199"}, "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-ca653808784c6cf5", "name": "Commented-code block (5 lines) in src/adapters/opensanctions.py:73", "shortDescription": {"text": "Commented-code block (5 lines) in src/adapters/opensanctions.py: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-1530df2fd233546d", "name": "Commented-code block (5 lines) in src/adapters/offline_db.py:430", "shortDescription": {"text": "Commented-code block (5 lines) in src/adapters/offline_db.py:430"}, "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-b8a19b5320bbb081", "name": "Commented-code block (5 lines) in src/adapters/youcontrol.py:151", "shortDescription": {"text": "Commented-code block (5 lines) in src/adapters/youcontrol.py:151"}, "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-c78d1a2f347752b4", "name": "Commented-code block (5 lines) in src/adapters/opendatabot.py:150", "shortDescription": {"text": "Commented-code block (5 lines) in src/adapters/opendatabot.py:150"}, "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-b2ee4722a4392b8f", "name": "Commented-code block (5 lines) in src/auth/invite.py:56", "shortDescription": {"text": "Commented-code block (5 lines) in src/auth/invite.py:56"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0a2add00d90277d0", "name": "Commented-code block (6 lines) in src/auth/totp.py:68", "shortDescription": {"text": "Commented-code block (6 lines) in src/auth/totp.py:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8a2436eb502aeb2f", "name": "Commented-code block (5 lines) in src/auth/offboarding.py:90", "shortDescription": {"text": "Commented-code block (5 lines) in src/auth/offboarding.py:90"}, "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-85e7ad1310edd1f5", "name": "Commented-code block (5 lines) in src/auth/permissions.py:188", "shortDescription": {"text": "Commented-code block (5 lines) in src/auth/permissions.py:188"}, "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-84a782f8dfad89b0", "name": "Commented-code block (5 lines) in src/auth/idempotency.py:33", "shortDescription": {"text": "Commented-code block (5 lines) in src/auth/idempotency.py:33"}, "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-a2fe5135a2482800", "name": "Commented-code block (5 lines) in src/telegram/routers/unified_search.py:263", "shortDescription": {"text": "Commented-code block (5 lines) in src/telegram/routers/unified_search.py:263"}, "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-7030aaf990006f1e", "name": "Legacy-named symbol `pgbackrest_full_backup` in src/worker/beat_schedule.py:103", "shortDescription": {"text": "Legacy-named symbol `pgbackrest_full_backup` in src/worker/beat_schedule.py:103"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-241d5a735702a11b", "name": "Commented-code block (5 lines) in src/worker/celery_app.py:111", "shortDescription": {"text": "Commented-code block (5 lines) in src/worker/celery_app.py:111"}, "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-e4b85654fb4546f2", "name": "Commented-code block (6 lines) in src/tasks/signoff.py:235", "shortDescription": {"text": "Commented-code block (6 lines) in src/tasks/signoff.py:235"}, "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-2bacf78392873c1d", "name": "Legacy-named symbol `pgbackrest_full_backup` in src/tasks/backup.py:8", "shortDescription": {"text": "Legacy-named symbol `pgbackrest_full_backup` in src/tasks/backup.py:8"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf1603732b44df5e", "name": "Commented-code block (5 lines) in src/tasks/dsar.py:167", "shortDescription": {"text": "Commented-code block (5 lines) in src/tasks/dsar.py:167"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a8f222a0314c608", "name": "Commented-code block (9 lines) in src/tasks/audit.py:100", "shortDescription": {"text": "Commented-code block (9 lines) in src/tasks/audit.py:100"}, "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-abd66ec14acea254", "name": "Commented-code block (8 lines) in src/admin/router.py:4374", "shortDescription": {"text": "Commented-code block (8 lines) in src/admin/router.py:4374"}, "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-6098a735c03fc5aa", "name": "Commented-code block (6 lines) in src/admin/work_cases.py:181", "shortDescription": {"text": "Commented-code block (6 lines) in src/admin/work_cases.py:181"}, "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-e2f7318607b6063e", "name": "Commented-code block (5 lines) in src/admin/work_lookup.py:211", "shortDescription": {"text": "Commented-code block (5 lines) in src/admin/work_lookup.py:211"}, "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-e3c022cdd1a4dd31", "name": "Commented-code block (6 lines) in src/routers/accept_invite.py:313", "shortDescription": {"text": "Commented-code block (6 lines) in src/routers/accept_invite.py:313"}, "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-20f9c71f40b5dd19", "name": "Commented-code block (5 lines) in src/routers/auth.py:84", "shortDescription": {"text": "Commented-code block (5 lines) in src/routers/auth.py:84"}, "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-1e149a1c305de753", "name": "Commented-code block (5 lines) in src/routers/cases.py:525", "shortDescription": {"text": "Commented-code block (5 lines) in src/routers/cases.py:525"}, "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-bddda3d5a14c7401", "name": "29 env vars used in code but missing from .env.example", "shortDescription": {"text": "29 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `APP_BASE_URL`, `APP_ENV`, `BREVO_SENDER_ADDRESS`, `BREVO_SMTP_KEY`, `BREVO_SMTP_LOGIN`, `BUDGET_OVERRUN_TOLERANCE_USD`, `DATA_GOV_UA_COURT_RESOURCE_ID`, `DB_IMPORT_URL` + 21 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ntmp/OSINTBOT/services/hudson_checker.py:run_hudson_check_sync, tmp/OSINTBOT/services/hudson_checker.py:run_hudson_check\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nalembic/versions/20260612_0092_compliance_cases_create_permission.py:upgrade, alembic/versions/20260612_0092_compliance_cases_create_permission.py:downgrade, alembic/versions/20260602_0080_work_section_compliance_security_permissions.py:downgrade\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c54c6fb8e364daaa", "name": "Near-duplicate function bodies in 16 places", "shortDescription": {"text": "Near-duplicate function bodies in 16 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsrc/adapters/osint_services.py:search, src/adapters/osint_services.py:search, src/adapters/osint_services.py:search, src/adapters/osint_services.py:search\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-33a6b62e30ce7ab4", "name": "Near-duplicate function bodies in 6 places", "shortDescription": {"text": "Near-duplicate function bodies in 6 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsrc/admin/router.py:dashboard_system_status, src/admin/router.py:llm_cost_dashboard, src/admin/router.py:pdf_settings_page, src/admin/router.py:dossier_link_settings_page\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsrc/admin/router.py:users_list, src/admin/router.py:invite_form, src/admin/router.py:sources_list, src/admin/router.py:source_create_action\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c4340ecb25576775", "name": "FastAPI POST `work_block_add` without auth dependency \u2014 src/admin/work_cases.py:397", "shortDescription": {"text": "FastAPI POST `work_block_add` without auth dependency \u2014 src/admin/work_cases.py:397"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-470b6d880c66ef3b", "name": "FastAPI POST `work_block_save` without auth dependency \u2014 src/admin/work_cases.py:463", "shortDescription": {"text": "FastAPI POST `work_block_save` without auth dependency \u2014 src/admin/work_cases.py:463"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6c36e9b5203ea671", "name": "FastAPI POST `work_block_delete` without auth dependency \u2014 src/admin/work_cases.py:528", "shortDescription": {"text": "FastAPI POST `work_block_delete` without auth dependency \u2014 src/admin/work_cases.py:528"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-da0cdfbca434bca3", "name": "FastAPI POST `telegram_webhook` without auth dependency \u2014 src/routers/telegram_webhook.py:32", "shortDescription": {"text": "FastAPI POST `telegram_webhook` without auth dependency \u2014 src/routers/telegram_webhook.py:32"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cb5ddf107c7072b8", "name": "FastAPI PUT `save_annotations` without auth dependency \u2014 src/routers/dossier_edit.py:383", "shortDescription": {"text": "FastAPI PUT `save_annotations` without auth dependency \u2014 src/routers/dossier_edit.py:383"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-25b8878448a83608", "name": "FastAPI POST `refresh_tokens` without auth dependency \u2014 src/routers/auth.py:358", "shortDescription": {"text": "FastAPI POST `refresh_tokens` without auth dependency \u2014 src/routers/auth.py:358"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2da6efe121044570", "name": "FastAPI POST `upload_polygraphy` without auth dependency \u2014 src/routers/cases.py:560", "shortDescription": {"text": "FastAPI POST `upload_polygraphy` without auth dependency \u2014 src/routers/cases.py:560"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f5382f3d8f1b4054", "name": "FastAPI POST `biometric_search` without auth dependency \u2014 src/routers/cases.py:574", "shortDescription": {"text": "FastAPI POST `biometric_search` without auth dependency \u2014 src/routers/cases.py:574"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5baa8971ebe192a1", "name": "Unused endpoint: GET /", "shortDescription": {"text": "Unused endpoint: GET /"}, "fullDescription": {"text": "`src/main.py` declares `GET /` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a4dfcad3eb1618a", "name": "Unused endpoint: GET /login", "shortDescription": {"text": "Unused endpoint: GET /login"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /login` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0e4ff048607f1451", "name": "Unused endpoint: POST /login-action", "shortDescription": {"text": "Unused endpoint: POST /login-action"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /login-action` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-99fc36db98c134ce", "name": "Unused endpoint: POST /logout", "shortDescription": {"text": "Unused endpoint: POST /logout"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /logout` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f91a0db35555adb5", "name": "Unused endpoint: POST /set-language", "shortDescription": {"text": "Unused endpoint: POST /set-language"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /set-language` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a1713d08c2923730", "name": "Unused endpoint: GET /totp/setup", "shortDescription": {"text": "Unused endpoint: GET /totp/setup"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /totp/setup` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5318e12cbdea835f", "name": "Unused endpoint: POST /totp/setup-action", "shortDescription": {"text": "Unused endpoint: POST /totp/setup-action"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /totp/setup-action` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd8dc4599ec52a08", "name": "Unused endpoint: GET /stats", "shortDescription": {"text": "Unused endpoint: GET /stats"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /stats` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2a366262a6be358f", "name": "Unused endpoint: GET /activity", "shortDescription": {"text": "Unused endpoint: GET /activity"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /activity` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-093377515e64cb68", "name": "Unused endpoint: GET /system-status", "shortDescription": {"text": "Unused endpoint: GET /system-status"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /system-status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9e45898af0cb2fc5", "name": "Unused endpoint: GET /users/", "shortDescription": {"text": "Unused endpoint: GET /users/"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /users/` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b6077ca419fe557b", "name": "Unused endpoint: GET /users/rows", "shortDescription": {"text": "Unused endpoint: GET /users/rows"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /users/rows` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c0111b00cbaa1489", "name": "Unused endpoint: GET /users/invite-form", "shortDescription": {"text": "Unused endpoint: GET /users/invite-form"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /users/invite-form` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9c611360be34e7b", "name": "Unused endpoint: POST /users/invite-action", "shortDescription": {"text": "Unused endpoint: POST /users/invite-action"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /users/invite-action` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63a29ab589b44639", "name": "Unused endpoint: POST /invites/{invite_id}/revoke-action", "shortDescription": {"text": "Unused endpoint: POST /invites/{invite_id}/revoke-action"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /invites/{invite_id}/revoke-action` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8e863220dc4d9e6b", "name": "Unused endpoint: POST /invites/{invite_id}/resend-action", "shortDescription": {"text": "Unused endpoint: POST /invites/{invite_id}/resend-action"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /invites/{invite_id}/resend-action` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aeadc9a881435ec1", "name": "Unused endpoint: POST /users/{user_id}/deactivate-action", "shortDescription": {"text": "Unused endpoint: POST /users/{user_id}/deactivate-action"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /users/{user_id}/deactivate-action` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c73ebf5e022382d9", "name": "Unused endpoint: PATCH /users/{user_id}/role-action", "shortDescription": {"text": "Unused endpoint: PATCH /users/{user_id}/role-action"}, "fullDescription": {"text": "`src/admin/router.py` declares `PATCH /users/{user_id}/role-action` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff5c44bc66143a25", "name": "Unused endpoint: GET /users/{user_id}/access", "shortDescription": {"text": "Unused endpoint: GET /users/{user_id}/access"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /users/{user_id}/access` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24f4ec607925f080", "name": "Unused endpoint: POST /users/{user_id}/access", "shortDescription": {"text": "Unused endpoint: POST /users/{user_id}/access"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /users/{user_id}/access` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b2e9d4ee072bc291", "name": "Unused endpoint: POST /users/{user_id}/tg-link-action", "shortDescription": {"text": "Unused endpoint: POST /users/{user_id}/tg-link-action"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /users/{user_id}/tg-link-action` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0746e81afcdcbef9", "name": "Unused endpoint: POST /users/{user_id}/tg-unlink-action", "shortDescription": {"text": "Unused endpoint: POST /users/{user_id}/tg-unlink-action"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /users/{user_id}/tg-unlink-action` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9705163bda52703f", "name": "Unused endpoint: GET /sources/", "shortDescription": {"text": "Unused endpoint: GET /sources/"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /sources/` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6cce5042e3334c7", "name": "Unused endpoint: PATCH /sources/{source_id}/toggle-action", "shortDescription": {"text": "Unused endpoint: PATCH /sources/{source_id}/toggle-action"}, "fullDescription": {"text": "`src/admin/router.py` declares `PATCH /sources/{source_id}/toggle-action` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb640682af9dcca0", "name": "Unused endpoint: GET /sources/create-form", "shortDescription": {"text": "Unused endpoint: GET /sources/create-form"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /sources/create-form` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b6bb654a5c98fe9d", "name": "Unused endpoint: POST /sources/create-action", "shortDescription": {"text": "Unused endpoint: POST /sources/create-action"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /sources/create-action` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9871da12aa1100c7", "name": "Unused endpoint: GET /sources/{source_id}/row", "shortDescription": {"text": "Unused endpoint: GET /sources/{source_id}/row"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /sources/{source_id}/row` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-43df45d7d7ee5f98", "name": "Unused endpoint: GET /sources/{source_id}/edit-form", "shortDescription": {"text": "Unused endpoint: GET /sources/{source_id}/edit-form"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /sources/{source_id}/edit-form` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8170d9904055848d", "name": "Unused endpoint: POST /sources/{source_id}/edit-action", "shortDescription": {"text": "Unused endpoint: POST /sources/{source_id}/edit-action"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /sources/{source_id}/edit-action` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a89671563c9ea01e", "name": "Unused endpoint: PATCH /api/sources/{source_id}/trust-score", "shortDescription": {"text": "Unused endpoint: PATCH /api/sources/{source_id}/trust-score"}, "fullDescription": {"text": "`src/admin/router.py` declares `PATCH /api/sources/{source_id}/trust-score` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4247f0e83a1c9885", "name": "Unused endpoint: GET /risk-rules/", "shortDescription": {"text": "Unused endpoint: GET /risk-rules/"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /risk-rules/` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-54d2ed50ab21e823", "name": "Unused endpoint: GET /risk-rules/{rule_id}", "shortDescription": {"text": "Unused endpoint: GET /risk-rules/{rule_id}"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /risk-rules/{rule_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ab43c944ddb4b1f6", "name": "Unused endpoint: PATCH /risk-rules/{rule_id}", "shortDescription": {"text": "Unused endpoint: PATCH /risk-rules/{rule_id}"}, "fullDescription": {"text": "`src/admin/router.py` declares `PATCH /risk-rules/{rule_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-64b6525b51c8a88f", "name": "Unused endpoint: GET /llm-cost/", "shortDescription": {"text": "Unused endpoint: GET /llm-cost/"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /llm-cost/` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2398516e80e841ac", "name": "Unused endpoint: PATCH /config/llm_budget", "shortDescription": {"text": "Unused endpoint: PATCH /config/llm_budget"}, "fullDescription": {"text": "`src/admin/router.py` declares `PATCH /config/llm_budget` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0c4b78f8a534d37f", "name": "Unused endpoint: GET /settings/", "shortDescription": {"text": "Unused endpoint: GET /settings/"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /settings/` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4945c416bd2cb137", "name": "Unused endpoint: POST /settings/api-keys/{source_id}/key", "shortDescription": {"text": "Unused endpoint: POST /settings/api-keys/{source_id}/key"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /settings/api-keys/{source_id}/key` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0627b3e2cb686c8f", "name": "Unused endpoint: DELETE /settings/api-keys/{source_id}/key", "shortDescription": {"text": "Unused endpoint: DELETE /settings/api-keys/{source_id}/key"}, "fullDescription": {"text": "`src/admin/router.py` declares `DELETE /settings/api-keys/{source_id}/key` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-40ef73981e8aa4a4", "name": "Unused endpoint: GET /settings/pdf/", "shortDescription": {"text": "Unused endpoint: GET /settings/pdf/"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /settings/pdf/` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b507ee325957b59d", "name": "Unused endpoint: PATCH /config/pdf_watermark_type", "shortDescription": {"text": "Unused endpoint: PATCH /config/pdf_watermark_type"}, "fullDescription": {"text": "`src/admin/router.py` declares `PATCH /config/pdf_watermark_type` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ffa587c9b97c0768", "name": "Unused endpoint: GET /settings/dossier-link/", "shortDescription": {"text": "Unused endpoint: GET /settings/dossier-link/"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /settings/dossier-link/` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63a8f69e95373863", "name": "Unused endpoint: PATCH /config/dossier_link_settings", "shortDescription": {"text": "Unused endpoint: PATCH /config/dossier_link_settings"}, "fullDescription": {"text": "`src/admin/router.py` declares `PATCH /config/dossier_link_settings` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c8be7e86018ed090", "name": "Unused endpoint: GET /telegram-settings", "shortDescription": {"text": "Unused endpoint: GET /telegram-settings"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /telegram-settings` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e693fc49b4caf7b5", "name": "Unused endpoint: POST /config/telegram_totp_hours", "shortDescription": {"text": "Unused endpoint: POST /config/telegram_totp_hours"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /config/telegram_totp_hours` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2aa73158551581ae", "name": "Unused endpoint: GET /api/totp-grace-status", "shortDescription": {"text": "Unused endpoint: GET /api/totp-grace-status"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /api/totp-grace-status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dd3fcb05a41163bd", "name": "Unused endpoint: GET /partials/totp-grace-form", "shortDescription": {"text": "Unused endpoint: GET /partials/totp-grace-form"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /partials/totp-grace-form` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49d0e2674a5f7709", "name": "Unused endpoint: POST /settings/totp-grace-period", "shortDescription": {"text": "Unused endpoint: POST /settings/totp-grace-period"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /settings/totp-grace-period` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63a495ca07f8a011", "name": "Unused endpoint: GET /audit/integrity-check/", "shortDescription": {"text": "Unused endpoint: GET /audit/integrity-check/"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /audit/integrity-check/` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9fadccc0ca8a149b", "name": "Unused endpoint: GET /dsar/approvals", "shortDescription": {"text": "Unused endpoint: GET /dsar/approvals"}, "fullDescription": {"text": "`src/admin/router.py` declares `GET /dsar/approvals` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-64704c4e8e42056f", "name": "Unused endpoint: POST /dsar/{request_id}/approve", "shortDescription": {"text": "Unused endpoint: POST /dsar/{request_id}/approve"}, "fullDescription": {"text": "`src/admin/router.py` declares `POST /dsar/{request_id}/approve` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/22440"}, "properties": {"repository": "vredin/osint", "repoUrl": "https://github.com/vredin/osint", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371354, "scanner": "foundry_dataset", "fingerprint": "68d898162adcfd0b04b731a6741f961342d5116ca382b96284f36de8d99e7678", "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": {"security_auth_secret": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#9", "issue_number": "9", "quality_tiers": {"unresolved": 4}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-6bdac1408a4fcb03", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: vredin/osint\nThread: vredin/osint#9\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#9\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#9\nRepo: vredin/osint\nIssue/PR number: 9\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_feedback_general': 1, 'human_reported_issue_no_linked_fix': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 4}\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/vredin/osint", "source_id": "graph-query-motif_query-3fb6ae82120d6ca5", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371353, "scanner": "foundry_dataset", "fingerprint": "c7e0f7080ade9592a4f3643001126213a0b6fbfdd4e0e864e0091eba10d1409f", "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": {"security_auth_secret": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#8", "issue_number": "8", "quality_tiers": {"unresolved": 4}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-9a379e8199a511e1", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: vredin/osint\nThread: vredin/osint#8\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: vredin/osint\nThread: vredin/osint#8\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#8\nRepo: vredin/osint\nIssue/PR number: 8\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_feedback_general': 1, 'human_reported_issue_no_linked_fix': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 4}\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/vredin/osint", "source_id": "graph-query-motif_query-9243e655a1a07d0f", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371352, "scanner": "foundry_dataset", "fingerprint": "333d210dd164a8c942577be811d0de53829622f470aa8a8703b110834f4f9eb5", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "ci_failure_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#7", "issue_number": "7", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-f699c1e2f2806bd4", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#7\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: vredin/osint\nThread: vredin/osint#7\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#7\nRepo: vredin/osint\nIssue/PR number: 7\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 18\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_failing_ci_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'data_schema': 1, 'ci_failure_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-24284246b91eaf01", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371351, "scanner": "foundry_dataset", "fingerprint": "bccf7d7cc05482b7ba393ca721ca3264936564f38ce630f1338c225091d4dca7", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 3, "ci_failure_signal": 1, "security_auth_secret": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 16, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#6", "issue_number": "6", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-0da93546315b4ebc", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#6\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: vredin/osint\nThread: vredin/osint#6\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#6\nRepo: vredin/osint\nIssue/PR number: 6\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 16\nEdges: 20\nNode types: {'link_quality': 4, 'commit': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_failing_ci_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-7fa66e92b198c5b6", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371350, "scanner": "foundry_dataset", "fingerprint": "b2538941a4f3fa347642194c6674dee3cdc8010aefd14c9eb74fa03de72a1fec", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "ci_failure_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#3", "issue_number": "3", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-6f4a92d8a6fb18b8", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#3\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: vredin/osint\nThread: vredin/osint#3\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#3\nRepo: vredin/osint\nIssue/PR number: 3\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 18\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_failing_ci_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'data_schema': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-7e3377bee36d57d5", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371349, "scanner": "foundry_dataset", "fingerprint": "c4fac106c50fddacc2723c0213a12e52cf0a4964e199fa1ab432f3e8c7ce1c64", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_or_ci": 3, "security_auth_secret": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "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_touches_file": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "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": "vredin/osint#22", "issue_number": "22", "quality_tiers": {"unresolved": 3}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-d7ee24c16f17fafb", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {"test_or_ci": 12}}, "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: vredin/osint\nThread: vredin/osint#22\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: vredin/osint\nThread: vredin/osint#22\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#22\nRepo: vredin/osint\nIssue/PR number: 22\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 20\nNode types: {'pr_file': 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_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: {'test_or_ci': 3, 'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-81b1c059b1333bf8", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371348, "scanner": "foundry_dataset", "fingerprint": "ba3d4b475d3ac8d9beac86470871556a4dafd2c09fcad12e0d32e7762b1a9fa3", "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": {"source_or_other": 1, "security_auth_secret": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 14, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 1, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 10, "node_types": {"repo": 1, "thread": 1, "comment": 1, "pr_file": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#20", "issue_number": "20", "quality_tiers": {"unresolved": 3}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-788bbe13cca51234", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {"source_or_other": 4}}, "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: vredin/osint\nThread: vredin/osint#20\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#20\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#20\nRepo: vredin/osint\nIssue/PR number: 20\nGraph consistency label: needs_more_evidence\nNodes: 10\nEdges: 14\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_touches_file': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'source_or_other': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-08c6fa9bb94ecd17", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371347, "scanner": "foundry_dataset", "fingerprint": "8db06963a74ceab7d78abdbc6c2bc02dd6ad0744a1c453bae0c31f9dd692224b", "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": {"source_or_other": 2, "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": 17, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 2, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 1, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 11, "node_types": {"repo": 1, "thread": 1, "comment": 1, "pr_file": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#19", "issue_number": "19", "quality_tiers": {"unresolved": 3}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-870ce3336850e281", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {"source_or_other": 8}}, "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: vredin/osint\nThread: vredin/osint#19\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#19\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#19\nRepo: vredin/osint\nIssue/PR number: 19\nGraph consistency label: needs_more_evidence\nNodes: 11\nEdges: 17\nNode types: {'link_quality': 3, 'pr_file': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'thread_touches_file': 2, 'comment_chain_touches_file': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'source_or_other': 2, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-a275ae9a509e562b", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371346, "scanner": "foundry_dataset", "fingerprint": "c5cf700c00c4f3e85460928b9a402ae7cd86fefc266bc35e9c789a4bed917c29", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_or_ci": 3, "test_ci_gap": 1, "verification_or_tests": 5, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 3, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#18", "issue_number": "18", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-8f1d2306e90c8d71", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 15}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#18\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#18\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#18\nRepo: vredin/osint\nIssue/PR number: 18\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 37\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 6, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_touches_file': 3, 'issue_chain_touches_file': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'test_or_ci': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-e2fb4172944e9804", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371345, "scanner": "foundry_dataset", "fingerprint": "4437d337dc74d35ef9ea4a3e7fd72e4f8f7f3c1da74023215565efccda7d5936", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_or_ci": 1, "security_auth_secret": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 14, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 1, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 10, "node_types": {"repo": 1, "thread": 1, "comment": 1, "pr_file": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#17", "issue_number": "17", "quality_tiers": {"unresolved": 3}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-ce44fc2bd90ec22e", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {"test_or_ci": 4}}, "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: vredin/osint\nThread: vredin/osint#17\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#17\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#17\nRepo: vredin/osint\nIssue/PR number: 17\nGraph consistency label: needs_more_evidence\nNodes: 10\nEdges: 14\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_touches_file': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'test_or_ci': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-2aed63dad2519394", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371344, "scanner": "foundry_dataset", "fingerprint": "1be74ebbe37303fe2f37a1dcf76b905cccfa651a3475c596cd275c88c3185386", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "verification_or_tests": 4, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 28, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 4, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 2, "pr_file": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#16", "issue_number": "16", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-d8fa1e86c3f5bac7", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 5}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#16\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#16\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#16\nRepo: vredin/osint\nIssue/PR number: 16\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 28\nNode types: {'link_quality': 5, 'commit': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_touches_file': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'test_or_ci': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-59c2c95a2a4e841f", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371343, "scanner": "foundry_dataset", "fingerprint": "68c77cc19f765ff0b03a02cce29733c03a534b17374939c92906dbd2663a947b", "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": {"source_or_other": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 18, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 1, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "thread": 1, "comment": 1, "pr_file": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#15", "issue_number": "15", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-4e4811895a924e97", "graph_gold_label": "assumption_check", "changed_file_labels": {"source_or_other": 4}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: assumption_check\nRepo: vredin/osint\nThread: vredin/osint#15\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: vredin/osint\nThread: vredin/osint#15\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#15\nRepo: vredin/osint\nIssue/PR number: 15\nGraph consistency label: assumption_check\nNodes: 13\nEdges: 18\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_touches_file': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'source_or_other': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-679fa38ee6bd6beb", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371342, "scanner": "foundry_dataset", "fingerprint": "39117e44ea894db6b69a7a98e9685ed3745ba07b48eea155bdcfffbe618b219e", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_or_ci": 3, "security_auth_secret": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "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_touches_file": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "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": "vredin/osint#14", "issue_number": "14", "quality_tiers": {"unresolved": 3}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-2193e30d65d5e952", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {"test_or_ci": 12}}, "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: vredin/osint\nThread: vredin/osint#14\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#14\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#14\nRepo: vredin/osint\nIssue/PR number: 14\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 20\nNode types: {'pr_file': 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_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: {'test_or_ci': 3, 'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-a6cefa8eb07bc8db", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371341, "scanner": "foundry_dataset", "fingerprint": "0ef96c3671de0d97c53cd16fc39c089faa107085f961440fa37782c4a8a8d7f3", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 3, "data_schema": 2, "mock_placeholder": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#13", "issue_number": "13", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-908c6880c5ba6baf", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#13\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#13\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#13\nRepo: vredin/osint\nIssue/PR number: 13\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'data_schema': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-af8f2fc30451b5a5", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371340, "scanner": "foundry_dataset", "fingerprint": "0fe11bed594b623ad89e921157f01ac853f426b1a9b746e78a3626385d53a91e", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 3, "data_schema": 2, "mock_placeholder": 1, "ci_failure_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#12", "issue_number": "12", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-70c88586254ab9c8", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#12\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#12\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#12\nRepo: vredin/osint\nIssue/PR number: 12\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 18\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_failing_ci_signal': 3, 'data_schema': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-789d9a8be8c7bd08", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371339, "scanner": "foundry_dataset", "fingerprint": "884b9d03333cf7536550d299daf70bb306ad89c677fea68769f26875d8394bbd", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 2, "mock_placeholder": 1, "ci_failure_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 19, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#11", "issue_number": "11", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-ab333d3407502149", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#11\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: vredin/osint\nThread: vredin/osint#11\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#11\nRepo: vredin/osint\nIssue/PR number: 11\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 15\nEdges: 19\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_links_commit': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_failing_ci_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-a3535aa206a5ab15", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: vredin/osint"}, "properties": {"repobilityId": 371338, "scanner": "foundry_dataset", "fingerprint": "1037c232d5ae968c040de6f94cf77a8f6f17f439c65cce6e170a6c820fd00958", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#10", "issue_number": "10", "quality_tiers": {"unresolved": 4}, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-13c56ed1918639fc", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: vredin/osint\nThread: vredin/osint#10\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: vredin/osint\nThread: vredin/osint#10\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#10\nRepo: vredin/osint\nIssue/PR number: 10\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_no_linked_fix': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 4}\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/vredin/osint", "source_id": "graph-query-motif_query-2963501e84e83309", "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": "vredin/osint", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: vredin/osint"}, "properties": {"repobilityId": 357279, "scanner": "foundry_dataset", "fingerprint": "e217539affdd1012175dd96e29873dccf8624a649e29e40a8d3b30a7874b8502", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 6, "test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 38, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 6, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 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": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 6, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#21", "issue_number": "21", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d988705491982cc6", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 24}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#21\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#21\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#21\nRepo: vredin/osint\nIssue/PR number: 21\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 38\nNode types: {'pr_file': 6, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 6, 'comment_chain_touches_file': 6, 'issue_chain_touches_file': 6, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'test_or_ci': 6, 'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-4e69fdf4dcbceb5c", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: vredin/osint"}, "properties": {"repobilityId": 357278, "scanner": "foundry_dataset", "fingerprint": "4a35ed61fb00d4d48dac57d92af40d35c644969c6eaab9645223e309126f519a", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 3, "test_ci_gap": 1, "verification_or_tests": 5, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 3, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#18", "issue_number": "18", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-bbf40c6eae358e1b", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 15}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#18\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#18\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#18\nRepo: vredin/osint\nIssue/PR number: 18\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 37\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 6, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_touches_file': 3, 'issue_chain_touches_file': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'test_or_ci': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-1712db87aeffc8cc", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: vredin/osint"}, "properties": {"repobilityId": 357277, "scanner": "foundry_dataset", "fingerprint": "3363ba24df96eb5027c01dbcf8cecebe3b6e62d64db474ed8cd7e6bc744cac65", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "verification_or_tests": 4, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 28, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 4, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 2, "pr_file": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#16", "issue_number": "16", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-2a8257e8241cf4f8", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 5}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#16\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#16\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#16\nRepo: vredin/osint\nIssue/PR number: 16\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 28\nNode types: {'link_quality': 5, 'commit': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_touches_file': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'test_or_ci': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-9ed66dd4c2e0bc7a", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: vredin/osint"}, "properties": {"repobilityId": 357276, "scanner": "foundry_dataset", "fingerprint": "5d58872bc77e2a0a66ed9d048e95884fbce75f314751af374d109b5da5cdce60", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"source_or_other": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 18, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 1, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "thread": 1, "comment": 1, "pr_file": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#15", "issue_number": "15", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "vredin/osint", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-18095284c3ea3d9e", "graph_gold_label": "assumption_check", "changed_file_labels": {"source_or_other": 4}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: vredin/osint\nThread: vredin/osint#15\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#15\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#15\nRepo: vredin/osint\nIssue/PR number: 15\nGraph consistency label: assumption_check\nNodes: 13\nEdges: 18\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_touches_file': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'source_or_other': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-c92151dde74d360c", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: vredin/osint"}, "properties": {"repobilityId": 357275, "scanner": "foundry_dataset", "fingerprint": "55e9e7cf8fbf94cfd3be66800a77bef960061d15963d7c6c9cc2fa2e3057a0be", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "data_schema": 2, "mock_placeholder": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#13", "issue_number": "13", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1ff4cdb759e4e73f", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#13\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: vredin/osint\nThread: vredin/osint#13\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#13\nRepo: vredin/osint\nIssue/PR number: 13\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'data_schema': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-ed8de5fad449ad24", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: vredin/osint"}, "properties": {"repobilityId": 313666, "scanner": "foundry_dataset", "fingerprint": "d5d432db190cdb01981c6ba2c6d277b23a3c2ab53631cce8ce85ca2ee7cc9795", "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": "vredin/osint#5", "human_labels": ["runtime_failure"], "issue_number": "5", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "vredin/osint", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-04c102cffa4ae219", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: vredin/osint\nThread: vredin/osint#5\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#5\nRepo: vredin/osint\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5718aae55e76f89d\",\n    \"kind\": \"issue_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/issues/5\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: issue_body\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/5\\nTitle: T-009: Offline DB adapters (SQLite, CSV, Excel)\\nBody:\\n# T-009: Offline DB Adapters (SQLite, CSV, Excel)\\n\\n**Created**: 2026-05-07\\n**Risk**: Low\\n**Status**: Backlog\\n\\n## 1. Overview\\n\\nProvides connectors for querying local offline databases \u2014 SQLite files, and CSV/Excel exports that have been pre-ingested into SQLite. This covers: NACP declaration exports, \u0441\u0443\u0434\u043e\u0432\u0456 \u0440\u0456\u0448\u0435\u043d\u043d\u044f CSVs, property registry extracts, internal investigation DBs, and arbitrary leaked databases. All file I/O is blocking, so adapters use `execution_mode = \\\"sync_io\\\"` and run in the T-004 ThreadPoolExecutor.\\n\\nKey design decision (DA-001, DA-002): **PostgreSQL dump is out of scope** \u2014 restore is an ops task, not a search-time operation. **CSV/Excel files > 50MB must be pre-ingested into SQLite via CLI** before the adapter can query them. No ad-hoc full-file loads at request time.\\n\\n## 2. Objectives\\n\\n- [ ] `SQLiteAdapter(BaseConnector)` \u2014 queries an existing SQLite file via configurable SQL template\\n- [ ] `OfflineDBIngester` CLI command \u2014 converts CSV/Excel \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-32d0a50981f9cc52\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: vredin/osint\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 20\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 6, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_design_schema_api\": 1, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 6, \"repo_has_source_bundle\": 1, \"source_bundle_uses_co\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-assumption_checks-a286ebfc370b6407", "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": "vredin/osint", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: vredin/osint"}, "properties": {"repobilityId": 313665, "scanner": "foundry_dataset", "fingerprint": "3f93a08b6c05daa5afaadcc00bb04cee86668086b254dd8c29022a933aa1d624", "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": "vredin/osint#21", "human_labels": ["test_ci_gap", "test_or_ci"], "issue_number": "21", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.642, "repo_full_name": "vredin/osint", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-2b1c8ab33959230d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 6, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 6}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: vredin/osint\nThread: vredin/osint#21\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#21\nRepo: vredin/osint\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: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'test_or_ci': 6}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a4ce45815f2786f1\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/pull/21\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: vredin/osint\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/vredin/osint/pull/21\\nTitle: [PROCESS]: Bump actions/checkout from 4.3.1 to 6.0.3\\nBody:\\nBumps [actions/checkout](https://github.com/actions/checkout) from 4.3.1 to 6.0.3.\\n<details>\\n<summary>Release notes</summary>\\n<p><em>Sourced from <a href=\\\"https://github.com/actions/checkout/releases\\\">actions/checkout's releases</a>.</em></p>\\n<blockquote>\\n<h2>v6.0.3</h2>\\n<h2>What's Changed</h2>\\n<ul>\\n<li>Update changelog by <a href=\\\"https://github.com/ericsciple\\\"><code>@\u200bericsciple</code></a> in <a href=\\\"https://redirect.github.com/actions/checkout/pull/2357\\\">actions/checkout#2357</a></li>\\n<li>fix: expand merge commit SHA regex and add SHA-256 test cases by <a href=\\\"https://github.com/yaananth\\\"><code>@\u200byaananth</code></a> in <a href=\\\"https://redirect.github.com/actions/checkout/pull/2414\\\">actions/checkout#2414</a></li>\\n<li>Fix checkout init for SHA-256 repositories by <a href=\\\"https://github.com/yaananth\\\"><code>@\u200byaananth</code></a> in <a href=\\\"https://redirect.github.com/actions/checkout/pull/2439\\\">actions/checkout#2439</a></li>\\n<li>Update changelog for v6.0.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-072646eeb70afb28\",\n    \"filename\": \".github/workflows/ci.yml\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/vredin/osint/blob/49a9a9c90a13f9908f0f85ff5b8f6f369d97fa9d/.github%2Fworkflows%2Fci.yml\"\n  },\n  {\n    \"id\": \"github-pr-file-file-6e964566c1265ba2\",\n    \"filename\": \".github/workflows/dpia-gate.yml\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/vredin/osint/blob/49a9a9c90a13f9908f0f85ff5b8f6f369d97fa9d/.github%2Fworkflows%2Fdpia-gate.yml\"\n  },\n  {\n    \"id\":\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-assumption_checks-a3d48912623ef97f", "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": "vredin/osint", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: vredin/osint"}, "properties": {"repobilityId": 313664, "scanner": "foundry_dataset", "fingerprint": "ce42332b8ff497fa8f5884591839548a703f81bdc63b3c44dec4d4cfcf844c2c", "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": "vredin/osint#19", "human_labels": ["human_feedback_general", "source_or_other"], "issue_number": "19", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-ad475046053949ba", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"source_or_other": 2}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: vredin/osint\nThread: vredin/osint#19\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: vredin/osint#19\nRepo: vredin/osint\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: 2\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'source_or_other': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a2464654cb5fd856\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/vredin/osint/pull/19\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: vredin/osint\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/vredin/osint/pull/19\\nTitle: [PROCESS]: Bump python from 3.12-slim to 3.14-slim\\nBody:\\nBumps python from 3.12-slim to 3.14-slim.\\n\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-9dee35ac31965a37\",\n    \"filename\": \"Dockerfile\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 2,\n    \"changes\": 4,\n    \"blob_url\": \"https://github.com/vredin/osint/blob/deec4677f90a5d4558049a92154ec0fb2aeb53e5/Dockerfile\"\n  },\n  {\n    \"id\": \"github-pr-file-file-257c46769f71df87\",\n    \"filename\": \"Dockerfile.worker\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 2,\n    \"changes\": 4,\n    \"blob_url\": \"https://github.com/vredin/osint/blob/deec4677f90a5d4558049a92154ec0fb2aeb53e5/Dockerfile.worker\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b1c9ce5b241be7e9\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: vredin/osint\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 20\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 6, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_design_schema_api\": 1, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 6, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"designs\": 1, \"docs\": 1, \"generated_claims\": 1, \"schemas\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-assumption_checks-6cda0184fd4219cd", "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": "vredin/osint", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: vredin/osint"}, "properties": {"repobilityId": 313663, "scanner": "foundry_dataset", "fingerprint": "fed445e2a50b6cca580c9190caa337170870854c301ee7a1acd492350b72da7a", "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": "vredin/osint#18", "human_labels": ["human_feedback_general", "test_ci_gap", "test_or_ci"], "issue_number": "18", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.607, "repo_full_name": "vredin/osint", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-c0c3329e0cf5e681", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 3, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 3}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: vredin/osint\nThread: vredin/osint#18\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#18\nRepo: vredin/osint\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 3\nLabels: {'test_ci_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {'test_or_ci': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-784e4b9352a71f97\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/pull/18\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: vredin/osint\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/vredin/osint/pull/18\\nTitle: [PROCESS]: Bump actions/checkout from 4.3.1 to 6.0.2\\nBody:\\nBumps [actions/checkout](https://github.com/actions/checkout) from 4.3.1 to 6.0.2.\\n<details>\\n<summary>Release notes</summary>\\n<p><em>Sourced from <a href=\\\"https://github.com/actions/checkout/releases\\\">actions/checkout's releases</a>.</em></p>\\n<blockquote>\\n<h2>v6.0.2</h2>\\n<h2>What's Changed</h2>\\n<ul>\\n<li>Add orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID is set by <a href=\\\"https://github.com/TingluoHuang\\\"><code>@\u200bTingluoHuang</code></a> in <a href=\\\"https://redirect.github.com/actions/checkout/pull/2355\\\">actions/checkout#2355</a></li>\\n<li>Fix tag handling: preserve annotations and explicit fetch-tags by <a href=\\\"https://github.com/ericsciple\\\"><code>@\u200bericsciple</code></a> in <a href=\\\"https://redirect.github.com/actions/checkout/pull/2356\\\">actions/checkout#2356</a></li>\\n</ul>\\n<p><strong>Full Changelog</strong>: <a href=\\\"https://github.com/actions/checkout/compare/v6.0.1...v6.0.2\\\">https://github.com/actions/checkout/compare/v6.0.1...v6.0.2</a></\"\n  },\n  {\n    \"id\": \"github-feedback-comment-a12a6cbd0d222525\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/vredin/osint/pull/18#issuecomment-4617710425\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: vredin/osint\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/vredin/osint/pull/18#issuecomment-4617710425\\nTitle: \\nBody:\\nSuperseded by #21.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-f03b9dd837b3f2cb\",\n    \"filename\": \".github/workflows/dpia-gate.yml\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-assumption_checks-5feeb65604fa7b5d", "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": "vredin/osint", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: vredin/osint"}, "properties": {"repobilityId": 313662, "scanner": "foundry_dataset", "fingerprint": "2598e186bc862556306fec83effd9e6dc330f720d19509b61dd75aeaed806fdb", "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": "vredin/osint#16", "human_labels": ["human_feedback_general", "test_ci_gap", "test_or_ci"], "issue_number": "16", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.625, "repo_full_name": "vredin/osint", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-994ea8427e0e87d5", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1}, "linked_commit_count": 4, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: vredin/osint\nThread: vredin/osint#16\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#16\nRepo: vredin/osint\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 4\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'test_ci_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-97ed4c77a88b6a8f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/pull/16\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: vredin/osint\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/vredin/osint/pull/16\\nTitle: [PROCESS]: Bump astral-sh/setup-uv from 6.1.0 to 8.1.0\\nBody:\\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 6.1.0 to 8.1.0.\\n<details>\\n<summary>Release notes</summary>\\n<p><em>Sourced from <a href=\\\"https://github.com/astral-sh/setup-uv/releases\\\">astral-sh/setup-uv's releases</a>.</em></p>\\n<blockquote>\\n<h2>v8.1.0 \ud83c\udf08 New input <code>no-project</code></h2>\\n<h2>Changes</h2>\\n<p>This add the a new boolean input <code>no-project</code>.\\nIt only makes sense to use in combination with <code>activate-environment: true</code> and will append <code>--no project</code> to the <code>uv venv</code> call. This is for example useful <a href=\\\"https://redirect.github.com/astral-sh/setup-uv/issues/854\\\">if you have a pyproject.toml file with parts unparseable by uv</a></p>\\n<h2>\ud83d\ude80 Enhancements</h2>\\n<ul>\\n<li>Add input no-project in combination with activate-environment <a href=\\\"https://github.com/eifinger\\\"><code>@\u200beifinger</code></a> (<a href=\\\"https://redirect.github.com/astral-sh/setup-uv/issues/856\\\">#856</a>)</li>\\n</u\"\n  },\n  {\n    \"id\": \"github-feedback-comment-962a687e5f878982\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/vredin/osint/pull/16#issuecomment-4617710999\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: vredin/osint\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/vredin/osint/pull/16#issuecomment-4617710999\\nTitle: \\nBody:\\nSuperseded by #22.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-471947aeb6c12ccf\",\n    \"filename\": \".github/workflows/security.yml\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-assumption_checks-f15cd1e67befe869", "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": "vredin/osint", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: vredin/osint"}, "properties": {"repobilityId": 341477, "scanner": "foundry_dataset", "fingerprint": "9b25f534ae9d108e367a67bad408444d4e78f73361af794628a86f2fb6a5f252", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 6, "test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 38, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 6, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 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": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 6, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#21", "issue_number": "21", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-0522291192dc9d7a", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 24}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#21\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: vredin/osint\nThread: vredin/osint#21\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#21\nRepo: vredin/osint\nIssue/PR number: 21\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 38\nNode types: {'pr_file': 6, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 6, 'comment_chain_touches_file': 6, 'issue_chain_touches_file': 6, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'test_or_ci': 6, 'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-44538449e3a90ece", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: vredin/osint"}, "properties": {"repobilityId": 341476, "scanner": "foundry_dataset", "fingerprint": "a0fd6ee577406d919219dd41be32d33b785a0ec73bdf77cc541657525ed5ad3b", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 3, "test_ci_gap": 1, "verification_or_tests": 5, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 3, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#18", "issue_number": "18", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-74a3b84e9fc83549", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 15}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#18\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: vredin/osint\nThread: vredin/osint#18\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#18\nRepo: vredin/osint\nIssue/PR number: 18\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 37\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 6, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_touches_file': 3, 'issue_chain_touches_file': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'test_or_ci': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-e3a2c813cd0e7b38", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: vredin/osint"}, "properties": {"repobilityId": 341475, "scanner": "foundry_dataset", "fingerprint": "6973f2aa594f9ac4d9c329b41085d7bf633e83d28cef5ee2dd5dc8235aedbc3a", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "verification_or_tests": 4, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 28, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 4, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 2, "pr_file": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#16", "issue_number": "16", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-a81377df429698bf", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 5}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#16\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: vredin/osint\nThread: vredin/osint#16\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#16\nRepo: vredin/osint\nIssue/PR number: 16\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 28\nNode types: {'link_quality': 5, 'commit': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_touches_file': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'test_or_ci': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-01b19d7a3b770dca", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: vredin/osint"}, "properties": {"repobilityId": 331168, "scanner": "foundry_dataset", "fingerprint": "4238d0b32e471e3ef90d18d8e56ebffc979100059ae9f5f50f4af07467b311de", "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": {"source_or_other": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 18, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 1, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "thread": 1, "comment": 1, "pr_file": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#15", "issue_number": "15", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "vredin/osint", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b3582394ba83999a", "graph_gold_label": "assumption_check", "changed_file_labels": {"source_or_other": 4}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: vredin/osint\nThread: vredin/osint#15\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: vredin/osint\nThread: vredin/osint#15\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#15\nRepo: vredin/osint\nIssue/PR number: 15\nGraph consistency label: assumption_check\nNodes: 13\nEdges: 18\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_touches_file': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'source_or_other': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-f1ebab6eaa113d2d", "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": "vredin/osint", "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: vredin/osint"}, "properties": {"repobilityId": 331167, "scanner": "foundry_dataset", "fingerprint": "521c17984752970737b2117bb5019b607c31a344931c5ec000d7c9e5fb42a053", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 3, "data_schema": 2, "mock_placeholder": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#13", "issue_number": "13", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-7933afc603c19989", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#13\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: vredin/osint\nThread: vredin/osint#13\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#13\nRepo: vredin/osint\nIssue/PR number: 13\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'data_schema': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-eb35b616c5b4a1b7", "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": "vredin/osint", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323841, "scanner": "foundry_dataset", "fingerprint": "941adf721e1898975f4d482999bfc19ee37c80d69278a68cb131b759e90862f5", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#9", "human_labels": ["human_feedback_general", "security_auth_secret"], "issue_number": "9", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-5f9e8d9c2080d3f9", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#9\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#9\nRepo: vredin/osint\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4989ada6ba88ed8c\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/issues/9\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/9\\nTitle: T-203: Structured failure audit log for POST /auth/login (S5 follow-up from T-201)\\nBody:\\n## Context\\n\\nT-201 logs only `login_success user_id=X`. All failure paths (wrong password, unknown email, inactive, totp_required, rate_limited) emit no log entry.\\n\\n**Risk:** Cannot diagnose unauthorized access attempts, targeted lockouts, or brute-force campaigns after the fact. SOC2/ISO 27001/GDPR Art. 32 expect auth failure logs.\\n\\n## Acceptance Criteria\\n\\n- [ ] Log every failure path with: timestamp, email (hashed/lowercased), IP from request.client.host, user-agent, outcome (invalid_credentials | inactive | totp_required | rate_limited)\\n- [ ] Do NOT log password fragments or hashes\\n- [ ] Structured log format (JSON or key=value)\\n- [ ] Test: assert logger called with correct outcome string on each failure path\\n\\n## Risk: Operability. Diablo T-201 finding S5.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-5df01f8418ea0727\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/vredin/osint/issues/9#issuecomment-4437400340\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/9#issuecomment-4437400340\\nTitle: \\nBody:\\nDone in 923d43f \u2014 32 tests green, all failure paths logged (rate_limited_ip/email, invalid_credentials, inactive, totp_required, totp_failure:401/429, no_client_ip). UA sanitized against log injection.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-7c48b0a27b25a4d8\", \"evidence-chain-comment_to_commit-35031341565b62a8\"]\nSource graph evidence:\nSource evidence repo graph summ\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-fef0cfdb3e0cf1c7", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323840, "scanner": "foundry_dataset", "fingerprint": "b4c3011addb7ab72219d08816191cbf34670bcb007bdd400b9e3d92bc80ce431", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#8", "human_labels": ["human_feedback_general", "security_auth_secret"], "issue_number": "8", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-16721c3a9923423b", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#8\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#8\nRepo: vredin/osint\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-22adbe780f7238da\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/issues/8\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/8\\nTitle: T-202: IP-level rate limit for POST /auth/login (S1 follow-up from T-201)\\nBody:\\n## Context\\n\\nT-201 (POST /auth/login, bb25630) implements per-email brute-force protection (R-017: 5 attempts / 15min). No per-IP rate limit exists at the application layer.\\n\\n**Risk:** bcrypt(12) \u2248 225ms CPU per login attempt. Attacker rotating email addresses bypasses the per-email counter, can saturate backend workers indefinitely.\\n\\n## Acceptance Criteria\\n\\n- [ ] Per-IP rate limit on POST /auth/login: max 30 req/min (app-level OR documented Traefik/Cloudflare edge rule)\\n- [ ] If app-level: SlowAPI or Redis-backed counter, return 429 with Retry-After header\\n- [ ] docs/DEPLOY.md note: \\\"login endpoint requires upstream IP rate limiter\\\"\\n- [ ] Test: assert 429 after N requests from same IP within window\\n\\n## Risk: Medium (DoS surface). Diablo T-201 finding S1.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-4e7c480d8f9fc55f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/vredin/osint/issues/8#issuecomment-4437299784\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/8#issuecomment-4437299784\\nTitle: \\nBody:\\nDone in 5a376be. ProxyHeadersMiddleware + _get_client_ip(XFF) + R-018 (60/min).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-a52d8cf99a156501\", \"evidence-chain-comment_to_commit-76f1fc879cef1102\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: vredin/osint\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 20\nNode types: {\"cooccurrence_profile\": 1, \"git\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-4c3b837d7759b552", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323839, "scanner": "foundry_dataset", "fingerprint": "8ccf3be630129218df7843e8ac574cffaa856c4c2fee21e5c7a2e38d3f7572e9", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#7", "human_labels": ["human_feedback_general", "mock_placeholder"], "issue_number": "7", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_with_failing_ci_signal", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "vredin/osint", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-2b19d12f0d50311e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 1, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#7\nOutcome: claimed_resolved_with_failing_ci_signal\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#7\nRepo: vredin/osint\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_with_failing_ci_signal\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 1\nLinked CI labels: {'ci_failure_signal': 1}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-042fcd8068df52ce\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/issues/7\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/7\\nTitle: T-201: POST /auth/login \u2014 password + TOTP 1-step login\\nBody:\\n---\\nworkflow_progress:\\n  step_1_grill_me: complete\\n  step_2_5_prior_knowledge: complete\\n  step_3_research: complete\\n  step_4_spec: complete\\n  step_4_5_security: complete\\n  step_5_diablo: PROCEED_CAUTION\\n  step_6_github_issue: pending\\n---\\n\\n# T-201: POST /auth/login \u2014 password + TOTP step-up login\\n\\n**Created**: 2026-05-12\\n**Risk**: High\\n**Status**: Backlog\\n\\n## 1. Overview\\n\\n`POST /auth/login` is the only route that issues JWT access+refresh tokens from user credentials.\\nCurrently absent (SEC-001 known gap) \u2014 JWT can only be minted manually via `create_access_token()`.\\nCloses SEC-001: enables `vredin@gmail.com` to authenticate via browser/API without manual token generation.\\n\\n## 2. Objectives\\n\\n- [ ] `POST /auth/login` returns `access_token` + `refresh_token` on valid credentials\\n- [ ] If `totp_enabled=True` and no `totp_code` \u2192 403 `{\\\"detail\\\": \\\"totp_required\\\"}`\\n- [ ] If `totp_enabled=True` and code provided \u2192 verified via existing `verify_totp()` (R-012/R-013\"\n  },\n  {\n    \"id\": \"github-feedback-comment-5ab0972bf473ad67\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/vredin/osint/issues/7#issuecomment-4434533266\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/7#issuecomment-4434533266\\nTitle: \\nBody:\\nDone in bb25630. Follow-up: T-202 (IP rate limit, issue #8), T-203 (failure audit log, issue #9).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-41b853f54\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-9a536bd1c3dd1938", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323838, "scanner": "foundry_dataset", "fingerprint": "b5d4d509749f63ea96512c6f5884b792efd967fe5102ebbd93709dcb466e7d93", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#6", "human_labels": ["human_feedback_general", "security_auth_secret"], "issue_number": "6", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_with_failing_ci_signal", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "vredin/osint", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-fc4dda2695483312", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 1, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#6\nOutcome: claimed_resolved_with_failing_ci_signal\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#6\nRepo: vredin/osint\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_with_failing_ci_signal\nComment count: 2\nLinked commit count: 3\nLinked CI commit count: 1\nLinked CI labels: {'ci_failure_signal': 1}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d7eb59bf6a89fc81\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/issues/6\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: vredin/osint\\nAuthor: vredin (User)\\nURL: https://github.com/vredin/osint/issues/6\\nTitle: T-200: Infisical initial setup + seed first admin\\nBody:\\n---\\nworkflow_progress:\\n  step_1_grill_me: complete\\n  step_2_5_prior_knowledge: complete\\n  step_3_research: complete\\n  step_4_spec: complete\\n  step_4_5_security: complete \u2014 SEC-003 FIXED in compose/env.example; SEC-001/SEC-002 documented\\n  step_5_diablo: PROCEED_CAUTION \u2014 S1/S2/?1/?2/?3 fixed inline\\n  step_6_github_issue: pending\\n---\\n\\n# T-200: Infisical initial setup + seed first admin user\\n\\n**Created**: 2026-05-12\\n**Risk**: Medium\\n**Status**: Backlog\\n\\n## 1. Overview\\n\\nFirst-time operational setup: configure Infisical self-hosted (v0.159.28), create machine identity, bootstrap 4 projects, update VPS `.env`, then run `scripts/seed_first_admin.py` to create admin account `vredin@gmail.com` with TOTP provisioning.\\n\\nUnblocks: API login, Swagger UI testing, and all TOTP-dependent auth flows.\\n\\n## 2. Objectives\\n\\n- [ ] Infisical org + admin account created at http://localhost:18080 (via SSH tunnel)\\n- [ ] Machine identity `osint-platform-bootstrap` created \u2192 `INFISICAL_CLIENT_I\"\n  },\n  {\n    \"id\": \"github-feedback-comment-770ba60d035a9327\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/vredin/osint/issues/6#issuecomment-4433636555\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/6#issuecomment-4433636555\\nTitle: \\nBody:\\nDone in 7efcbf7. Infisical configured, 4 projects created, admin vredin@gmail.com seeded, TOTP scanned.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-8dce04ded256ef20", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323837, "scanner": "foundry_dataset", "fingerprint": "374ddd5748d0be84f9d967e201c92378e5d41b9fa6985825529ec0223024d5d9", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#4", "human_labels": ["mock_placeholder"], "issue_number": "4", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_with_failing_ci_signal", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "vredin/osint", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-6c8c0930a16ffb31", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 1, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#4\nOutcome: claimed_resolved_with_failing_ci_signal\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#4\nRepo: vredin/osint\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_with_failing_ci_signal\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 1\nLinked CI labels: {'ci_failure_signal': 1}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9d35b9401ec65ab4\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/issues/4\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/4\\nTitle: T-007: OpenSanctions / Yente connector (self-hosted Docker)\\nBody:\\n# T-007: OpenSanctions / Yente Connector (self-hosted Docker)\\n\\n**Created**: 2026-05-07\\n**Risk**: Low\\n**Status**: Backlog\\n\\n## 1. Overview\\n\\nImplements a sanctions-screening connector against a self-hosted [Yente](https://github.com/opensanctions/yente) instance (OpenSanctions' matching API). Yente aggregates OFAC SDN, EU FSE, NSDC Ukraine, UN Consolidated, UK HMT FSO, and 240+ other datasets. No API key required \u2014 runs as a Docker container on localhost. This is the first connector delivering data without any paid dependency.\\n\\n## 2. Objectives\\n\\n- [ ] `YenteConnector(BaseConnector)` with `SUPPORTED_QUERY_TYPES = frozenset({\\\"name\\\", \\\"company\\\"})`\\n- [ ] `/match` POST endpoint: FtM entity construction per query_type \u2192 NormalizedRecord per hit above threshold\\n- [ ] `health_check()` validates index readiness + dataset freshness (not just HTTP 200)\\n- [ ] `YenteConfig` via pydantic-settings; match threshold configurable, default 0.90\\n- [ ] docker-compose service\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-475f76f0f0bcde55\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: vredin/osint\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 20\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 6, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_design_schema_api\": 1, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 6, \"repo_has_s\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-0680d7fc4dc7caae", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323836, "scanner": "foundry_dataset", "fingerprint": "2be16ca6f32ab488a813d9f1c5b8c0d809ff207867e68cb7f0d7e8e4798bede4", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#3", "human_labels": ["human_feedback_general", "mock_placeholder"], "issue_number": "3", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_with_failing_ci_signal", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "vredin/osint", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-779aa65b4323d76f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 1, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#3\nOutcome: claimed_resolved_with_failing_ci_signal\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#3\nRepo: vredin/osint\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_with_failing_ci_signal\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 1\nLinked CI labels: {'ci_failure_signal': 1}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-72630ad8a28e62a4\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/issues/3\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/3\\nTitle: T-004: Connector framework (abstract base + config + dynamic enable/disable)\\nBody:\\n# T-004: Connector Framework (abstract base + config + dynamic enable/disable)\\n\\n**Created**: 2026-05-07\\n**Risk**: Low\\n**Status**: Backlog\\n\\n## 1. Overview\\n\\nDefines the pluggable connector layer that all data sources (Opendatabot, YouControl, OpenSanctions, offline DBs) implement. The framework provides: abstract base class, normalized data contract, registry with DI, async runner with circuit breaker, and first-class test infrastructure. No connector-specific code lives here \u2014 only the engine that drives them.\\n\\n## 2. Objectives\\n\\n- [ ] `BaseConnector` ABC with `search()`, `health_check()`, `execution_mode`, `name`, `version`\\n- [ ] `NormalizedRecord` / `ConnectorResult` \u2014 typed output contract every connector must satisfy\\n- [ ] `ConnectorRegistry` as class (singleton via FastAPI DI) \u2014 dynamic enable/disable per connector\\n- [ ] `ConnectorRunner` \u2014 `asyncio.gather(return_exceptions=True)` + per-connector timeout + `ThreadPoolExecutor` for\"\n  },\n  {\n    \"id\": \"github-feedback-comment-deef644d5d2dd50f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/vredin/osint/issues/3#issuecomment-4399352330\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/3#issuecomment-4399352330\\nTitle: \\nBody:\\nDone in 1e221c2\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b27d5a4fb8e94f54\", \"evidence-chain-comment_to_commit-6c6c5b16cc77d30e\"]\nSource graph evidence:\nSource evide\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-2cc6ed51b380cd85", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323835, "scanner": "foundry_dataset", "fingerprint": "b7a63db88392257afdb3c1f07ce1e397089483ec4b37ab5c31569f1daca410a0", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#22", "human_labels": ["security_auth_secret", "test_or_ci"], "issue_number": "22", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-b79ea09e65eaa1b0", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 3, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 3}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#22\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#22\nRepo: vredin/osint\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 3\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'test_or_ci': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-888db84ebbcd8db2\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/pull/22\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: vredin/osint\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/vredin/osint/pull/22\\nTitle: [PROCESS]: Bump astral-sh/setup-uv from 6.1.0 to 8.2.0\\nBody:\\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 6.1.0 to 8.2.0.\\n<details>\\n<summary>Release notes</summary>\\n<p><em>Sourced from <a href=\\\"https://github.com/astral-sh/setup-uv/releases\\\">astral-sh/setup-uv's releases</a>.</em></p>\\n<blockquote>\\n<h2>v8.2.0 \ud83c\udf08 New inputs <code>quiet</code> and <code>download-from-astral-mirror</code></h2>\\n<h2>Changes</h2>\\n<p>This release brings two new inputs and a few bug fixes.</p>\\n<h3>New inputs</h3>\\n<p>Lets talk about the new inputs first.</p>\\n<h4>quiet</h4>\\n<p>Pretty simple. It turns of all <code>info</code> loggings. Useful if you use this in a composite action and are not interested in all the details.\\nIn the upcoming releases we will add log groups to fully implement support for &quot;less noise&quot;</p>\\n<blockquote>\\n<p>[!NOTE]<br />\\nWarnings and errors are always logged.</p>\\n</blockquote>\\n<h4>download-from-astral-mirror</h4>\\n<p>In some cases you may want to directly use the fallback of che\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-03a12012b77d4403\",\n    \"filename\": \".github/workflows/ci.yml\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/vredin/osint/blob/e64b336c6ab9532b53d6e409d86da6c0751521c9/.github%2Fworkflows%2Fci.yml\"\n  },\n  {\n    \"id\": \"github-pr-file-file-2f794b6acaf344b9\",\n    \"filename\": \".github/workflows/e2e.yml\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/vredin/osint/blob/e64b336c6ab9532b53d6e409d86da6c0751521c9/.github%2Fworkflows%2Fe2e.yml\"\n  },\n  {\n    \"id\": \"gith\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-b00721102e0188eb", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323834, "scanner": "foundry_dataset", "fingerprint": "fe42e104097bdbae29ebf14c2d6a41ba15a0e34f1223e127dd403617d9c4675b", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#20", "human_labels": ["security_auth_secret", "source_or_other"], "issue_number": "20", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-8f4b1cbbb32cfe2c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"source_or_other": 1}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#20\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#20\nRepo: vredin/osint\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-08b5232d8ca4af86\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/pull/20\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: vredin/osint\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/vredin/osint/pull/20\\nTitle: [PROCESS]: Bump caddy from 2.8.4-alpine to 2.11.3-alpine\\nBody:\\nBumps caddy from 2.8.4-alpine to 2.11.3-alpine.\\n\\n\\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=caddy&package-manager=docker&previous-version=2.8.4-alpine&new-version=2.11.3-alpine)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\\n\\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\\n\\n[//]: # (dependabot-automerge-start)\\n[//]: # (dependabot-automerge-end)\\n\\n---\\n\\n<details>\\n<summary>Dependabot commands and options</summary>\\n<br />\\n\\nYou can trigger Dependabot actions by commenting on this PR:\\n- `@dependabot rebase` will rebase this PR\\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\\n- `@dependabot show <dependency name> ignore conditions` wil\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-b977d3bd2ae37729\",\n    \"filename\": \"Dockerfile.caddy\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 2,\n    \"changes\": 4,\n    \"blob_url\": \"https://github.com/vredin/osint/blob/132777fb5f900b96d2237a5759c3aaa3f8ea19d5/Dockerfile.caddy\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-8e308656c0db3c36\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: vredin/osint\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 20\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 6, \"source_bundle\": 1}\nEdge type\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-d517552c39865f26", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323833, "scanner": "foundry_dataset", "fingerprint": "c3055436944ad6b1fe4027ba8a67264c9a2e17625a1ef967c60079788b81a1ba", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#17", "human_labels": ["security_auth_secret", "test_or_ci"], "issue_number": "17", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-936f397631978b2a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#17\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#17\nRepo: vredin/osint\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1fbea3298038a7bb\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/pull/17\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: vredin/osint\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/vredin/osint/pull/17\\nTitle: [PROCESS]: Bump actions/upload-artifact from 4.6.2 to 7.0.1\\nBody:\\nBumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.2 to 7.0.1.\\n<details>\\n<summary>Release notes</summary>\\n<p><em>Sourced from <a href=\\\"https://github.com/actions/upload-artifact/releases\\\">actions/upload-artifact's releases</a>.</em></p>\\n<blockquote>\\n<h2>v7.0.1</h2>\\n<h2>What's Changed</h2>\\n<ul>\\n<li>Update the readme with direct upload details by <a href=\\\"https://github.com/danwkennedy\\\"><code>@\u200bdanwkennedy</code></a> in <a href=\\\"https://redirect.github.com/actions/upload-artifact/pull/795\\\">actions/upload-artifact#795</a></li>\\n<li>Readme: bump all the example versions to v7 by <a href=\\\"https://github.com/danwkennedy\\\"><code>@\u200bdanwkennedy</code></a> in <a href=\\\"https://redirect.github.com/actions/upload-artifact/pull/796\\\">actions/upload-artifact#796</a></li>\\n<li>Include changes in typespec/ts-http-runtime 0.3.5 by <a href=\\\"https://github.com/yacaovsnc\\\"><code>@\u200byacaovsnc</code></a> in <a href=\\\"https://redirect.githu\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-c736a40b9f6109ce\",\n    \"filename\": \".github/workflows/security.yml\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/vredin/osint/blob/1e55cd3f37f676ce5210bde4b21cdd471fc28c5d/.github%2Fworkflows%2Fsecurity.yml\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-427a57d011cce10c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: vredin/osint\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 20\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 6, \"so\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-36f377967029e2e6", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323832, "scanner": "foundry_dataset", "fingerprint": "25c410f242e834552554bdc41bc92f6bd09a15211951391b9eea0b6c49717cea", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#15", "human_labels": ["data_schema_persistence", "source_or_other"], "issue_number": "15", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-34877d3db9e8d9d5", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"source_or_other": 1}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#15\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#15\nRepo: vredin/osint\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-54971a8b78516a47\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/pull/15\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: vredin/osint\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/vredin/osint/pull/15\\nTitle: [PROCESS]: Bump postgres from 16-alpine3.21 to 18-alpine3.21\\nBody:\\nBumps postgres from 16-alpine3.21 to 18-alpine3.21.\\n\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-2799871bc8ff37ca\",\n    \"filename\": \"Dockerfile.postgres\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/vredin/osint/blob/80a0cc48f9bb89af1cfa31d6dd13ca61d5f868f9/Dockerfile.postgres\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-0793b72dd28c0dbb\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: vredin/osint\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 20\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 6, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 2, \"artifact_supports_design_schema_api\": 1, \"artifact_supports_verification\": 3, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 6, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 2, \"designs\": 1, \"docs\": 1, \"generated_claims\": 1, \"schemas\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"ci_contradiction_cluster\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-2630ba3a63ca5f66", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323831, "scanner": "foundry_dataset", "fingerprint": "5ea888fc7e37a24f53413fb62459c6ca186d3279264a2b2f9203da55006ee0d6", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#14", "human_labels": ["security_auth_secret", "test_or_ci"], "issue_number": "14", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-8ca26d199810cb23", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 3, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 3}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#14\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#14\nRepo: vredin/osint\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 3\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'test_or_ci': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-3c344753badbfdb0\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/pull/14\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: vredin/osint\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/vredin/osint/pull/14\\nTitle: [PROCESS]: Bump actions/setup-python from 5.6.0 to 6.2.0\\nBody:\\nBumps [actions/setup-python](https://github.com/actions/setup-python) from 5.6.0 to 6.2.0.\\n<details>\\n<summary>Release notes</summary>\\n<p><em>Sourced from <a href=\\\"https://github.com/actions/setup-python/releases\\\">actions/setup-python's releases</a>.</em></p>\\n<blockquote>\\n<h2>v6.2.0</h2>\\n<h2>What's Changed</h2>\\n<h3>Dependency Upgrades</h3>\\n<ul>\\n<li>Upgrade dependencies to Node 24 compatible versions by <a href=\\\"https://github.com/salmanmkc\\\"><code>@\u200bsalmanmkc</code></a> in <a href=\\\"https://redirect.github.com/actions/setup-python/pull/1259\\\">actions/setup-python#1259</a></li>\\n<li>Upgrade urllib3 from 2.5.0 to 2.6.3 in <code>/__tests__/data</code> by <a href=\\\"https://github.com/dependabot\\\"><code>@\u200bdependabot</code></a> in <a href=\\\"https://redirect.github.com/actions/setup-python/pull/1253\\\">actions/setup-python#1253</a> and <a href=\\\"https://redirect.github.com/actions/setup-python/pull/1264\\\">actions/setup-python#1264</a></li>\\n</ul>\\n<p><strong>Full Cha\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-fd9e6ef4063f10bd\",\n    \"filename\": \".github/workflows/dpia-gate.yml\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/vredin/osint/blob/27a6ac48c35f84fd9c7aa406dd6fa7c0ba03035a/.github%2Fworkflows%2Fdpia-gate.yml\"\n  },\n  {\n    \"id\": \"github-pr-file-file-bb49a26a3fea57ac\",\n    \"filename\": \".github/workflows/migration-lint.yml\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/vredin/osint/blob/27a6ac48c35f84fd9c7aa406dd6fa7c0ba03035a/.github%2Fworkflows%2Fmigr\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-cfafbba6603419c1", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323830, "scanner": "foundry_dataset", "fingerprint": "b8fa5935eda66706ac0f309aa931e14e70ca49103fdf8c76b43765c6fcb39b82", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#13", "human_labels": ["data_schema_persistence", "mock_placeholder"], "issue_number": "13", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "vredin/osint", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-2135c1cb6c339890", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#13\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#13\nRepo: vredin/osint\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'data_schema_persistence': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a1f70667ab8e030f\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/issues/13\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/13\\nTitle: T-207: DPO approval gate for DSAR erasure\\nBody:\\n---\\nworkflow_progress:\\n  step_1_grill_me: skipped:orchestrate-autonomous\\n  step_2_5_prior_knowledge: complete\\n  step_3_research: complete\\n  step_4_spec: complete\\n  step_4_5_security: complete\\n  step_5_diablo: PROCEED_CAUTION\\n# v1 FIX FIRST: F1 (send_dsar_rejection_email wrong sig), F2 (no data migration), F3 (bypass path not removed)\\n# v2 FIX FIRST: F1 (OTP verify prose-in-code, false response msg), F2 (migration race), F3 (cancelled audit-trail overwrite)\\n# v3: F1\u2192explicit diff + truthful response msg; F2\u2192worker-drain protocol + audit-log + post-migration validation + downgrade spec; F3\u2192Option B (cancelled terminal, DBA runbook)\\n# v4: F1\u2192fix audit.audit_log table name + Change 3 shows actual lines 343-355; F2\u2192fix Celery app path (src.worker.celery_app), docker stop instead of cancel_consumer, psql validation; S1\u2192add POST /admin/dsar/{id}/redispatch endpoint for broker-recovery re-queue\\n# v5: S1\u2192advisory lock on redispatch (pg_try_advisory_xact_lock); S2\u2192api-before-m\"\n  },\n  {\n    \"id\": \"github-feedback-comment-4794b5e3596149a1\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/issues/13#issuecomment-4460386347\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_comment\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/13#issuecomment-4460386347\\nTitle: \\nBody:\\nDone in fd84f3f \u2014 47 unit tests green, DA round 4 PROCEED WITH CAUTION (all fatals + serious items resolved). Migration 033 ready with expand-migrate-contract deploy order per spec \u00a75.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-3\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-393c5f5be72cb145", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323829, "scanner": "foundry_dataset", "fingerprint": "1fa6d0da4f50af80b99763b336a0f86005d066707c972fbcb1d5ad157616c5b9", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#12", "human_labels": ["human_feedback_general", "mock_placeholder"], "issue_number": "12", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_with_failing_ci_signal", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "vredin/osint", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-f99e603c6d6dfdda", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 1, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#12\nOutcome: claimed_resolved_with_failing_ci_signal\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#12\nRepo: vredin/osint\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_with_failing_ci_signal\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 1\nLinked CI labels: {'ci_failure_signal': 1}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-616f90588ffd522d\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/issues/12\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/12\\nTitle: T-206: Wire CaseCeleryTask registry at dispatch sites\\nBody:\\n---\\nworkflow_progress:\\n  step_1_grill_me: complete\\n  step_2_5_prior_knowledge: complete\\n  step_3_research: complete\\n  step_4_spec: complete\\n  step_4_5_security: skip:not-applicable\\n  step_5_diablo: PROCEED_CAUTION\\n  step_6_github_issue: pending\\n# Diablo history: v1 BLOCKED (3F), v2 FIX FIRST (3F+5S), v3 FIX FIRST (2F+5S), v4 FIX FIRST (1F+4S), v5 FIX FIRST (2F+5S), v6 PROCEED_CAUTION (0F+0S, 7 SUSPICIOUS fixed)\\n---\\n\\n# T-206: Wire CaseCeleryTask registry at dispatch sites\\n\\n**Created**: 2026-05-15\\n**Risk**: Medium\\n**Status**: Backlog\\n\\n## 1. Overview\\n\\n`case_celery_tasks` table exists (migration 029, T-184) but is never populated \u2014 every `apply_async()` call for case-scoped tasks skips the INSERT. DSAR erasure step 1 reads this table to revoke in-flight tasks before tombstoning data, but always gets an empty result. T-206 wires the INSERT at every dispatch site using pre-generated task IDs (INSERT-before-dispatch), replaces DELETE-on-completion with an `after\"\n  },\n  {\n    \"id\": \"github-feedback-comment-be4f5e719679e8f9\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/vredin/osint/issues/12#issuecomment-4461696102\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/12#issuecomment-4461696102\\nTitle: \\nBody:\\nDone in f650c37 \u2014 INSERT-before-dispatch across all 3 dispatch sites (scan_file, analyze_case, recover_stale_scans), after_return hook stamps completed_at on SUCCESS/FAILURE, erasure_pending\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-1a78ff6fec8dcb1d", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323828, "scanner": "foundry_dataset", "fingerprint": "51a829549cdb2a5376519c7edbea465f20172d04bc5e4ddb7335fe05826bf977", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#11", "human_labels": ["human_feedback_general", "mock_placeholder"], "issue_number": "11", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_with_failing_ci_signal", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "vredin/osint", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-d158c799a5c266b5", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 1, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#11\nOutcome: claimed_resolved_with_failing_ci_signal\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#11\nRepo: vredin/osint\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_with_failing_ci_signal\nComment count: 2\nLinked commit count: 2\nLinked CI commit count: 1\nLinked CI labels: {'ci_failure_signal': 1}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a84d641e066a9206\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/issues/11\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/11\\nTitle: T-146: FR-027 \u2014 PUT /admin/databases/{scan_id}/mapping\\nBody:\\n---\\nworkflow_progress:\\n  step_1_grill_me: skipped:orchestrator-autonomous\\n  step_2_5_prior_knowledge: complete\\n  step_3_research: complete\\n  step_4_spec: complete\\n  step_4_5_security: complete\\n  step_5_diablo: ACCEPTABLE\\n  step_6_github_issue: pending\\n---\\n\\n# T-146: FR-027 \u2014 PUT /admin/databases/{scan_id}/mapping\\n\\n**Created**: 2026-05-14\\n**Risk**: Medium\\n**Status**: Backlog\\n**Depends**: T-204 (done)\\n\\n## 1. Overview\\n\\n\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u0430\u0439\u043b\u0430 \u0447\u0435\u0440\u0435\u0437 POST /admin/databases/upload (T-145) \u0438 AV-\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 \u0437\u0430\u0434\u0430\u0451\u0442 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u043f\u043f\u0438\u043d\u0433 \u043f\u043e\u043b\u0435\u0439: `source_field \u2192 canonical_field`. \u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 `offline_db_configs`. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f OfflineDBAdapter'\u043e\u043c (T-148) \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430.\\n\\n## 2. Objectives\\n\\n- [ ] \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 `offline_db_configs` (Alembic 016)\\n- [ ] `databases:configure` permission \u2192 admin role (Alembic 016)\\n- [ ] `PUT /admin/databases/{scan_id}/mapping` \u2014 REPLACE semantics, upsert \u0432 `offline_db_configs`\\n- [ ] 404 \u0435\u0441\u043b\u0438 `file_scans` row \u043d\u0435\"\n  },\n  {\n    \"id\": \"github-feedback-comment-43afa063f5208932\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/vredin/osint/issues/11#issuecomment-4448640308\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/11#issuecomment-4448640308\\nTitle: \\nBody:\\nDone in cfbe22a \u2014 offline_db_configs table, 14 tests green.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-0071e7e950eabc2c\", \"evidence-chain-comment_to_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-86623f5e8c3e4c0a", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: vredin/osint"}, "properties": {"repobilityId": 323827, "scanner": "foundry_dataset", "fingerprint": "e10f719a372364ec3e53661e63e41ded3abf848c20f201a28a133b6196f5f702", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "vredin/osint#10", "human_labels": ["human_feedback_general", "mock_placeholder"], "issue_number": "10", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "vredin/osint", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-060f05d9c7a347a8", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 2, "docs": 1, "designs": 1, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 6, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 3, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: vredin/osint\nThread: vredin/osint#10\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: vredin/osint#10\nRepo: vredin/osint\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ba8633fd9af9103e\",\n    \"kind\": \"issue_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/vredin/osint/issues/10\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_body\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/10\\nTitle: T-204: Fix scan_id mismatch in databases upload handler\\nBody:\\n---\\nworkflow_progress:\\n  step_1_grill_me: complete\\n  step_2_5_prior_knowledge: complete\\n  step_3_research: complete\\n  step_4_spec: complete\\n  step_4_5_security: skip:not-applicable\\n  step_5_diablo: ACCEPTABLE\\n  step_6_github_issue: pending\\n---\\n\\n# T-204: Fix scan_id mismatch in databases upload handler\\n\\n**Created**: 2026-05-14\\n**Risk**: Low\\n**Status**: Backlog\\n**Blocks**: T-146\\n\\n## 1. Overview\\n\\n`POST /admin/databases/upload` \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0434\u0432\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 UUID: \u043e\u0434\u0438\u043d \u0434\u043b\u044f \u043f\u0443\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0432 MinIO (`scan_id_placeholder`), \u0434\u0440\u0443\u0433\u043e\u0439 \u0432\u043d\u0443\u0442\u0440\u0438 `_insert_file_scan` \u0434\u043b\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 `file_scans`. \u041f\u0443\u0442\u044c \u0432 MinIO \u0438 ID \u0432 \u0411\u0414 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442. \u041a\u043e\u0433\u0434\u0430 T-156 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 ClamAV \u0438 \u043d\u0430\u0447\u043d\u0451\u0442 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0443\u0442\u044c \u0438\u0437 scan_id \u2014 \u0437\u0430\u0434\u0430\u0447\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0451\u0442 \u0444\u0430\u0439\u043b \u0432 \u043a\u0430\u0440\u0430\u043d\u0442\u0438\u043d\u0435.\\n\\n## 2. Objectives\\n\\n- [ ] \u041e\u0434\u0438\u043d UUID \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0434\u043e \u043e\u0431\u0435\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439\\n- [ ] `QUARANTINE/{scan_id}/filename` \u0432 MinIO \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 `file_scans.id` \u0432 \u0411\u0414\\n- [ ] `_insert_file_scan` \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 `scan_id: UUID` \u043a\u0430\u043a \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 (\u043d\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\"\n  },\n  {\n    \"id\": \"github-feedback-comment-f06d18e4dd4b8423\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/vredin/osint/issues/10#issuecomment-4448551371\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: vredin/osint\\nAuthor: OleksandrSemishan (User)\\nURL: https://github.com/vredin/osint/issues/10#issuecomment-4448551371\\nTitle: \\nBody:\\nDone in e71ba0c \u2014 scan_id generated once, same UUID in MinIO path and file_scans.id. 9 tests green.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-5fc5d1101206adcb\", \"evidence-chain-comment_to_com\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "comment-chain-pattern-bad_chains-615c4c1fb2876dd0", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_failing_ci_claim", "level": "error", "message": {"text": "Foundry mined claimed resolved with failing ci: vredin/osint"}, "properties": {"repobilityId": 358043, "scanner": "foundry_dataset", "fingerprint": "d915242d2393fde612febf165fd53011f0ac7464a2fafcfbab05acede98f861a", "category": "ci", "severity": "critical", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Claimed resolved with failing CI", "intent": "Hard negatives where CI/failure evidence contradicts a resolution claim.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "ci_failure_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "claimed_resolved_with_failing_ci", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "claimed_resolved_with_failing_ci", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#7", "issue_number": "7", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-eeb91f499efd7c02", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Claimed resolved with failing CI\nQuery id: claimed_resolved_with_failing_ci\nQuery type: motif_query\nIntent: Hard negatives where CI/failure evidence contradicts a resolution claim.\nMotif: claimed_resolved_with_failing_ci\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#7\nEvidence:\nGraph motif: Claimed resolved while CI or failure evidence contradicts it\nMotif id: claimed_resolved_with_failing_ci\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#7\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#7\nRepo: vredin/osint\nIssue/PR number: 7\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 18\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_failing_ci_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'data_schema': 1, 'ci_failure_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Reject confident fix summaries when CI or checks fail.\n- Teach judge models to prefer external verification over generated narrative.\nAssumption checks:\n- Did checks fail on the linked commit?\n- Does the thread claim resolution despite failing or incomplete verification?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-7d07461b690c71a6", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/claimed_resolved_with_failing_ci/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/claimed_resolved_with_failing_ci", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_failing_ci_claim", "level": "error", "message": {"text": "Foundry mined claimed resolved with failing ci: vredin/osint"}, "properties": {"repobilityId": 358042, "scanner": "foundry_dataset", "fingerprint": "30f333cacf6248345299d5d4fc0ea106199ae64df2bd8b5f30250b3e8c384156", "category": "ci", "severity": "critical", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Claimed resolved with failing CI", "intent": "Hard negatives where CI/failure evidence contradicts a resolution claim.", "labels": {"bug_fix": 3, "ci_failure_signal": 1, "security_auth_secret": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "claimed_resolved_with_failing_ci", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "claimed_resolved_with_failing_ci", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 16, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#6", "issue_number": "6", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c6235dbfb93f9273", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Claimed resolved with failing CI\nQuery id: claimed_resolved_with_failing_ci\nQuery type: motif_query\nIntent: Hard negatives where CI/failure evidence contradicts a resolution claim.\nMotif: claimed_resolved_with_failing_ci\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#6\nEvidence:\nGraph motif: Claimed resolved while CI or failure evidence contradicts it\nMotif id: claimed_resolved_with_failing_ci\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#6\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#6\nRepo: vredin/osint\nIssue/PR number: 6\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 16\nEdges: 20\nNode types: {'link_quality': 4, 'commit': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_failing_ci_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Reject confident fix summaries when CI or checks fail.\n- Teach judge models to prefer external verification over generated narrative.\nAssumption checks:\n- Did checks fail on the linked commit?\n- Does the thread claim resolution despite failing or incomplete verification?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-e76390ac2b3d9ba8", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/claimed_resolved_with_failing_ci/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/claimed_resolved_with_failing_ci", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_failing_ci_claim", "level": "error", "message": {"text": "Foundry mined claimed resolved with failing ci: vredin/osint"}, "properties": {"repobilityId": 358041, "scanner": "foundry_dataset", "fingerprint": "ab499107799df521d08bc32991f1ba754091b4374e7b87bbd411234105a7919f", "category": "ci", "severity": "critical", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Claimed resolved with failing CI", "intent": "Hard negatives where CI/failure evidence contradicts a resolution claim.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "ci_failure_signal": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "claimed_resolved_with_failing_ci", "outcomes": {"claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "claimed_resolved_with_failing_ci", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 17, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "comment_chain_has_ci": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 15, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#4", "issue_number": "4", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-10d260f0b5b603ac", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Claimed resolved with failing CI\nQuery id: claimed_resolved_with_failing_ci\nQuery type: motif_query\nIntent: Hard negatives where CI/failure evidence contradicts a resolution claim.\nMotif: claimed_resolved_with_failing_ci\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#4\nEvidence:\nGraph motif: Claimed resolved while CI or failure evidence contradicts it\nMotif id: claimed_resolved_with_failing_ci\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#4\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#4\nRepo: vredin/osint\nIssue/PR number: 4\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 15\nEdges: 17\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_failing_ci_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Reject confident fix summaries when CI or checks fail.\n- Teach judge models to prefer external verification over generated narrative.\nAssumption checks:\n- Did checks fail on the linked commit?\n- Does the thread claim resolution despite failing or incomplete verification?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-28718839900c6da2", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/claimed_resolved_with_failing_ci/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/claimed_resolved_with_failing_ci", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_failing_ci_claim", "level": "error", "message": {"text": "Foundry mined claimed resolved with failing ci: vredin/osint"}, "properties": {"repobilityId": 358040, "scanner": "foundry_dataset", "fingerprint": "6a21cf05ae9590542f079999a357d543f399b7a68e89a21dd83d6916cf29ff29", "category": "ci", "severity": "critical", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Claimed resolved with failing CI", "intent": "Hard negatives where CI/failure evidence contradicts a resolution claim.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "ci_failure_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "claimed_resolved_with_failing_ci", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "claimed_resolved_with_failing_ci", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#3", "issue_number": "3", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e47871f7d40959e0", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Claimed resolved with failing CI\nQuery id: claimed_resolved_with_failing_ci\nQuery type: motif_query\nIntent: Hard negatives where CI/failure evidence contradicts a resolution claim.\nMotif: claimed_resolved_with_failing_ci\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#3\nEvidence:\nGraph motif: Claimed resolved while CI or failure evidence contradicts it\nMotif id: claimed_resolved_with_failing_ci\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#3\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#3\nRepo: vredin/osint\nIssue/PR number: 3\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 18\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_failing_ci_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'data_schema': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Reject confident fix summaries when CI or checks fail.\n- Teach judge models to prefer external verification over generated narrative.\nAssumption checks:\n- Did checks fail on the linked commit?\n- Does the thread claim resolution despite failing or incomplete verification?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-93e0e9215f179af9", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/claimed_resolved_with_failing_ci/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/claimed_resolved_with_failing_ci", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_failing_ci_claim", "level": "error", "message": {"text": "Foundry mined claimed resolved with failing ci: vredin/osint"}, "properties": {"repobilityId": 358039, "scanner": "foundry_dataset", "fingerprint": "1fd45dd1304006678e4be15627d34c007dd615c75c611b153fd4b9182124c7da", "category": "ci", "severity": "critical", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Claimed resolved with failing CI", "intent": "Hard negatives where CI/failure evidence contradicts a resolution claim.", "labels": {"bug_fix": 3, "data_schema": 2, "mock_placeholder": 1, "ci_failure_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "claimed_resolved_with_failing_ci", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "claimed_resolved_with_failing_ci", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#12", "issue_number": "12", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-99363df442b5b856", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Claimed resolved with failing CI\nQuery id: claimed_resolved_with_failing_ci\nQuery type: motif_query\nIntent: Hard negatives where CI/failure evidence contradicts a resolution claim.\nMotif: claimed_resolved_with_failing_ci\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#12\nEvidence:\nGraph motif: Claimed resolved while CI or failure evidence contradicts it\nMotif id: claimed_resolved_with_failing_ci\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#12\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#12\nRepo: vredin/osint\nIssue/PR number: 12\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 18\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_failing_ci_signal': 3, 'data_schema': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Reject confident fix summaries when CI or checks fail.\n- Teach judge models to prefer external verification over generated narrative.\nAssumption checks:\n- Did checks fail on the linked commit?\n- Does the thread claim resolution despite failing or incomplete verification?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-d7749f2141434684", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/claimed_resolved_with_failing_ci/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/claimed_resolved_with_failing_ci", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_failing_ci_claim", "level": "error", "message": {"text": "Foundry mined claimed resolved with failing ci: vredin/osint"}, "properties": {"repobilityId": 358038, "scanner": "foundry_dataset", "fingerprint": "0387cac0c52c4aa4fb7765454b10c0f51fb0a28e0e8afa4fae151566d8b62e7a", "category": "ci", "severity": "critical", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Claimed resolved with failing CI", "intent": "Hard negatives where CI/failure evidence contradicts a resolution claim.", "labels": {"bug_fix": 2, "mock_placeholder": 1, "ci_failure_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "claimed_resolved_with_failing_ci", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "claimed_resolved_with_failing_ci", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 19, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#11", "issue_number": "11", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-513f3200df0aae36", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Claimed resolved with failing CI\nQuery id: claimed_resolved_with_failing_ci\nQuery type: motif_query\nIntent: Hard negatives where CI/failure evidence contradicts a resolution claim.\nMotif: claimed_resolved_with_failing_ci\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#11\nEvidence:\nGraph motif: Claimed resolved while CI or failure evidence contradicts it\nMotif id: claimed_resolved_with_failing_ci\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#11\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#11\nRepo: vredin/osint\nIssue/PR number: 11\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 15\nEdges: 19\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_links_commit': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_failing_ci_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\nCurriculum targets:\n- Reject confident fix summaries when CI or checks fail.\n- Teach judge models to prefer external verification over generated narrative.\nAssumption checks:\n- Did checks fail on the linked commit?\n- Does the thread claim resolution despite failing or incomplete verification?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-66db123ddaa7da39", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/claimed_resolved_with_failing_ci/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "vredin/osint", "source_dataset": "graph_queries/claimed_resolved_with_failing_ci", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: vredin/osint"}, "properties": {"repobilityId": 335252, "scanner": "foundry_dataset", "fingerprint": "3d4c3074386d0d9e43d063e09816d32ae42d07c83c4e3f218847f68c113fcc22", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"security_auth_secret": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#9", "issue_number": "9", "quality_tiers": {"unresolved": 4}, "repo_full_name": "vredin/osint", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-1117bce413161873", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: needs_more_evidence\nRepo: vredin/osint\nThread: vredin/osint#9\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#9\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#9\nRepo: vredin/osint\nIssue/PR number: 9\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_feedback_general': 1, 'human_reported_issue_no_linked_fix': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 4}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-87b8e185d497d82f", "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": "vredin/osint", "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: vredin/osint"}, "properties": {"repobilityId": 335251, "scanner": "foundry_dataset", "fingerprint": "9510e691c2d01781873c7264987c65bcba4416b9c20b8f3b6af9a252a72cf755", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"security_auth_secret": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#8", "issue_number": "8", "quality_tiers": {"unresolved": 4}, "repo_full_name": "vredin/osint", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-adb6df177092fbb7", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: needs_more_evidence\nRepo: vredin/osint\nThread: vredin/osint#8\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#8\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#8\nRepo: vredin/osint\nIssue/PR number: 8\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_feedback_general': 1, 'human_reported_issue_no_linked_fix': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 4}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-e6ff32b84c2c68e3", "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": "vredin/osint", "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: vredin/osint"}, "properties": {"repobilityId": 335250, "scanner": "foundry_dataset", "fingerprint": "8b71541ce5132b56b7fee4052b1ce11cc01b87f67473eac9c42039c70258932f", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 3, "ci_failure_signal": 1, "security_auth_secret": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 16, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#6", "issue_number": "6", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-89a00b727031889a", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#6\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#6\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#6\nRepo: vredin/osint\nIssue/PR number: 6\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 16\nEdges: 20\nNode types: {'link_quality': 4, 'commit': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_failing_ci_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\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/vredin/osint", "source_id": "graph-query-motif_query-990072300ef23a3b", "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": "vredin/osint", "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: vredin/osint"}, "properties": {"repobilityId": 335249, "scanner": "foundry_dataset", "fingerprint": "50872e6832edde2ec0c4226cc84cbc6a0679d8e75df6115e2dd0c02c724ebe09", "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": 1, "security_auth_secret": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 14, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 1, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 10, "node_types": {"repo": 1, "thread": 1, "comment": 1, "pr_file": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#20", "issue_number": "20", "quality_tiers": {"unresolved": 3}, "repo_full_name": "vredin/osint", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-6eec11b251b9b332", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {"source_or_other": 4}}, "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: needs_more_evidence\nRepo: vredin/osint\nThread: vredin/osint#20\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#20\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#20\nRepo: vredin/osint\nIssue/PR number: 20\nGraph consistency label: needs_more_evidence\nNodes: 10\nEdges: 14\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_touches_file': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'source_or_other': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train 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/vredin/osint", "source_id": "graph-query-motif_query-7ab369379baf2476", "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": "vredin/osint", "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: vredin/osint"}, "properties": {"repobilityId": 327424, "scanner": "foundry_dataset", "fingerprint": "223d34e348d7186828fd4b36c10acaf1c876c47aade605782aecc23a71e08b01", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "ci_failure_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#7", "issue_number": "7", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e77f46a10a855827", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#7\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: vredin/osint\nThread: vredin/osint#7\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#7\nRepo: vredin/osint\nIssue/PR number: 7\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 18\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_failing_ci_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'data_schema': 1, 'ci_failure_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\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/vredin/osint", "source_id": "graph-query-motif_query-c3f687715be00c58", "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": "vredin/osint", "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: vredin/osint"}, "properties": {"repobilityId": 327423, "scanner": "foundry_dataset", "fingerprint": "a96e8b4d3554291322dbbf3f42dabe6fa41fd1ab30d649e2bf7a54505a80197d", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "ci_failure_signal": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 17, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "comment_chain_has_ci": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 15, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#4", "issue_number": "4", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-39e76d5498b0f9fc", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#4\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#4\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#4\nRepo: vredin/osint\nIssue/PR number: 4\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 15\nEdges: 17\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_failing_ci_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {'ci_failure_signal': 2}\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/vredin/osint", "source_id": "graph-query-motif_query-d0e5844b225dd92a", "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": "vredin/osint", "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: vredin/osint"}, "properties": {"repobilityId": 327422, "scanner": "foundry_dataset", "fingerprint": "cd37d7f71e9763a07b6d74410610d08bdddd77bcaf12699272ed4d84a7f29449", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 4, "data_schema": 1, "mock_placeholder": 1, "ci_failure_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#3", "issue_number": "3", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-7134d647aee5f061", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#3\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: vredin/osint\nThread: vredin/osint#3\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#3\nRepo: vredin/osint\nIssue/PR number: 3\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 18\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_failing_ci_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'data_schema': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\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/vredin/osint", "source_id": "graph-query-motif_query-75dc570cde1b82f1", "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": "vredin/osint", "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: vredin/osint"}, "properties": {"repobilityId": 327421, "scanner": "foundry_dataset", "fingerprint": "d0f4bdac4e5334d4764bd18e66110499b9431701d48ce5a72c192727c37c91aa", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"data_schema": 1, "mock_placeholder": 1, "verification_or_tests": 1, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 19, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 14, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#2", "issue_number": "2", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-44368d3611e365c0", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: vredin/osint\nThread: vredin/osint#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: vredin/osint\nThread: vredin/osint#2\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#2\nRepo: vredin/osint\nIssue/PR number: 2\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 19\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'data_schema': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 4}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-e32c13be990c5bd2", "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": "vredin/osint", "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: vredin/osint"}, "properties": {"repobilityId": 327420, "scanner": "foundry_dataset", "fingerprint": "30c93ce7db7abec9682a732bf544b6846b4b92c2206046087a21ad857e3cbb6e", "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, "data_schema": 2, "mock_placeholder": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#13", "issue_number": "13", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-3f2cc06f77a6c3c5", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: vredin/osint\nThread: vredin/osint#13\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: vredin/osint\nThread: vredin/osint#13\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#13\nRepo: vredin/osint\nIssue/PR number: 13\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'data_schema': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-cd5060405a092d7c", "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": "vredin/osint", "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: vredin/osint"}, "properties": {"repobilityId": 327419, "scanner": "foundry_dataset", "fingerprint": "0fe21adf4eddfcee4a5be3361fb39149defecc3ff9cb0fae67d3ba5a06bdeee6", "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, "data_schema": 2, "mock_placeholder": 1, "ci_failure_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#12", "issue_number": "12", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-69dfebf9404a4e90", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#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: vredin/osint\nThread: vredin/osint#12\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#12\nRepo: vredin/osint\nIssue/PR number: 12\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 18\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_failing_ci_signal': 3, 'data_schema': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\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/vredin/osint", "source_id": "graph-query-motif_query-07ca5ae7252d036b", "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": "vredin/osint", "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: vredin/osint"}, "properties": {"repobilityId": 327418, "scanner": "foundry_dataset", "fingerprint": "157e0dafe569233790701fd50e9dca2d4d4090217d8be012193d28601e6e74e0", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 2, "mock_placeholder": 1, "ci_failure_signal": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_failing_ci_signal": 3, "human_reported_issue_then_failing_ci_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_failing_ci_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {"ci_failure_signal": 2}, "synthetic": false, "edge_count": 19, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#11", "issue_number": "11", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d60946e93bee3660", "graph_gold_label": "contradicted_by_ci_or_failure_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: contradicted_by_ci_or_failure_signal\nRepo: vredin/osint\nThread: vredin/osint#11\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: vredin/osint\nThread: vredin/osint#11\nGraph gold label: contradicted_by_ci_or_failure_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#11\nRepo: vredin/osint\nIssue/PR number: 11\nGraph consistency label: contradicted_by_ci_or_failure_signal\nNodes: 15\nEdges: 19\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_links_commit': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_failing_ci_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_then_failing_ci_fix_attempt': 1, 'ci_failure_signal': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_failing_ci_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {'ci_failure_signal': 2}\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/vredin/osint", "source_id": "graph-query-motif_query-ba8c84596af3cbec", "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": "vredin/osint", "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: vredin/osint"}, "properties": {"repobilityId": 327417, "scanner": "foundry_dataset", "fingerprint": "5a1fb39bb833f889278e663d2b0aa70f593296ba8ee8f4968fb7915ec1c675db", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"mock_placeholder": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "vredin/osint#10", "issue_number": "10", "quality_tiers": {"unresolved": 4}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6f454d3296d78210", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: needs_more_evidence\nRepo: vredin/osint\nThread: vredin/osint#10\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: vredin/osint\nThread: vredin/osint#10\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#10\nRepo: vredin/osint\nIssue/PR number: 10\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_feedback_general': 1, 'human_reported_issue_no_linked_fix': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'not_resolved_or_not_observed': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'unresolved': 4}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-5b772980f713253b", "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": "vredin/osint", "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: vredin/osint"}, "properties": {"repobilityId": 327416, "scanner": "foundry_dataset", "fingerprint": "a79eddbce0641ece99ffdbc5b32294c827ccbf1f37601eac87615d42cc4a3131", "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, "data_schema": 1, "mock_placeholder": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "vredin/osint#1", "issue_number": "1", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "vredin/osint", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-ce9b22ff0b0dfe53", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: vredin/osint\nThread: vredin/osint#1\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: vredin/osint\nThread: vredin/osint#1\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: vredin/osint#1\nRepo: vredin/osint\nIssue/PR number: 1\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 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: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/vredin/osint", "source_id": "graph-query-motif_query-12222da048908f6e", "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": "vredin/osint", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-d27dfe2f7b543ff5", "level": "note", "message": {"text": "Possibly dead Python function: normalize_telegram_input"}, "properties": {"repobilityId": "ec66533c66c415ea", "scanner": "scanner-primary", "fingerprint": "d27dfe2f7b543ff5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tmp/OSINTBOT/utils/validators.py:87"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-71a8f510b7bea170", "level": "note", "message": {"text": "Possibly dead Python function: search_telegram_accounts_by_phone"}, "properties": {"repobilityId": "c5fad4a8729b1c60", "scanner": "scanner-primary", "fingerprint": "71a8f510b7bea170", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tmp/OSINTBOT/database/telegram_operations.py:285"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d40b8ddfa090b6c2", "level": "note", "message": {"text": "Possibly dead Python function: search_telegram_accounts_by_username"}, "properties": {"repobilityId": "3a9fec5092a39f3d", "scanner": "scanner-primary", "fingerprint": "d40b8ddfa090b6c2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tmp/OSINTBOT/database/telegram_operations.py:316"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eb203ef4b7b8686e", "level": "note", "message": {"text": "Possibly dead Python function: add_telegram_account"}, "properties": {"repobilityId": "74176675a001b9c6", "scanner": "scanner-primary", "fingerprint": "eb203ef4b7b8686e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tmp/OSINTBOT/database/telegram_operations.py:384"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6036cd69cffe4839", "level": "note", "message": {"text": "Possibly dead Python function: run_hudson_check_sync"}, "properties": {"repobilityId": "282e3cf26fac46ac", "scanner": "scanner-primary", "fingerprint": "6036cd69cffe4839", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tmp/OSINTBOT/services/hudson_checker.py:17"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9de59c35460c6e31", "level": "note", "message": {"text": "Possibly dead Python function: normalize_telegram_id"}, "properties": {"repobilityId": "3b9b1fdd262d5faf", "scanner": "scanner-primary", "fingerprint": "9de59c35460c6e31", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tmp/OSINTBOT/handlers/telegram.py:177"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-33511ee8a67f59a3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/admin/static/htmx.min.js:1"}, "properties": {"repobilityId": "a3a4b6d317edb614", "scanner": "scanner-primary", "fingerprint": "33511ee8a67f59a3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-de3c1f217d72a063", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "properties": {"repobilityId": "e2baffcf90d4f8aa", "scanner": "scanner-primary", "fingerprint": "de3c1f217d72a063", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-de3c1f217d72a063", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "properties": {"repobilityId": "110f7c8af6aefb39", "scanner": "scanner-primary", "fingerprint": "de3c1f217d72a063", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-73213ad67df2ea7d", "level": "error", "message": {"text": "Possible secret in scripts/pg_init.sh"}, "properties": {"repobilityId": "2dec3f31897c6572", "scanner": "scanner-primary", "fingerprint": "73213ad67df2ea7d", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pg_init.sh"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-73213ad67df2ea7d", "level": "error", "message": {"text": "Possible secret in scripts/pg_init.sh"}, "properties": {"repobilityId": "2dec3f31897c6572", "scanner": "scanner-primary", "fingerprint": "73213ad67df2ea7d", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pg_init.sh"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-73213ad67df2ea7d", "level": "error", "message": {"text": "Possible secret in scripts/pg_init.sh"}, "properties": {"repobilityId": "2dec3f31897c6572", "scanner": "scanner-primary", "fingerprint": "73213ad67df2ea7d", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pg_init.sh"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-73213ad67df2ea7d", "level": "error", "message": {"text": "Possible secret in scripts/pg_init.sh"}, "properties": {"repobilityId": "2dec3f31897c6572", "scanner": "scanner-primary", "fingerprint": "73213ad67df2ea7d", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pg_init.sh"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-f81dc1d2b30b4080", "level": "error", "message": {"text": "Possible secret in tmp/OSINTBOT/config.py"}, "properties": {"repobilityId": "d4ffbc0576b4d49e", "scanner": "scanner-primary", "fingerprint": "f81dc1d2b30b4080", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tmp/OSINTBOT/config.py"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-427824f08836114a", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in src/admin/static/htmx.min.js:1"}, "properties": {"repobilityId": "3076b669846d261c", "scanner": "scanner-primary", "fingerprint": "427824f08836114a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/admin/static/htmx.min.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b0a492d57fe099b6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/admin/static/htmx.min.js:1"}, "properties": {"repobilityId": "365d54a9d75a7bd2", "scanner": "scanner-primary", "fingerprint": "b0a492d57fe099b6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/admin/static/htmx.min.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7c6795d6251125a1", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in src/admin/static/htmx.min.js:1"}, "properties": {"repobilityId": "cf4a496233cbe807", "scanner": "scanner-primary", "fingerprint": "7c6795d6251125a1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/admin/static/htmx.min.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4f0198369c5029bd", "level": "warning", "message": {"text": "Insecure pattern 'domparser_html_parse' in src/admin/static/htmx.min.js:1"}, "properties": {"repobilityId": "b3b1e32a45ee62e6", "scanner": "scanner-primary", "fingerprint": "4f0198369c5029bd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "domparser_html_parse"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/admin/static/htmx.min.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8980acde11f2879d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/routers/accept_invite.py:183"}, "properties": {"repobilityId": "c81a9cf81bc953c5", "scanner": "scanner-primary", "fingerprint": "8980acde11f2879d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/routers/accept_invite.py"}, "region": {"startLine": 183}}}]}, {"ruleId": "scanner-67bcbd99759e410b", "level": "note", "message": {"text": "Very large file: tests/unit/admin/test_users_screen.py (1846 lines)"}, "properties": {"repobilityId": "4f437ebe57d58786", "scanner": "scanner-primary", "fingerprint": "67bcbd99759e410b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e71afbec4a237b4f", "level": "note", "message": {"text": "Very large file: tests/unit/admin/test_offline_db_screen.py (1500 lines)"}, "properties": {"repobilityId": "637af2a8aa26df81", "scanner": "scanner-primary", "fingerprint": "e71afbec4a237b4f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ba19828c0bed1a79", "level": "note", "message": {"text": "Very large file: src/admin/router.py (5267 lines)"}, "properties": {"repobilityId": "1717b3b8f24a41c1", "scanner": "scanner-primary", "fingerprint": "ba19828c0bed1a79", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b1f5225f583b41c7", "level": "note", "message": {"text": "Very large file: src/admin/work_lookup.py (1802 lines)"}, "properties": {"repobilityId": "e354f8e6a3e734c5", "scanner": "scanner-primary", "fingerprint": "b1f5225f583b41c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "630114d41b61b3dd", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "2ee2e66aac6a22d9", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "da4635f2eac5084e", "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": "29e6ebb04a94f11c", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "0b69ae5aa61eea2e", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "976934bacbf59ac8", "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": "8e45364595c629ee", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-38bfb0554f63d6b4", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_trust_score_ui.py:101"}, "properties": {"repobilityId": "77ea67222dd721da", "scanner": "scanner-primary", "fingerprint": "38bfb0554f63d6b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4cd901657795593", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/integration/conftest.py:115"}, "properties": {"repobilityId": "f278865634806b6e", "scanner": "scanner-primary", "fingerprint": "c4cd901657795593", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8f01522623f1e0f8", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/test_t156_sync_signoff_flags.py:454"}, "properties": {"repobilityId": "119669399fe3002d", "scanner": "scanner-primary", "fingerprint": "8f01522623f1e0f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05f895ea128b343a", "level": "note", "message": {"text": "Legacy-named symbol `env_backup` in tests/unit/test_invite.py:372"}, "properties": {"repobilityId": "ec722da98570e316", "scanner": "scanner-primary", "fingerprint": "05f895ea128b343a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-92b1a962e262a057", "level": "note", "message": {"text": "Legacy-named symbol `audit_log_v2` in tests/unit/test_check_audit_migration.py:206"}, "properties": {"repobilityId": "3cffc5fbcb23bd50", "scanner": "scanner-primary", "fingerprint": "92b1a962e262a057", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-54b11f8a19608941", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/unit/auth/test_password_reset.py:319"}, "properties": {"repobilityId": "167ffd296af4979c", "scanner": "scanner-primary", "fingerprint": "54b11f8a19608941", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aceefc9f7f853e9c", "level": "note", "message": {"text": "Legacy-named symbol `pep_check_v1` in tests/unit/risk/test_rule_parser.py:9"}, "properties": {"repobilityId": "69e4da677c77df92", "scanner": "scanner-primary", "fingerprint": "aceefc9f7f853e9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ce81f8e98273607e", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/unit/tasks/test_case_celery_registry.py:441"}, "properties": {"repobilityId": "70d0864dbb35363e", "scanner": "scanner-primary", "fingerprint": "ce81f8e98273607e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ab81ebdaffd2956", "level": "note", "message": {"text": "Legacy-named symbol `pgbackrest_full_backup` in tests/unit/tasks/test_backup_tasks.py:18"}, "properties": {"repobilityId": "b7a9dba3bf3ac1ef", "scanner": "scanner-primary", "fingerprint": "2ab81ebdaffd2956", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-75a2789f795afad3", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/admin/test_i18n.py:357"}, "properties": {"repobilityId": "d6929c6bce030684", "scanner": "scanner-primary", "fingerprint": "75a2789f795afad3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82a5f2216339a324", "level": "note", "message": {"text": "Legacy-named symbol `test_error_renders_without_link_or_copy` in tests/unit/admin/test_templates.py:500"}, "properties": {"repobilityId": "bafdcf533dca538b", "scanner": "scanner-primary", "fingerprint": "82a5f2216339a324", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-915000677dce32fa", "level": "note", "message": {"text": "Legacy-named symbol `all_old` in tests/unit/admin/managers/test_user_provisioning.py:729"}, "properties": {"repobilityId": "d77065100b2a30a7", "scanner": "scanner-primary", "fingerprint": "915000677dce32fa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-12db5cd738c5cd57", "level": "note", "message": {"text": "Legacy-named symbol `unknown_adapter_v2` in tests/unit/reports/test_degraded_badge.py:59"}, "properties": {"repobilityId": "51ce9811cd1e9870", "scanner": "scanner-primary", "fingerprint": "12db5cd738c5cd57", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4666275b41120a83", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/unit/routers/test_cases_endpoints.py:306"}, "properties": {"repobilityId": "ace6ea5c808bfb59", "scanner": "scanner-primary", "fingerprint": "4666275b41120a83", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0acec6a97c94aee4", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/routers/test_dsar_request.py:166"}, "properties": {"repobilityId": "42622438cf12a625", "scanner": "scanner-primary", "fingerprint": "0acec6a97c94aee4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81a52e163ba4dedd", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_dpia_artifacts.py:27"}, "properties": {"repobilityId": "3068b4c519294c5d", "scanner": "scanner-primary", "fingerprint": "81a52e163ba4dedd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3fbf1a1931d42f1e", "level": "note", "message": {"text": "Stub function `increment_general_count` (body is just `pass`/`return`) \u2014 tmp/OSINTBOT/handlers/telegram.py:152"}, "properties": {"repobilityId": "b1e2dac0ba6ec4f2", "scanner": "scanner-primary", "fingerprint": "3fbf1a1931d42f1e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-9369a4a24d8bec42", "level": "note", "message": {"text": "Legacy-named symbol `pep_check_v1` in alembic/versions/20260511_0010_config_risk_rules.py:54"}, "properties": {"repobilityId": "ac331334db1fbd7e", "scanner": "scanner-primary", "fingerprint": "9369a4a24d8bec42", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-73e94c6fdca05c39", "level": "note", "message": {"text": "Stub function `downgrade` (body is just `pass`/`return`) \u2014 alembic/versions/20260511_0000_baseline.py:30"}, "properties": {"repobilityId": "e93526bda90f3e13", "scanner": "scanner-primary", "fingerprint": "73e94c6fdca05c39", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-3d720ac91bbd45a5", "level": "none", "message": {"text": "Commented-code block (5 lines) in alembic/versions/20260528_0077_add_trust_score.py:20"}, "properties": {"repobilityId": "366fa1ac0ab1d163", "scanner": "scanner-primary", "fingerprint": "3d720ac91bbd45a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31a05f4e238914dc", "level": "note", "message": {"text": "Stub function `upgrade` (body is just `pass`/`return`) \u2014 alembic/versions/20260511_0001_extensions_searchpath.py:20"}, "properties": {"repobilityId": "b22caca7abc25ef1", "scanner": "scanner-primary", "fingerprint": "31a05f4e238914dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-75f3c9a47139e0c5", "level": "note", "message": {"text": "Legacy-named symbol `config_sources_backup` in alembic/versions/20260511_0008_config_sources.py:201"}, "properties": {"repobilityId": "2eb6b80eb0fffe49", "scanner": "scanner-primary", "fingerprint": "75f3c9a47139e0c5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d85c09810c3a3240", "level": "none", "message": {"text": "Commented-code block (6 lines) in alembic/versions/20260517_0051_organizations.py:35"}, "properties": {"repobilityId": "bc6d84e47f4b757c", "scanner": "scanner-primary", "fingerprint": "d85c09810c3a3240", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e1c1e9abda5bc27", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/main.py:199"}, "properties": {"repobilityId": "179b0fb396da77ce", "scanner": "scanner-primary", "fingerprint": "5e1c1e9abda5bc27", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca653808784c6cf5", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/adapters/opensanctions.py:73"}, "properties": {"repobilityId": "76e24c2d281b94ec", "scanner": "scanner-primary", "fingerprint": "ca653808784c6cf5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1530df2fd233546d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/adapters/offline_db.py:430"}, "properties": {"repobilityId": "aa466afd3204845e", "scanner": "scanner-primary", "fingerprint": "1530df2fd233546d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8a19b5320bbb081", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/adapters/youcontrol.py:151"}, "properties": {"repobilityId": "5fd7103ed49ab656", "scanner": "scanner-primary", "fingerprint": "b8a19b5320bbb081", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c78d1a2f347752b4", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/adapters/opendatabot.py:150"}, "properties": {"repobilityId": "7e623dc4a060003e", "scanner": "scanner-primary", "fingerprint": "c78d1a2f347752b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2ee4722a4392b8f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/auth/invite.py:56"}, "properties": {"repobilityId": "5fd11f48e6c52ad9", "scanner": "scanner-primary", "fingerprint": "b2ee4722a4392b8f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a2add00d90277d0", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/auth/totp.py:68"}, "properties": {"repobilityId": "a83a70c62e2be859", "scanner": "scanner-primary", "fingerprint": "0a2add00d90277d0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a2436eb502aeb2f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/auth/offboarding.py:90"}, "properties": {"repobilityId": "8ca67d8be7028781", "scanner": "scanner-primary", "fingerprint": "8a2436eb502aeb2f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85e7ad1310edd1f5", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/auth/permissions.py:188"}, "properties": {"repobilityId": "946262a032fa3800", "scanner": "scanner-primary", "fingerprint": "85e7ad1310edd1f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84a782f8dfad89b0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/auth/idempotency.py:33"}, "properties": {"repobilityId": "46e0efd8484c6878", "scanner": "scanner-primary", "fingerprint": "84a782f8dfad89b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a2fe5135a2482800", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/telegram/routers/unified_search.py:263"}, "properties": {"repobilityId": "219d7606d42ec070", "scanner": "scanner-primary", "fingerprint": "a2fe5135a2482800", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7030aaf990006f1e", "level": "note", "message": {"text": "Legacy-named symbol `pgbackrest_full_backup` in src/worker/beat_schedule.py:103"}, "properties": {"repobilityId": "192f6faa4f6e2c48", "scanner": "scanner-primary", "fingerprint": "7030aaf990006f1e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-241d5a735702a11b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worker/celery_app.py:111"}, "properties": {"repobilityId": "dccb512d51609771", "scanner": "scanner-primary", "fingerprint": "241d5a735702a11b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4b85654fb4546f2", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/tasks/signoff.py:235"}, "properties": {"repobilityId": "db8d8a7512b17d80", "scanner": "scanner-primary", "fingerprint": "e4b85654fb4546f2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2bacf78392873c1d", "level": "note", "message": {"text": "Legacy-named symbol `pgbackrest_full_backup` in src/tasks/backup.py:8"}, "properties": {"repobilityId": "98e8aeb2aa771fb3", "scanner": "scanner-primary", "fingerprint": "2bacf78392873c1d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bf1603732b44df5e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/tasks/dsar.py:167"}, "properties": {"repobilityId": "23effd042c270435", "scanner": "scanner-primary", "fingerprint": "bf1603732b44df5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a8f222a0314c608", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/tasks/audit.py:100"}, "properties": {"repobilityId": "a84c1689c0396df2", "scanner": "scanner-primary", "fingerprint": "7a8f222a0314c608", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-abd66ec14acea254", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/admin/router.py:4374"}, "properties": {"repobilityId": "e3569518115e2bab", "scanner": "scanner-primary", "fingerprint": "abd66ec14acea254", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6098a735c03fc5aa", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/admin/work_cases.py:181"}, "properties": {"repobilityId": "4b4777b30b8cb48e", "scanner": "scanner-primary", "fingerprint": "6098a735c03fc5aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2f7318607b6063e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/admin/work_lookup.py:211"}, "properties": {"repobilityId": "74f2e0f62bb15f07", "scanner": "scanner-primary", "fingerprint": "e2f7318607b6063e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3c022cdd1a4dd31", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/routers/accept_invite.py:313"}, "properties": {"repobilityId": "1c239c3246e29bd6", "scanner": "scanner-primary", "fingerprint": "e3c022cdd1a4dd31", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-20f9c71f40b5dd19", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routers/auth.py:84"}, "properties": {"repobilityId": "36fd88024bdb02d9", "scanner": "scanner-primary", "fingerprint": "20f9c71f40b5dd19", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e149a1c305de753", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routers/cases.py:525"}, "properties": {"repobilityId": "4378e970e857d96b", "scanner": "scanner-primary", "fingerprint": "1e149a1c305de753", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bddda3d5a14c7401", "level": "note", "message": {"text": "29 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "3519a6b4ac1d4f19", "scanner": "scanner-primary", "fingerprint": "bddda3d5a14c7401", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "a7106e9fd9701c16", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "2feb65f6ea7158c0", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "36535fa95ec67dd3", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "7ef2c1f1ac4d775b", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "d1b5287fd16947f9", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "ed4deaaed56477c2", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "581c2a5fb8a14e3d", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "c339a9073420853b", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "387727d01c5a5670", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-c54c6fb8e364daaa", "level": "note", "message": {"text": "Near-duplicate function bodies in 16 places"}, "properties": {"repobilityId": "e56dfcea15863bdd", "scanner": "scanner-primary", "fingerprint": "c54c6fb8e364daaa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "85b2c751a25af997", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "ddeba9900bbd7956", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "7105f51ca7a6e5c5", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "488ed60b23f672e1", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "13c10c146ced314b", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "3adc29f5d665471c", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "bc73a5773b55b5e1", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "8ee5882ab46bcd8a", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-33a6b62e30ce7ab4", "level": "note", "message": {"text": "Near-duplicate function bodies in 6 places"}, "properties": {"repobilityId": "dd8851d71bd14724", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "06da4f261d7b8a9f", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-c4340ecb25576775", "level": "error", "message": {"text": "FastAPI POST `work_block_add` without auth dependency \u2014 src/admin/work_cases.py:397"}, "properties": {"repobilityId": "0634517a0e38e732", "scanner": "scanner-primary", "fingerprint": "c4340ecb25576775", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/admin/work_cases.py"}, "region": {"startLine": 397}}}]}, {"ruleId": "scanner-470b6d880c66ef3b", "level": "error", "message": {"text": "FastAPI POST `work_block_save` without auth dependency \u2014 src/admin/work_cases.py:463"}, "properties": {"repobilityId": "e7e23e49f25b0886", "scanner": "scanner-primary", "fingerprint": "470b6d880c66ef3b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/admin/work_cases.py"}, "region": {"startLine": 463}}}]}, {"ruleId": "scanner-6c36e9b5203ea671", "level": "error", "message": {"text": "FastAPI POST `work_block_delete` without auth dependency \u2014 src/admin/work_cases.py:528"}, "properties": {"repobilityId": "bda74717f3630e63", "scanner": "scanner-primary", "fingerprint": "6c36e9b5203ea671", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/admin/work_cases.py"}, "region": {"startLine": 528}}}]}, {"ruleId": "scanner-da0cdfbca434bca3", "level": "error", "message": {"text": "FastAPI POST `telegram_webhook` without auth dependency \u2014 src/routers/telegram_webhook.py:32"}, "properties": {"repobilityId": "d0c88f80820e3ca2", "scanner": "scanner-primary", "fingerprint": "da0cdfbca434bca3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/routers/telegram_webhook.py"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-cb5ddf107c7072b8", "level": "error", "message": {"text": "FastAPI PUT `save_annotations` without auth dependency \u2014 src/routers/dossier_edit.py:383"}, "properties": {"repobilityId": "d080bb1aa7d56a9c", "scanner": "scanner-primary", "fingerprint": "cb5ddf107c7072b8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/routers/dossier_edit.py"}, "region": {"startLine": 383}}}]}, {"ruleId": "scanner-25b8878448a83608", "level": "error", "message": {"text": "FastAPI POST `refresh_tokens` without auth dependency \u2014 src/routers/auth.py:358"}, "properties": {"repobilityId": "cb7bab30a55db1c9", "scanner": "scanner-primary", "fingerprint": "25b8878448a83608", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/routers/auth.py"}, "region": {"startLine": 358}}}]}, {"ruleId": "scanner-2da6efe121044570", "level": "error", "message": {"text": "FastAPI POST `upload_polygraphy` without auth dependency \u2014 src/routers/cases.py:560"}, "properties": {"repobilityId": "7ba964fabff0bbdc", "scanner": "scanner-primary", "fingerprint": "2da6efe121044570", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/routers/cases.py"}, "region": {"startLine": 560}}}]}, {"ruleId": "scanner-f5382f3d8f1b4054", "level": "error", "message": {"text": "FastAPI POST `biometric_search` without auth dependency \u2014 src/routers/cases.py:574"}, "properties": {"repobilityId": "d69be16842a54aff", "scanner": "scanner-primary", "fingerprint": "f5382f3d8f1b4054", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/routers/cases.py"}, "region": {"startLine": 574}}}]}, {"ruleId": "scanner-5baa8971ebe192a1", "level": "note", "message": {"text": "Unused endpoint: GET /"}, "properties": {"repobilityId": "d0e0edd2f60ba9d6", "scanner": "scanner-primary", "fingerprint": "5baa8971ebe192a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6a4dfcad3eb1618a", "level": "note", "message": {"text": "Unused endpoint: GET /login"}, "properties": {"repobilityId": "0164b95cb512537e", "scanner": "scanner-primary", "fingerprint": "6a4dfcad3eb1618a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0e4ff048607f1451", "level": "note", "message": {"text": "Unused endpoint: POST /login-action"}, "properties": {"repobilityId": "135e51a95a1cb63c", "scanner": "scanner-primary", "fingerprint": "0e4ff048607f1451", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-99fc36db98c134ce", "level": "note", "message": {"text": "Unused endpoint: POST /logout"}, "properties": {"repobilityId": "38793bbf77e4ae55", "scanner": "scanner-primary", "fingerprint": "99fc36db98c134ce", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f91a0db35555adb5", "level": "note", "message": {"text": "Unused endpoint: POST /set-language"}, "properties": {"repobilityId": "fa417143da46ac63", "scanner": "scanner-primary", "fingerprint": "f91a0db35555adb5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a1713d08c2923730", "level": "note", "message": {"text": "Unused endpoint: GET /totp/setup"}, "properties": {"repobilityId": "450d80723068a416", "scanner": "scanner-primary", "fingerprint": "a1713d08c2923730", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5318e12cbdea835f", "level": "note", "message": {"text": "Unused endpoint: POST /totp/setup-action"}, "properties": {"repobilityId": "b368e6ffa41ec98e", "scanner": "scanner-primary", "fingerprint": "5318e12cbdea835f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cd8dc4599ec52a08", "level": "note", "message": {"text": "Unused endpoint: GET /stats"}, "properties": {"repobilityId": "194c1fbba915e3c3", "scanner": "scanner-primary", "fingerprint": "cd8dc4599ec52a08", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2a366262a6be358f", "level": "note", "message": {"text": "Unused endpoint: GET /activity"}, "properties": {"repobilityId": "786d8b7d0261c094", "scanner": "scanner-primary", "fingerprint": "2a366262a6be358f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-093377515e64cb68", "level": "note", "message": {"text": "Unused endpoint: GET /system-status"}, "properties": {"repobilityId": "e43db91aa5f973c2", "scanner": "scanner-primary", "fingerprint": "093377515e64cb68", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9e45898af0cb2fc5", "level": "note", "message": {"text": "Unused endpoint: GET /users/"}, "properties": {"repobilityId": "79e868cb1e5e9d33", "scanner": "scanner-primary", "fingerprint": "9e45898af0cb2fc5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b6077ca419fe557b", "level": "note", "message": {"text": "Unused endpoint: GET /users/rows"}, "properties": {"repobilityId": "351b140051e9c0b4", "scanner": "scanner-primary", "fingerprint": "b6077ca419fe557b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c0111b00cbaa1489", "level": "note", "message": {"text": "Unused endpoint: GET /users/invite-form"}, "properties": {"repobilityId": "fb0c289c119d718c", "scanner": "scanner-primary", "fingerprint": "c0111b00cbaa1489", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f9c611360be34e7b", "level": "note", "message": {"text": "Unused endpoint: POST /users/invite-action"}, "properties": {"repobilityId": "8ee412494bb1385b", "scanner": "scanner-primary", "fingerprint": "f9c611360be34e7b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-63a29ab589b44639", "level": "note", "message": {"text": "Unused endpoint: POST /invites/{invite_id}/revoke-action"}, "properties": {"repobilityId": "8b69dbd07d601eda", "scanner": "scanner-primary", "fingerprint": "63a29ab589b44639", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8e863220dc4d9e6b", "level": "note", "message": {"text": "Unused endpoint: POST /invites/{invite_id}/resend-action"}, "properties": {"repobilityId": "f3613aba1421bb98", "scanner": "scanner-primary", "fingerprint": "8e863220dc4d9e6b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-aeadc9a881435ec1", "level": "note", "message": {"text": "Unused endpoint: POST /users/{user_id}/deactivate-action"}, "properties": {"repobilityId": "6c50141365b54560", "scanner": "scanner-primary", "fingerprint": "aeadc9a881435ec1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c73ebf5e022382d9", "level": "note", "message": {"text": "Unused endpoint: PATCH /users/{user_id}/role-action"}, "properties": {"repobilityId": "fa47ba0b974eff6a", "scanner": "scanner-primary", "fingerprint": "c73ebf5e022382d9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ff5c44bc66143a25", "level": "note", "message": {"text": "Unused endpoint: GET /users/{user_id}/access"}, "properties": {"repobilityId": "9e1000d3e1115dd2", "scanner": "scanner-primary", "fingerprint": "ff5c44bc66143a25", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-24f4ec607925f080", "level": "note", "message": {"text": "Unused endpoint: POST /users/{user_id}/access"}, "properties": {"repobilityId": "14ab1e058763bf19", "scanner": "scanner-primary", "fingerprint": "24f4ec607925f080", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b2e9d4ee072bc291", "level": "note", "message": {"text": "Unused endpoint: POST /users/{user_id}/tg-link-action"}, "properties": {"repobilityId": "d511231e4b5c8efd", "scanner": "scanner-primary", "fingerprint": "b2e9d4ee072bc291", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0746e81afcdcbef9", "level": "note", "message": {"text": "Unused endpoint: POST /users/{user_id}/tg-unlink-action"}, "properties": {"repobilityId": "66af03a560e1164e", "scanner": "scanner-primary", "fingerprint": "0746e81afcdcbef9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9705163bda52703f", "level": "note", "message": {"text": "Unused endpoint: GET /sources/"}, "properties": {"repobilityId": "bac10673121ce848", "scanner": "scanner-primary", "fingerprint": "9705163bda52703f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e6cce5042e3334c7", "level": "note", "message": {"text": "Unused endpoint: PATCH /sources/{source_id}/toggle-action"}, "properties": {"repobilityId": "164d525e1b264135", "scanner": "scanner-primary", "fingerprint": "e6cce5042e3334c7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bb640682af9dcca0", "level": "note", "message": {"text": "Unused endpoint: GET /sources/create-form"}, "properties": {"repobilityId": "a944f209e2652639", "scanner": "scanner-primary", "fingerprint": "bb640682af9dcca0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b6bb654a5c98fe9d", "level": "note", "message": {"text": "Unused endpoint: POST /sources/create-action"}, "properties": {"repobilityId": "53ee352fb98b5cc7", "scanner": "scanner-primary", "fingerprint": "b6bb654a5c98fe9d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9871da12aa1100c7", "level": "note", "message": {"text": "Unused endpoint: GET /sources/{source_id}/row"}, "properties": {"repobilityId": "dcb2fa8a6d3c4c68", "scanner": "scanner-primary", "fingerprint": "9871da12aa1100c7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-43df45d7d7ee5f98", "level": "note", "message": {"text": "Unused endpoint: GET /sources/{source_id}/edit-form"}, "properties": {"repobilityId": "633f960417c6fea7", "scanner": "scanner-primary", "fingerprint": "43df45d7d7ee5f98", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8170d9904055848d", "level": "note", "message": {"text": "Unused endpoint: POST /sources/{source_id}/edit-action"}, "properties": {"repobilityId": "df2bf3817771eeb1", "scanner": "scanner-primary", "fingerprint": "8170d9904055848d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a89671563c9ea01e", "level": "note", "message": {"text": "Unused endpoint: PATCH /api/sources/{source_id}/trust-score"}, "properties": {"repobilityId": "b821ae277875f651", "scanner": "scanner-primary", "fingerprint": "a89671563c9ea01e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4247f0e83a1c9885", "level": "note", "message": {"text": "Unused endpoint: GET /risk-rules/"}, "properties": {"repobilityId": "71695d6e1700eb7b", "scanner": "scanner-primary", "fingerprint": "4247f0e83a1c9885", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-54d2ed50ab21e823", "level": "note", "message": {"text": "Unused endpoint: GET /risk-rules/{rule_id}"}, "properties": {"repobilityId": "8d44af4219a351f7", "scanner": "scanner-primary", "fingerprint": "54d2ed50ab21e823", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ab43c944ddb4b1f6", "level": "note", "message": {"text": "Unused endpoint: PATCH /risk-rules/{rule_id}"}, "properties": {"repobilityId": "fddc16a5f6083b8f", "scanner": "scanner-primary", "fingerprint": "ab43c944ddb4b1f6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-64b6525b51c8a88f", "level": "note", "message": {"text": "Unused endpoint: GET /llm-cost/"}, "properties": {"repobilityId": "3dd6eb4d8b2c0049", "scanner": "scanner-primary", "fingerprint": "64b6525b51c8a88f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2398516e80e841ac", "level": "note", "message": {"text": "Unused endpoint: PATCH /config/llm_budget"}, "properties": {"repobilityId": "c6a6a866b35e4b4f", "scanner": "scanner-primary", "fingerprint": "2398516e80e841ac", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0c4b78f8a534d37f", "level": "note", "message": {"text": "Unused endpoint: GET /settings/"}, "properties": {"repobilityId": "38b5607752c6ec64", "scanner": "scanner-primary", "fingerprint": "0c4b78f8a534d37f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4945c416bd2cb137", "level": "note", "message": {"text": "Unused endpoint: POST /settings/api-keys/{source_id}/key"}, "properties": {"repobilityId": "451194ab1febfd9f", "scanner": "scanner-primary", "fingerprint": "4945c416bd2cb137", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0627b3e2cb686c8f", "level": "note", "message": {"text": "Unused endpoint: DELETE /settings/api-keys/{source_id}/key"}, "properties": {"repobilityId": "92874a6da6e9bf57", "scanner": "scanner-primary", "fingerprint": "0627b3e2cb686c8f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-40ef73981e8aa4a4", "level": "note", "message": {"text": "Unused endpoint: GET /settings/pdf/"}, "properties": {"repobilityId": "e614003bd4c2ce05", "scanner": "scanner-primary", "fingerprint": "40ef73981e8aa4a4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b507ee325957b59d", "level": "note", "message": {"text": "Unused endpoint: PATCH /config/pdf_watermark_type"}, "properties": {"repobilityId": "8f7188de942c1d4f", "scanner": "scanner-primary", "fingerprint": "b507ee325957b59d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ffa587c9b97c0768", "level": "note", "message": {"text": "Unused endpoint: GET /settings/dossier-link/"}, "properties": {"repobilityId": "df3d12ddc7acde53", "scanner": "scanner-primary", "fingerprint": "ffa587c9b97c0768", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-63a8f69e95373863", "level": "note", "message": {"text": "Unused endpoint: PATCH /config/dossier_link_settings"}, "properties": {"repobilityId": "c8241b20ba5fd2f9", "scanner": "scanner-primary", "fingerprint": "63a8f69e95373863", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c8be7e86018ed090", "level": "note", "message": {"text": "Unused endpoint: GET /telegram-settings"}, "properties": {"repobilityId": "b8e05e5171357cb3", "scanner": "scanner-primary", "fingerprint": "c8be7e86018ed090", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e693fc49b4caf7b5", "level": "note", "message": {"text": "Unused endpoint: POST /config/telegram_totp_hours"}, "properties": {"repobilityId": "8fa06d11d6a94a5b", "scanner": "scanner-primary", "fingerprint": "e693fc49b4caf7b5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2aa73158551581ae", "level": "note", "message": {"text": "Unused endpoint: GET /api/totp-grace-status"}, "properties": {"repobilityId": "c3e06b5de7483938", "scanner": "scanner-primary", "fingerprint": "2aa73158551581ae", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dd3fcb05a41163bd", "level": "note", "message": {"text": "Unused endpoint: GET /partials/totp-grace-form"}, "properties": {"repobilityId": "240a1204c65c5ea9", "scanner": "scanner-primary", "fingerprint": "dd3fcb05a41163bd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-49d0e2674a5f7709", "level": "note", "message": {"text": "Unused endpoint: POST /settings/totp-grace-period"}, "properties": {"repobilityId": "9d5da04c2190def7", "scanner": "scanner-primary", "fingerprint": "49d0e2674a5f7709", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-63a495ca07f8a011", "level": "note", "message": {"text": "Unused endpoint: GET /audit/integrity-check/"}, "properties": {"repobilityId": "48b3c5cd7b9bfdda", "scanner": "scanner-primary", "fingerprint": "63a495ca07f8a011", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9fadccc0ca8a149b", "level": "note", "message": {"text": "Unused endpoint: GET /dsar/approvals"}, "properties": {"repobilityId": "5d6502ec6bd8f8a2", "scanner": "scanner-primary", "fingerprint": "9fadccc0ca8a149b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-64704c4e8e42056f", "level": "note", "message": {"text": "Unused endpoint: POST /dsar/{request_id}/approve"}, "properties": {"repobilityId": "e9ee36b5935e4a9b", "scanner": "scanner-primary", "fingerprint": "64704c4e8e42056f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}