{"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: Zen-TM/logjam", "shortDescription": {"text": "Foundry mined unresolved feedback: Zen-TM/logjam"}, "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: Zen-TM/logjam\nThread: Zen-TM/logjam#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: Zen-TM/logjam\nThread: Zen-TM/logjam#3\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#3\nRepo: Zen-TM/logjam\nIssue/PR number: 3\nGraph consistency label: needs_more_evidence\nNodes: 16\nEdges: 32\nNode types: {'pr_file': 4, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 8, 'thread_t"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_review_followup_gap", "name": "Foundry mined review feedback without structured fix: Zen-TM/logjam", "shortDescription": {"text": "Foundry mined review feedback without structured fix: Zen-TM/logjam"}, "fullDescription": {"text": "Graph query export: Review feedback without structured fix chain\nQuery id: review_feedback_without_structured_fix\nQuery type: motif_query\nIntent: Weak-supervision examples for review comments lacking a traceable fix.\nMotif: review_feedback_without_structured_fix\nTraining usage: weak_supervision\nGraph gold label: assumption_check\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#2\nEvidence:\nGraph motif: PR review feedback lacks a clearly structured fix chain\nMotif id: review_feedback_without_structured_fix\nPolarity: mixed\nTraining usage: weak_supervision\nSeverity: medium\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#2\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#2\nRepo: Zen-TM/logjam\nIssue/PR number: 2\nGraph consistency label: assumption_check\nNodes: 30\nEdges: 77\nNode types: {'link_quality': 8, 'pr_file': 6, 'comment_chain': 5, 'comment': 4, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.72, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: Zen-TM/logjam", "shortDescription": {"text": "Foundry mined blueprint gap alignment: Zen-TM/logjam"}, "fullDescription": {"text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#8\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: Zen-TM/logjam\nThread: Zen-TM/logjam#8\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#8\nRepo: Zen-TM/logjam\nIssue/PR number: 8\nGraph consistency label: supported_by_verification_signal\nNodes: 30\nEdges: 57\nNode types: {'pr_file': 13, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1"}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: Zen-TM/logjam", "shortDescription": {"text": "Foundry mined assumption checks: Zen-TM/logjam"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#4\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Zen-TM/logjam#4\nRepo: Zen-TM/logjam\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: 42\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 38, 'test_or_ci': 1, 'api_or_backend': 2, 'docs_or_claims': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d5ff9df32b2e0604\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \""}, "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: Zen-TM/logjam", "shortDescription": {"text": "Foundry mined test ci gap after feedback: Zen-TM/logjam"}, "fullDescription": {"text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#8\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: Zen-TM/logjam\nThread: Zen-TM/logjam#8\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#8\nRepo: Zen-TM/logjam\nIssue/PR number: 8\nGraph consistency label: supported_by_verification_signal\nNodes: 30\nEdges: 57\nNode types: {'pr_file': 13, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'bluep"}, "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: Zen-TM/logjam", "shortDescription": {"text": "Foundry mined schema ui api mismatch: Zen-TM/logjam"}, "fullDescription": {"text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#8\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: Zen-TM/logjam\nThread: Zen-TM/logjam#8\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#8\nRepo: Zen-TM/logjam\nIssue/PR number: 8\nGraph consistency label: supported_by_verification_signal\nNodes: 30\nEdges: 57\nNode types: {'pr_file': 13, '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: "}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: Zen-TM/logjam", "shortDescription": {"text": "Foundry mined bad chains: Zen-TM/logjam"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#20\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Zen-TM/logjam#20\nRepo: Zen-TM/logjam\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 1\nLinked CI labels: {'ci_pending_or_incomplete': 1}\nChanged file count: 2\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'api_or_backend': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b5f8118ae89ffde3\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\":"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "high", "confidence": 0.84, "cwe": "", "owasp": ""}}, {"id": "foundry_fake_real_gap", "name": "Foundry mined mock as real or placeholder: Zen-TM/logjam", "shortDescription": {"text": "Foundry mined mock as real or placeholder: Zen-TM/logjam"}, "fullDescription": {"text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#20\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: Zen-TM/logjam\nThread: Zen-TM/logjam#20\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#20\nRepo: Zen-TM/logjam\nIssue/PR number: 20\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 20\nNode types: {'link_quality': 3, 'pr_file': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'ci_s"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"id": "scanner-54a4724bfbdaa636", "name": "Possibly dead Python function: generate_contours", "shortDescription": {"text": "Possibly dead Python function: generate_contours"}, "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-a0e48b27bfe88dac", "name": "Possibly dead Python function: render_tile_job", "shortDescription": {"text": "Possibly dead Python function: render_tile_job"}, "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-8187395e2a5ac60a", "name": "Stray `console.log` in TS/JS \u2014 api/prisma/seed.ts:97", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 api/prisma/seed.ts:97"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eeccd472c317fded", "name": "TODO/FIXME marker in shipping code \u2014 api/src/worker/geoPdfWorker.ts:188", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 api/src/worker/geoPdfWorker.ts:188"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a1da9a2a35f4ac2e", "name": "Dockerfile runs as root: api/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: api/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8260e9ddadc43fec", "name": "Docker base image is tag-pinned but not digest-pinned: node:20-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-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-0a33fc2f86c5d2d5", "name": "Dockerfile ADD downloads remote content without checksum", "shortDescription": {"text": "Dockerfile ADD downloads remote content without checksum"}, "fullDescription": {"text": "Remote build inputs can change or be replaced upstream. Use Dockerfile ADD --checksum or download with an explicit digest/signature verification step."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-03024846ae170aeb", "name": "Docker base image is tag-pinned but not digest-pinned: ubuntu:24.04", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: ubuntu:24.04"}, "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-5de68ee42ca42259", "name": "Possible secret in frontend/src/errors/authErrorMap.ts", "shortDescription": {"text": "Possible secret in frontend/src/errors/authErrorMap.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-bf05212404766fb7", "name": "Insecure pattern 'node_child_process' in api/src/boot.ts:14", "shortDescription": {"text": "Insecure pattern 'node_child_process' in api/src/boot.ts:14"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bc776b87b2f07ef5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-393c0c759ab5e4c1", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0dc9d15d9a86a2ef", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-244a0d5972d41a82", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3cd14d6f45a87d58", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4bf411a1bee458fb", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-34fd347215268bd5", "name": "Very large file: frontend/src/components/map/Map.tsx (1663 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/map/Map.tsx (1663 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-81be6eaef2400d8a", "name": "Very large file: frontend/src/components/dialogs/CanyonCsvImportDialog.tsx (1522 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/dialogs/CanyonCsvImportDialog.tsx (1522 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-a008f33da09f4d9f", "name": "Very large file: api/src/services/generateGeoPdf.ts (2006 lines)", "shortDescription": {"text": "Very large file: api/src/services/generateGeoPdf.ts (2006 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-cb6ec1154c43c753", "name": "Very large file: topo/topo_mbtiles.py (2788 lines)", "shortDescription": {"text": "Very large file: topo/topo_mbtiles.py (2788 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 13 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 46 placeholder/mock markers across 25 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-cc55229a7a3c078d", "name": "Agent authority lacks a verifier contract: .mcp.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .mcp.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a261241001047a47", "name": "Agent authority lacks a verifier contract: frontend/src/components/dialogs/CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: frontend/src/components/dialogs/CLAUDE.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-123ee7bc7f4b857a", "name": "Commented-code block (5 lines) in frontend/src/canyonUtils.ts:1048", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/canyonUtils.ts:1048"}, "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-e8cf1774c1cdfb7a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/canyonUtils.ts:149", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/canyonUtils.ts:149"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-513aa6eef6b37445", "name": "Commented-code block (7 lines) in frontend/src/components/App.tsx:209", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/App.tsx:209"}, "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-a9f9ecac259bad3c", "name": "Commented-code block (7 lines) in frontend/src/components/map/Map.tsx:205", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/map/Map.tsx:205"}, "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-50af6ee52ed541ea", "name": "Commented-code block (7 lines) in frontend/src/components/dialogs/TopoDialog.tsx:128", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/components/dialogs/TopoDialog.tsx:128"}, "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-586d616a07374973", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/dialogs/TopoDialog.tsx:571", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/dialogs/TopoDialog.tsx:571"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b01d573e6ce50ada", "name": "Commented-code block (5 lines) in frontend/src/csvImport/canyonValueParsers.ts:91", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/csvImport/canyonValueParsers.ts:91"}, "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-3d910625ae983157", "name": "Commented-code block (7 lines) in api/prisma.config.ts:19", "shortDescription": {"text": "Commented-code block (7 lines) in api/prisma.config.ts:19"}, "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-d6c90e65bd4993b5", "name": "Commented-code block (5 lines) in api/vitest.config.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in api/vitest.config.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3f5dbef24d9ed283", "name": "`fetch()` without try/.catch or AbortSignal \u2014 api/src/index.ts:92", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 api/src/index.ts:92"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e771850bf32e4695", "name": "Commented-code block (7 lines) in api/src/boot.ts:4", "shortDescription": {"text": "Commented-code block (7 lines) in api/src/boot.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-10b2d713a3457cf1", "name": "Commented-code block (6 lines) in api/src/__tests__/friends.test.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in api/src/__tests__/friends.test.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-88b3ae90acef0938", "name": "Commented-code block (5 lines) in api/src/__tests__/tripLogs.test.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in api/src/__tests__/tripLogs.test.ts:6"}, "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-04c0416ddf9a8b72", "name": "Commented-code block (5 lines) in api/src/__tests__/sharing.test.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in api/src/__tests__/sharing.test.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-13fc73b7723584e9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 api/src/__tests__/media.test.ts:17", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 api/src/__tests__/media.test.ts:17"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-52d5a4318c41b97a", "name": "Commented-code block (7 lines) in api/src/__tests__/users.test.ts:7", "shortDescription": {"text": "Commented-code block (7 lines) in api/src/__tests__/users.test.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d76c7fde83b9710a", "name": "Commented-code block (5 lines) in api/src/__tests__/notifications.test.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in api/src/__tests__/notifications.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-72ad4c95d203b349", "name": "Commented-code block (5 lines) in api/src/middleware/auth.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in api/src/middleware/auth.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5341a3e1b95a5ec", "name": "Commented-code block (5 lines) in api/src/middleware/rateLimit.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in api/src/middleware/rateLimit.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0697c2e8af2965bf", "name": "Commented-code block (8 lines) in api/src/worker/geoPdfWorker.ts:6", "shortDescription": {"text": "Commented-code block (8 lines) in api/src/worker/geoPdfWorker.ts:6"}, "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-8c4113cd6aa7a8ce", "name": "Commented-code block (5 lines) in api/src/lib/canyonAccess.unit.test.ts:96", "shortDescription": {"text": "Commented-code block (5 lines) in api/src/lib/canyonAccess.unit.test.ts:96"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6125670a9761accb", "name": "Commented-code block (7 lines) in api/src/lib/resolveDbCredentials.ts:9", "shortDescription": {"text": "Commented-code block (7 lines) in api/src/lib/resolveDbCredentials.ts:9"}, "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-d5c4e4a028222226", "name": "Commented-code block (5 lines) in api/src/lib/env.ts:45", "shortDescription": {"text": "Commented-code block (5 lines) in api/src/lib/env.ts:45"}, "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-7d8b452d86e1d94b", "name": "Commented-code block (9 lines) in api/src/lib/dbPassword.ts:8", "shortDescription": {"text": "Commented-code block (9 lines) in api/src/lib/dbPassword.ts:8"}, "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-8702bbe890fc8b5e", "name": "Commented-code block (6 lines) in api/src/lib/topoJobReaper.ts:17", "shortDescription": {"text": "Commented-code block (6 lines) in api/src/lib/topoJobReaper.ts:17"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3fa3f876d86e64be", "name": "Commented-code block (5 lines) in api/src/lib/databaseUrl.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in api/src/lib/databaseUrl.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fe896281f97eed3e", "name": "Commented-code block (5 lines) in api/src/routes/sharing.ts:68", "shortDescription": {"text": "Commented-code block (5 lines) in api/src/routes/sharing.ts:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ddc74d714f01ec05", "name": "Commented-code block (6 lines) in api/src/routes/users.ts:452", "shortDescription": {"text": "Commented-code block (6 lines) in api/src/routes/users.ts:452"}, "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-c5f2bc77babe92b8", "name": "Commented-code block (12 lines) in api/src/routes/notifications.ts:10", "shortDescription": {"text": "Commented-code block (12 lines) in api/src/routes/notifications.ts:10"}, "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-8abbdb0a455f4a13", "name": "Commented-code block (6 lines) in api/src/routes/topoJobs.ts:32", "shortDescription": {"text": "Commented-code block (6 lines) in api/src/routes/topoJobs.ts:32"}, "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-59472586071741e5", "name": "Commented-code block (9 lines) in api/src/routes/geoPdf.ts:3", "shortDescription": {"text": "Commented-code block (9 lines) in api/src/routes/geoPdf.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d46c0e2d53b4c596", "name": "Commented-code block (5 lines) in api/src/routes/topoExports.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in api/src/routes/topoExports.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d471a996cf73a18d", "name": "Commented-code block (6 lines) in api/src/routes/canyons.ts:122", "shortDescription": {"text": "Commented-code block (6 lines) in api/src/routes/canyons.ts:122"}, "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-dfd6c28484e4cdf3", "name": "Commented-code block (5 lines) in api/src/services/ropewikiDedupe.ts:149", "shortDescription": {"text": "Commented-code block (5 lines) in api/src/services/ropewikiDedupe.ts:149"}, "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-000ea468c5e2e4ce", "name": "Commented-code block (5 lines) in api/src/services/awsClients.ts:12", "shortDescription": {"text": "Commented-code block (5 lines) in api/src/services/awsClients.ts:12"}, "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-4f632b869b9aef24", "name": "Commented-code block (5 lines) in api/src/services/generateGeoPdf.ts:92", "shortDescription": {"text": "Commented-code block (5 lines) in api/src/services/generateGeoPdf.ts:92"}, "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-6dfa14f15843ea97", "name": "Commented-code block (6 lines) in api/src/services/prisma.ts:9", "shortDescription": {"text": "Commented-code block (6 lines) in api/src/services/prisma.ts:9"}, "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-5724a993295fb961", "name": "Commented-code block (7 lines) in shared/src/geoPdfBaseLayers.ts:39", "shortDescription": {"text": "Commented-code block (7 lines) in shared/src/geoPdfBaseLayers.ts:39"}, "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-08326ffad061532d", "name": "Commented-code block (5 lines) in shared/src/media.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in shared/src/media.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d777252f5fefc533", "name": "Commented-code block (5 lines) in shared/src/geoPdfConfig.ts:29", "shortDescription": {"text": "Commented-code block (5 lines) in shared/src/geoPdfConfig.ts:29"}, "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-d54c313874c4a3fc", "name": "Commented-code block (6 lines) in shared/src/topoSettings.ts:9", "shortDescription": {"text": "Commented-code block (6 lines) in shared/src/topoSettings.ts:9"}, "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-1b2bb16cb2f708f9", "name": "Legacy-named symbol `list_objects_v2` in topo/worker.py:252", "shortDescription": {"text": "Legacy-named symbol `list_objects_v2` in topo/worker.py:252"}, "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-4488478cce86bbaa", "name": "Commented-code block (12 lines) in topo/worker.py:447", "shortDescription": {"text": "Commented-code block (12 lines) in topo/worker.py:447"}, "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-ec8bc2f246b685a7", "name": "Network/subprocess call without timeout or try/except \u2014 topo/worker.py:392", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 topo/worker.py:392"}, "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-16f4743045413719", "name": "Legacy-named symbol `list_objects_v2` in topo/export_worker.py:178", "shortDescription": {"text": "Legacy-named symbol `list_objects_v2` in topo/export_worker.py:178"}, "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-7cfcf2acc0319355", "name": "Commented-code block (9 lines) in topo/topo_mbtiles.py:173", "shortDescription": {"text": "Commented-code block (9 lines) in topo/topo_mbtiles.py:173"}, "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-b04eea45093dd7f7", "name": "Network/subprocess call without timeout or try/except \u2014 topo/topo_mbtiles.py:994", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 topo/topo_mbtiles.py:994"}, "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-4d585d90d2dfb7d2", "name": "Commented-code block (7 lines) in topo/tests/_native_stub.py:37", "shortDescription": {"text": "Commented-code block (7 lines) in topo/tests/_native_stub.py:37"}, "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-1538b75a968d8a86", "name": "Network/subprocess call without timeout or try/except \u2014 topo/renderers/mbtiles.py:36", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 topo/renderers/mbtiles.py:36"}, "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-fc34a6daa5d6585d", "name": "Commented-code block (5 lines) in topo/renderers/tile_compose.py:192", "shortDescription": {"text": "Commented-code block (5 lines) in topo/renderers/tile_compose.py:192"}, "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-f2fd76c7232c43d1", "name": "Network/subprocess call without timeout or try/except \u2014 topo/renderers/gpx.py:39", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 topo/renderers/gpx.py:39"}, "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-658cafc552c541a0", "name": "Network/subprocess call without timeout or try/except \u2014 topo/renderers/gpkg.py:48", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 topo/renderers/gpkg.py:48"}, "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-70fcae2d13c708b6", "name": "17 env vars used in code but missing from .env.example", "shortDescription": {"text": "17 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `API_URL`, `AUTH_MODE`, `AWS_ENDPOINT_URL`, `AWS_EXECUTION_ENV`, `AWS_LAMBDA_FUNCTION_NAME`, `CI`, `DATABASE_SSL_CA`, `DB_SECRET_ID` + 9 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:\ntopo/worker.py:create_notification, topo/export_worker.py:create_notification\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-8c236625afb6a8cb", "name": "Unused endpoint: GET /ready", "shortDescription": {"text": "Unused endpoint: GET /ready"}, "fullDescription": {"text": "`api/src/index.ts` declares `GET /ready` 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-4e480cf1bc736555", "name": "Unused endpoint: USE /users", "shortDescription": {"text": "Unused endpoint: USE /users"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /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-bb5ad562102c5e9d", "name": "Unused endpoint: USE /canyons", "shortDescription": {"text": "Unused endpoint: USE /canyons"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /canyons` 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-6f48f57fb0d2224f", "name": "Unused endpoint: USE /canyons/:canyonId/trips", "shortDescription": {"text": "Unused endpoint: USE /canyons/:canyonId/trips"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /canyons/:canyonId/trips` 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-dbb0dde7b58a928f", "name": "Unused endpoint: USE /trips/bulk", "shortDescription": {"text": "Unused endpoint: USE /trips/bulk"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /trips/bulk` 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-95a7edd4f51785dc", "name": "Unused endpoint: USE /canyons/bulk", "shortDescription": {"text": "Unused endpoint: USE /canyons/bulk"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /canyons/bulk` 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-80bceea6a5a8daf4", "name": "Unused endpoint: USE /trips", "shortDescription": {"text": "Unused endpoint: USE /trips"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /trips` 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-90c59dce8c680681", "name": "Unused endpoint: USE /friends", "shortDescription": {"text": "Unused endpoint: USE /friends"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /friends` 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-d80629752210b855", "name": "Unused endpoint: USE /notifications", "shortDescription": {"text": "Unused endpoint: USE /notifications"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /notifications` 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-a6b403ccd927d834", "name": "Unused endpoint: USE /ropewiki", "shortDescription": {"text": "Unused endpoint: USE /ropewiki"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /ropewiki` 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-66fdbe332a1d6e1b", "name": "Unused endpoint: USE /topo-jobs", "shortDescription": {"text": "Unused endpoint: USE /topo-jobs"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /topo-jobs` 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-23846d4701bd172d", "name": "Unused endpoint: USE /media", "shortDescription": {"text": "Unused endpoint: USE /media"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /media` 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-3cd45d2700b5de02", "name": "Unused endpoint: USE /topo-exports", "shortDescription": {"text": "Unused endpoint: USE /topo-exports"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /topo-exports` 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-93a24d3f34004099", "name": "Unused endpoint: USE /geo-pdf-templates", "shortDescription": {"text": "Unused endpoint: USE /geo-pdf-templates"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /geo-pdf-templates` 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-69d55de70f3551da", "name": "Unused endpoint: USE /topo-templates", "shortDescription": {"text": "Unused endpoint: USE /topo-templates"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /topo-templates` 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-a5043d73fa010743", "name": "Unused endpoint: USE /vector-style", "shortDescription": {"text": "Unused endpoint: USE /vector-style"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /vector-style` 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-559f8a2d19edf55b", "name": "Unused endpoint: USE /geo-pdf", "shortDescription": {"text": "Unused endpoint: USE /geo-pdf"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /geo-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-14c8cdf42637261c", "name": "Unused endpoint: USE /analytics", "shortDescription": {"text": "Unused endpoint: USE /analytics"}, "fullDescription": {"text": "`api/src/index.ts` declares `USE /analytics` 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-475d70dd6b907ab6", "name": "Unused endpoint: POST /:id/share", "shortDescription": {"text": "Unused endpoint: POST /:id/share"}, "fullDescription": {"text": "`api/src/routes/sharing.ts` declares `POST /:id/share` 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-1ff174e4ce14ff3c", "name": "Unused endpoint: DELETE /:id/share/:userId", "shortDescription": {"text": "Unused endpoint: DELETE /:id/share/:userId"}, "fullDescription": {"text": "`api/src/routes/sharing.ts` declares `DELETE /:id/share/:userId` 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-d592cb27af68c861", "name": "Unused endpoint: GET /:id/shares", "shortDescription": {"text": "Unused endpoint: GET /:id/shares"}, "fullDescription": {"text": "`api/src/routes/sharing.ts` declares `GET /:id/shares` 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-23df988e26cdbbc9", "name": "Unused endpoint: POST /presign", "shortDescription": {"text": "Unused endpoint: POST /presign"}, "fullDescription": {"text": "`api/src/routes/media.ts` declares `POST /presign` 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-e37d33036b87f852", "name": "Unused endpoint: POST /:mediaId/confirm", "shortDescription": {"text": "Unused endpoint: POST /:mediaId/confirm"}, "fullDescription": {"text": "`api/src/routes/media.ts` declares `POST /:mediaId/confirm` 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-7a61c112b611f4bb", "name": "Unused endpoint: DELETE /:id", "shortDescription": {"text": "Unused endpoint: DELETE /:id"}, "fullDescription": {"text": "`api/src/routes/media.ts` declares `DELETE /: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-7a009b1a56794f45", "name": "Unused endpoint: POST /", "shortDescription": {"text": "Unused endpoint: POST /"}, "fullDescription": {"text": "`api/src/routes/canyonsBulk.ts` declares `POST /` 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-5ad17de6517d58f2", "name": "Unused endpoint: POST /delete", "shortDescription": {"text": "Unused endpoint: POST /delete"}, "fullDescription": {"text": "`api/src/routes/canyonsBulk.ts` declares `POST /delete` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5baa8971ebe192a1", "name": "Unused endpoint: GET /", "shortDescription": {"text": "Unused endpoint: GET /"}, "fullDescription": {"text": "`api/src/routes/analytics.ts` declares `GET /` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd1dc91abf32142d", "name": "Unused endpoint: GET /me", "shortDescription": {"text": "Unused endpoint: GET /me"}, "fullDescription": {"text": "`api/src/routes/users.ts` declares `GET /me` 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-ea575b61c121b733", "name": "Unused endpoint: PATCH /me", "shortDescription": {"text": "Unused endpoint: PATCH /me"}, "fullDescription": {"text": "`api/src/routes/users.ts` declares `PATCH /me` 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-7244774f57779581", "name": "Unused endpoint: GET /me/export", "shortDescription": {"text": "Unused endpoint: GET /me/export"}, "fullDescription": {"text": "`api/src/routes/users.ts` declares `GET /me/export` 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-380780ae47e04514", "name": "Unused endpoint: DELETE /me", "shortDescription": {"text": "Unused endpoint: DELETE /me"}, "fullDescription": {"text": "`api/src/routes/users.ts` declares `DELETE /me` 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-1de80da0b27387f7", "name": "Unused endpoint: GET /unread-count", "shortDescription": {"text": "Unused endpoint: GET /unread-count"}, "fullDescription": {"text": "`api/src/routes/notifications.ts` declares `GET /unread-count` 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-afd4ed162f8ab9b0", "name": "Unused endpoint: PATCH /:id/read", "shortDescription": {"text": "Unused endpoint: PATCH /:id/read"}, "fullDescription": {"text": "`api/src/routes/notifications.ts` declares `PATCH /:id/read` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed4d2d73b6897c8d", "name": "Unused endpoint: PATCH /read-all", "shortDescription": {"text": "Unused endpoint: PATCH /read-all"}, "fullDescription": {"text": "`api/src/routes/notifications.ts` declares `PATCH /read-all` 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-3b30f4c0994a30b4", "name": "Unused endpoint: DELETE /", "shortDescription": {"text": "Unused endpoint: DELETE /"}, "fullDescription": {"text": "`api/src/routes/notifications.ts` declares `DELETE /` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-67d28fa8cd6bb12f", "name": "Unused endpoint: PUT /", "shortDescription": {"text": "Unused endpoint: PUT /"}, "fullDescription": {"text": "`api/src/routes/vectorStyle.ts` declares `PUT /` 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-f50587b43f3c7597", "name": "Unused endpoint: POST /:id/start", "shortDescription": {"text": "Unused endpoint: POST /:id/start"}, "fullDescription": {"text": "`api/src/routes/topoJobs.ts` declares `POST /:id/start` 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-2f4bacec52d71723", "name": "Unused endpoint: GET /completed-overlays", "shortDescription": {"text": "Unused endpoint: GET /completed-overlays"}, "fullDescription": {"text": "`api/src/routes/topoJobs.ts` declares `GET /completed-overlays` 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-ca5756175765b49d", "name": "Unused endpoint: GET /:id", "shortDescription": {"text": "Unused endpoint: GET /:id"}, "fullDescription": {"text": "`api/src/routes/topoJobs.ts` declares `GET /: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-5fbc954f63526821", "name": "Unused endpoint: PATCH /:id", "shortDescription": {"text": "Unused endpoint: PATCH /:id"}, "fullDescription": {"text": "`api/src/routes/topoTemplates.ts` declares `PATCH /: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-42719ea76f9ecae3", "name": "Unused endpoint: GET /requests", "shortDescription": {"text": "Unused endpoint: GET /requests"}, "fullDescription": {"text": "`api/src/routes/friends.ts` declares `GET /requests` 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-3b5c17c01e439662", "name": "Unused endpoint: POST /request", "shortDescription": {"text": "Unused endpoint: POST /request"}, "fullDescription": {"text": "`api/src/routes/friends.ts` declares `POST /request` 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-bc9d5f32f5b74487", "name": "Unused endpoint: PATCH /:id/accept", "shortDescription": {"text": "Unused endpoint: PATCH /:id/accept"}, "fullDescription": {"text": "`api/src/routes/friends.ts` declares `PATCH /:id/accept` 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-ebaacd18b1705130", "name": "Unused endpoint: PATCH /:id/decline", "shortDescription": {"text": "Unused endpoint: PATCH /:id/decline"}, "fullDescription": {"text": "`api/src/routes/friends.ts` declares `PATCH /:id/decline` 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-d16e4fa529c520e9", "name": "Unused endpoint: GET /search", "shortDescription": {"text": "Unused endpoint: GET /search"}, "fullDescription": {"text": "`api/src/routes/friends.ts` declares `GET /search` 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-be4cb5e3cabcce80", "name": "Unused endpoint: POST /import", "shortDescription": {"text": "Unused endpoint: POST /import"}, "fullDescription": {"text": "`api/src/routes/ropewiki.ts` declares `POST /import` 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-f59a5e88944ea3bd", "name": "Unused endpoint: POST /import/apply", "shortDescription": {"text": "Unused endpoint: POST /import/apply"}, "fullDescription": {"text": "`api/src/routes/ropewiki.ts` declares `POST /import/apply` 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-7ce17d6b092a81ca", "name": "Unused endpoint: POST /refresh", "shortDescription": {"text": "Unused endpoint: POST /refresh"}, "fullDescription": {"text": "`api/src/routes/ropewiki.ts` declares `POST /refresh` 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-a6fffeeae7abe1f9", "name": "Unused endpoint: GET /shared", "shortDescription": {"text": "Unused endpoint: GET /shared"}, "fullDescription": {"text": "`api/src/routes/canyons.ts` declares `GET /shared` 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-93692c71b57b4d09", "name": "Unused endpoint: POST /:id/copy", "shortDescription": {"text": "Unused endpoint: POST /:id/copy"}, "fullDescription": {"text": "`api/src/routes/canyons.ts` declares `POST /:id/copy` 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/23577"}, "properties": {"repository": "Zen-TM/logjam", "repoUrl": "https://github.com/Zen-TM/logjam", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Zen-TM/logjam"}, "properties": {"repobilityId": 423730, "scanner": "foundry_dataset", "fingerprint": "5838149b92cbc4a668d95fe12db5ee812bc72d1f32ce877ec27404a05eacc0aa", "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": {"docs_or_claims": 1, "ui_or_frontend": 1, "source_or_other": 1, "dependency_or_build": 1, "positive_human_signal": 2, "issue_or_pull_request_thread": 1, "thread_has_positive_feedback": 2, "positive_feedback_no_linked_change": 2, "human_positive_or_acceptance_signal": 4}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"human_positive_or_acceptance_signal": 8}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 32, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 4, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 4, "thread_has_comment_chain": 2, "comment_chain_touches_file": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 16, "node_types": {"repo": 1, "thread": 1, "comment": 2, "pr_file": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#3", "issue_number": "3", "quality_tiers": {"unresolved": 4}, "repo_full_name": "Zen-TM/logjam", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-ed9ce312aa4bf6a4", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {"docs_or_claims": 5, "ui_or_frontend": 5, "source_or_other": 5, "dependency_or_build": 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: needs_more_evidence\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#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: Zen-TM/logjam\nThread: Zen-TM/logjam#3\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#3\nRepo: Zen-TM/logjam\nIssue/PR number: 3\nGraph consistency label: needs_more_evidence\nNodes: 16\nEdges: 32\nNode types: {'pr_file': 4, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 8, 'thread_touches_file': 4, 'chain_has_link_quality': 4, 'issue_chain_touches_file': 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: {'human_positive_or_acceptance_signal': 4, 'positive_human_signal': 2, 'positive_feedback_no_linked_change': 2, 'thread_has_positive_feedback': 2, 'issue_or_pull_request_thread': 1, 'docs_or_claims': 1, 'dependency_or_build': 1, 'ui_or_frontend': 1, 'source_or_other': 1}\nOutcomes: {'human_positive_or_acceptance_signal': 8}\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/Zen-TM/logjam", "source_id": "graph-query-motif_query-01375b84dfb56e76", "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": "Zen-TM/logjam", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Zen-TM/logjam"}, "properties": {"repobilityId": 423729, "scanner": "foundry_dataset", "fingerprint": "c5eb142f2b6ce0b9991fb670610f3cbb6ae582b8d0065077b0bbb22f074f4366", "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": {"ui_or_frontend": 5, "source_or_other": 1, "api_integration_gap": 1, "human_feedback_general": 4, "unlinked_human_feedback": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 6, "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": 2, "ambiguous_needs_more_evidence": 12}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 77, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 4, "thread_touches_file": 6, "thread_has_pr_review": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 8, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 6, "thread_has_comment_chain": 5, "comment_chain_touches_file": 30, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 30, "node_types": {"repo": 1, "thread": 1, "comment": 4, "pr_file": 6, "alignment": 1, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#2", "issue_number": "2", "quality_tiers": {"unresolved": 7, "assumption_check": 1}, "repo_full_name": "Zen-TM/logjam", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-f468251cf3056b7c", "graph_gold_label": "assumption_check", "changed_file_labels": {"ui_or_frontend": 40, "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: assumption_check\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#2\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#2\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#2\nRepo: Zen-TM/logjam\nIssue/PR number: 2\nGraph consistency label: assumption_check\nNodes: 30\nEdges: 77\nNode types: {'link_quality': 8, 'pr_file': 6, 'comment_chain': 5, 'comment': 4, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 30, 'chain_has_link_quality': 8, 'thread_touches_file': 6, 'issue_chain_touches_file': 6, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'thread_has_comment': 4, 'repo_has_thread': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 6, 'ui_or_frontend': 5, 'human_feedback_general': 4, 'unlinked_human_feedback': 4, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'source_or_other': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 7, '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/Zen-TM/logjam", "source_id": "graph-query-motif_query-ec1e118dee08a808", "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": "Zen-TM/logjam", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Zen-TM/logjam"}, "properties": {"repobilityId": 423728, "scanner": "foundry_dataset", "fingerprint": "fe9d1aaec33bd58a9229c5c555203ecf2a44e1357fe0c33ad3c975dc6dab900e", "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": {"docs_or_claims": 1, "ui_or_frontend": 9, "api_integration_gap": 1, "positive_human_signal": 1, "human_feedback_general": 3, "unlinked_human_feedback": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 6, "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": 2, "ambiguous_needs_more_evidence": 12}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 105, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 4, "thread_touches_file": 10, "thread_has_pr_review": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 8, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 10, "thread_has_comment_chain": 5, "comment_chain_touches_file": 50, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 34, "node_types": {"repo": 1, "thread": 1, "comment": 4, "pr_file": 10, "alignment": 1, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#1", "issue_number": "1", "quality_tiers": {"unresolved": 7, "assumption_check": 1}, "repo_full_name": "Zen-TM/logjam", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-7753ba875ba7081a", "graph_gold_label": "assumption_check", "changed_file_labels": {"docs_or_claims": 8, "ui_or_frontend": 72}}, "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: Zen-TM/logjam\nThread: Zen-TM/logjam#1\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#1\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#1\nRepo: Zen-TM/logjam\nIssue/PR number: 1\nGraph consistency label: assumption_check\nNodes: 34\nEdges: 105\nNode types: {'pr_file': 10, 'link_quality': 8, 'comment_chain': 5, 'comment': 4, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 50, 'thread_touches_file': 10, 'issue_chain_touches_file': 10, 'chain_has_link_quality': 8, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'thread_has_comment': 4, 'repo_has_thread': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 9, 'ambiguous_needs_more_evidence': 6, 'unlinked_human_feedback': 4, 'human_feedback_general': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'positive_human_signal': 1, 'api_integration_gap': 1, 'docs_or_claims': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 7, '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/Zen-TM/logjam", "source_id": "graph-query-motif_query-dd9111da9e5b9788", "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": "Zen-TM/logjam", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_review_followup_gap", "level": "warning", "message": {"text": "Foundry mined review feedback without structured fix: Zen-TM/logjam"}, "properties": {"repobilityId": 408556, "scanner": "foundry_dataset", "fingerprint": "e03bc19826bcac27cc40ade1b605992175177de8e66044bd90a4cd561164e521", "category": "practices", "severity": "medium", "confidence": 0.72, "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": "Review feedback without structured fix chain", "intent": "Weak-supervision examples for review comments lacking a traceable fix.", "labels": {"ui_or_frontend": 5, "source_or_other": 1, "api_integration_gap": 1, "human_feedback_general": 4, "unlinked_human_feedback": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 6, "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": "review_feedback_without_structured_fix", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 12}, "polarity": "mixed", "query_id": "review_feedback_without_structured_fix", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 77, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 4, "thread_touches_file": 6, "thread_has_pr_review": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 8, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 6, "thread_has_comment_chain": 5, "comment_chain_touches_file": 30, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 30, "node_types": {"repo": 1, "thread": 1, "comment": 4, "pr_file": 6, "alignment": 1, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#2", "issue_number": "2", "quality_tiers": {"unresolved": 7, "assumption_check": 1}, "repo_full_name": "Zen-TM/logjam", "training_usage": "weak_supervision", "source_motif_id": "graph-pattern-motif-thread-054047843528df65", "graph_gold_label": "assumption_check", "changed_file_labels": {"ui_or_frontend": 40, "source_or_other": 8}}, "text": "Graph query export: Review feedback without structured fix chain\nQuery id: review_feedback_without_structured_fix\nQuery type: motif_query\nIntent: Weak-supervision examples for review comments lacking a traceable fix.\nMotif: review_feedback_without_structured_fix\nTraining usage: weak_supervision\nGraph gold label: assumption_check\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#2\nEvidence:\nGraph motif: PR review feedback lacks a clearly structured fix chain\nMotif id: review_feedback_without_structured_fix\nPolarity: mixed\nTraining usage: weak_supervision\nSeverity: medium\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#2\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#2\nRepo: Zen-TM/logjam\nIssue/PR number: 2\nGraph consistency label: assumption_check\nNodes: 30\nEdges: 77\nNode types: {'link_quality': 8, 'pr_file': 6, 'comment_chain': 5, 'comment': 4, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 30, 'chain_has_link_quality': 8, 'thread_touches_file': 6, 'issue_chain_touches_file': 6, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'thread_has_comment': 4, 'repo_has_thread': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 6, 'ui_or_frontend': 5, 'human_feedback_general': 4, 'unlinked_human_feedback': 4, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'source_or_other': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 7, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Normalize PR reviews into finding, fix, verification, and residual-risk fields.\n- Teach agents to answer review comments with traceable code and test changes.\nAssumption checks:\n- Can each review comment be mapped to a changed file or commit?\n- Was the review resolved by evidence or only left as commentary?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-726b4c4166b7966e", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/review_feedback_without_structured_fix/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Zen-TM/logjam", "source_dataset": "graph_queries/review_feedback_without_structured_fix", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_review_followup_gap", "level": "warning", "message": {"text": "Foundry mined review feedback without structured fix: Zen-TM/logjam"}, "properties": {"repobilityId": 408555, "scanner": "foundry_dataset", "fingerprint": "2cf0b9738ad13b00a20f0ab8d518c6cceb127d83d1ff312ac70bb16a5b750593", "category": "practices", "severity": "medium", "confidence": 0.72, "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": "Review feedback without structured fix chain", "intent": "Weak-supervision examples for review comments lacking a traceable fix.", "labels": {"docs_or_claims": 1, "ui_or_frontend": 9, "api_integration_gap": 1, "positive_human_signal": 1, "human_feedback_general": 3, "unlinked_human_feedback": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 6, "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": "review_feedback_without_structured_fix", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 12}, "polarity": "mixed", "query_id": "review_feedback_without_structured_fix", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 105, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 4, "thread_touches_file": 10, "thread_has_pr_review": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 8, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 10, "thread_has_comment_chain": 5, "comment_chain_touches_file": 50, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 34, "node_types": {"repo": 1, "thread": 1, "comment": 4, "pr_file": 10, "alignment": 1, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#1", "issue_number": "1", "quality_tiers": {"unresolved": 7, "assumption_check": 1}, "repo_full_name": "Zen-TM/logjam", "training_usage": "weak_supervision", "source_motif_id": "graph-pattern-motif-thread-606afb7d0efa1ba4", "graph_gold_label": "assumption_check", "changed_file_labels": {"docs_or_claims": 8, "ui_or_frontend": 72}}, "text": "Graph query export: Review feedback without structured fix chain\nQuery id: review_feedback_without_structured_fix\nQuery type: motif_query\nIntent: Weak-supervision examples for review comments lacking a traceable fix.\nMotif: review_feedback_without_structured_fix\nTraining usage: weak_supervision\nGraph gold label: assumption_check\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#1\nEvidence:\nGraph motif: PR review feedback lacks a clearly structured fix chain\nMotif id: review_feedback_without_structured_fix\nPolarity: mixed\nTraining usage: weak_supervision\nSeverity: medium\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#1\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#1\nRepo: Zen-TM/logjam\nIssue/PR number: 1\nGraph consistency label: assumption_check\nNodes: 34\nEdges: 105\nNode types: {'pr_file': 10, 'link_quality': 8, 'comment_chain': 5, 'comment': 4, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 50, 'thread_touches_file': 10, 'issue_chain_touches_file': 10, 'chain_has_link_quality': 8, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'thread_has_comment': 4, 'repo_has_thread': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 9, 'ambiguous_needs_more_evidence': 6, 'unlinked_human_feedback': 4, 'human_feedback_general': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'positive_human_signal': 1, 'api_integration_gap': 1, 'docs_or_claims': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 7, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Normalize PR reviews into finding, fix, verification, and residual-risk fields.\n- Teach agents to answer review comments with traceable code and test changes.\nAssumption checks:\n- Can each review comment be mapped to a changed file or commit?\n- Was the review resolved by evidence or only left as commentary?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-aaf08eca673a4d7c", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/review_feedback_without_structured_fix/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Zen-TM/logjam", "source_dataset": "graph_queries/review_feedback_without_structured_fix", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Zen-TM/logjam"}, "properties": {"repobilityId": 395621, "scanner": "foundry_dataset", "fingerprint": "2b4bb0617130ec88b0a4aa32394a896c5e09204fab7fb795fc17a582a0804d9b", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "api_or_backend": 5, "commit_general": 1, "schema_or_data": 3, "ui_or_frontend": 5, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 57, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 13, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 30, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 13, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#8", "issue_number": "8", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Zen-TM/logjam", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e9f1519000521a7e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 20, "schema_or_data": 12, "ui_or_frontend": 20}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#8\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: Zen-TM/logjam\nThread: Zen-TM/logjam#8\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#8\nRepo: Zen-TM/logjam\nIssue/PR number: 8\nGraph consistency label: supported_by_verification_signal\nNodes: 30\nEdges: 57\nNode types: {'pr_file': 13, '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': 13, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'api_or_backend': 5, 'ui_or_frontend': 5, 'schema_or_data': 3, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'commit_general': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-8aa7fa5493a4ab4c", "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": "Zen-TM/logjam", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Zen-TM/logjam"}, "properties": {"repobilityId": 395620, "scanner": "foundry_dataset", "fingerprint": "24b50b69fb47415e253d2630675b3e136aafa59ccf21341c3e6efb250f2e1957", "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": {"revert": 1, "test_or_ci": 2, "test_ci_gap": 1, "api_or_backend": 12, "docs_or_claims": 1, "source_or_other": 2, "dependency_or_build": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 61, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 17, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 34, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 17, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#7", "issue_number": "7", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Zen-TM/logjam", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-cd40d178ce95a8ec", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 8, "api_or_backend": 48, "docs_or_claims": 4, "source_or_other": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#7\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: Zen-TM/logjam\nThread: Zen-TM/logjam#7\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#7\nRepo: Zen-TM/logjam\nIssue/PR number: 7\nGraph consistency label: supported_by_verification_signal\nNodes: 34\nEdges: 61\nNode types: {'pr_file': 17, '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': 17, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'api_or_backend': 12, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'test_or_ci': 2, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'docs_or_claims': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'revert': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-71a871b378857081", "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": "Zen-TM/logjam", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Zen-TM/logjam"}, "properties": {"repobilityId": 395619, "scanner": "foundry_dataset", "fingerprint": "0ab3587e41c9ffde8118d963786e6796512db60eb3f7b30c02c9629e6a7c3c16", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "source_or_other": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 23, "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_links_commit": 5, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "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": "Zen-TM/logjam#6", "issue_number": "6", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Zen-TM/logjam", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-94182282f8c00a7c", "graph_gold_label": "supported_by_verification_signal", "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: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#6\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: Zen-TM/logjam\nThread: Zen-TM/logjam#6\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#6\nRepo: Zen-TM/logjam\nIssue/PR number: 6\nGraph consistency label: supported_by_verification_signal\nNodes: 18\nEdges: 23\nNode types: {'commit': 5, '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: {'comment_chain_links_commit': 5, '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: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'source_or_other': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-cb1153225a045922", "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": "Zen-TM/logjam", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Zen-TM/logjam"}, "properties": {"repobilityId": 395618, "scanner": "foundry_dataset", "fingerprint": "980e349d24bfa71d353c09fb1a691f8dbffe87a256f254da888fc4db61459c61", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "test_or_ci": 3, "test_ci_gap": 1, "api_or_backend": 13, "docs_or_claims": 1, "source_or_other": 2, "dependency_or_build": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 63, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 19, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 36, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 19, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#5", "issue_number": "5", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Zen-TM/logjam", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-7dd68b6f4c871bdf", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 12, "api_or_backend": 52, "docs_or_claims": 4, "source_or_other": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#5\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#5\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#5\nRepo: Zen-TM/logjam\nIssue/PR number: 5\nGraph consistency label: supported_by_verification_signal\nNodes: 36\nEdges: 63\nNode types: {'pr_file': 19, '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': 19, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'api_or_backend': 13, 'test_or_ci': 3, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'docs_or_claims': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-7d71732b5e38beac", "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": "Zen-TM/logjam", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Zen-TM/logjam"}, "properties": {"repobilityId": 395617, "scanner": "foundry_dataset", "fingerprint": "d87f247a103bf0b14203bffce7cec5d79efa78083a7b8cd279c3c946262712ee", "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, "api_or_backend": 2, "commit_general": 1, "docs_or_claims": 1, "source_or_other": 38, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 86, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 42, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 59, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 42, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#4", "issue_number": "4", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Zen-TM/logjam", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-98e8d64fb133ef54", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 8, "docs_or_claims": 4, "source_or_other": 152}}, "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: Zen-TM/logjam\nThread: Zen-TM/logjam#4\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#4\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#4\nRepo: Zen-TM/logjam\nIssue/PR number: 4\nGraph consistency label: weak_supervision_needs_review\nNodes: 59\nEdges: 86\nNode types: {'pr_file': 42, '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': 42, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'source_or_other': 38, 'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 3, 'api_or_backend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'test_or_ci': 1, 'docs_or_claims': 1, 'comment_has_related_commit_context': 1, 'commit_general': 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/Zen-TM/logjam", "source_id": "graph-query-motif_query-5bc8b4b0ec55242f", "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": "Zen-TM/logjam", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Zen-TM/logjam"}, "properties": {"repobilityId": 395616, "scanner": "foundry_dataset", "fingerprint": "85b9a9e3691a9c74cde7e8ef204554569fd8a07229f2fbeeb5c37299a5a06fe4", "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": {"ui_or_frontend": 5, "source_or_other": 1, "api_integration_gap": 1, "human_feedback_general": 4, "unlinked_human_feedback": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 6, "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": 2, "ambiguous_needs_more_evidence": 12}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 77, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 4, "thread_touches_file": 6, "thread_has_pr_review": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 8, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 6, "thread_has_comment_chain": 5, "comment_chain_touches_file": 30, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 30, "node_types": {"repo": 1, "thread": 1, "comment": 4, "pr_file": 6, "alignment": 1, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#2", "issue_number": "2", "quality_tiers": {"unresolved": 7, "assumption_check": 1}, "repo_full_name": "Zen-TM/logjam", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-168285d764691674", "graph_gold_label": "assumption_check", "changed_file_labels": {"ui_or_frontend": 40, "source_or_other": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#2\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#2\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#2\nRepo: Zen-TM/logjam\nIssue/PR number: 2\nGraph consistency label: assumption_check\nNodes: 30\nEdges: 77\nNode types: {'link_quality': 8, 'pr_file': 6, 'comment_chain': 5, 'comment': 4, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 30, 'chain_has_link_quality': 8, 'thread_touches_file': 6, 'issue_chain_touches_file': 6, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'thread_has_comment': 4, 'repo_has_thread': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 6, 'ui_or_frontend': 5, 'human_feedback_general': 4, 'unlinked_human_feedback': 4, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'source_or_other': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 7, '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/Zen-TM/logjam", "source_id": "graph-query-motif_query-fbeabe9eb400a2ad", "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": "Zen-TM/logjam", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Zen-TM/logjam"}, "properties": {"repobilityId": 395615, "scanner": "foundry_dataset", "fingerprint": "7c6d0c81541964f9dbbcbfdbabee0ddea67ed6afd9c49d87d23168b58f4aa50d", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 5, "data_schema": 1, "test_ci_gap": 1, "api_or_backend": 9, "docs_or_claims": 2, "schema_or_data": 1, "ui_or_frontend": 3, "source_or_other": 12, "dependency_or_build": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 77, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 33, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 50, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 33, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#19", "issue_number": "19", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Zen-TM/logjam", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-809635a5e83fcf8f", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 20, "api_or_backend": 36, "docs_or_claims": 8, "schema_or_data": 4, "ui_or_frontend": 12, "source_or_other": 48, "dependency_or_build": 4}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#19\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: Zen-TM/logjam\nThread: Zen-TM/logjam#19\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#19\nRepo: Zen-TM/logjam\nIssue/PR number: 19\nGraph consistency label: supported_by_verification_signal\nNodes: 50\nEdges: 77\nNode types: {'pr_file': 33, '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': 33, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'source_or_other': 12, 'api_or_backend': 9, 'test_or_ci': 5, 'verification_or_tests': 4, 'ui_or_frontend': 3, 'claimed_resolved_with_verification_signal': 3, 'docs_or_claims': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'schema_or_data': 1, 'dependency_or_build': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'data_schema': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-02f58ee6cfe7f28d", "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": "Zen-TM/logjam", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Zen-TM/logjam"}, "properties": {"repobilityId": 395614, "scanner": "foundry_dataset", "fingerprint": "d8694a52b5d0bfb9d70936503ff1f4c4c9a7b4e1e1952e8822b60db97db31551", "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": {"docs_or_claims": 1, "ui_or_frontend": 9, "api_integration_gap": 1, "positive_human_signal": 1, "human_feedback_general": 3, "unlinked_human_feedback": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 6, "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": 2, "ambiguous_needs_more_evidence": 12}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 105, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 4, "thread_touches_file": 10, "thread_has_pr_review": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 8, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 10, "thread_has_comment_chain": 5, "comment_chain_touches_file": 50, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 34, "node_types": {"repo": 1, "thread": 1, "comment": 4, "pr_file": 10, "alignment": 1, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#1", "issue_number": "1", "quality_tiers": {"unresolved": 7, "assumption_check": 1}, "repo_full_name": "Zen-TM/logjam", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b41aaa49b5fce4c5", "graph_gold_label": "assumption_check", "changed_file_labels": {"docs_or_claims": 8, "ui_or_frontend": 72}}, "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: Zen-TM/logjam\nThread: Zen-TM/logjam#1\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: Zen-TM/logjam\nThread: Zen-TM/logjam#1\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#1\nRepo: Zen-TM/logjam\nIssue/PR number: 1\nGraph consistency label: assumption_check\nNodes: 34\nEdges: 105\nNode types: {'pr_file': 10, 'link_quality': 8, 'comment_chain': 5, 'comment': 4, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 50, 'thread_touches_file': 10, 'issue_chain_touches_file': 10, 'chain_has_link_quality': 8, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'thread_has_comment': 4, 'repo_has_thread': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 9, 'ambiguous_needs_more_evidence': 6, 'unlinked_human_feedback': 4, 'human_feedback_general': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'positive_human_signal': 1, 'api_integration_gap': 1, 'docs_or_claims': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'unresolved': 7, '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/Zen-TM/logjam", "source_id": "graph-query-motif_query-81dc7aecf09d77c8", "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": "Zen-TM/logjam", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Zen-TM/logjam"}, "properties": {"repobilityId": 374648, "scanner": "foundry_dataset", "fingerprint": "c73aaab01fb7cb36fd7f5326911e059e56c852283066b23c1751ba6af72a0cb7", "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": "Zen-TM/logjam#4", "human_labels": ["api_or_backend", "docs_or_claims", "source_or_other", "test_ci_gap", "test_or_ci"], "issue_number": "4", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.742, "repo_full_name": "Zen-TM/logjam", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-ee8b9a8fd3b5f95a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 3, "tests": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 42, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "api_or_backend": 2, "docs_or_claims": 1, "source_or_other": 38}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 5, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#4\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Zen-TM/logjam#4\nRepo: Zen-TM/logjam\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: 42\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 38, 'test_or_ci': 1, 'api_or_backend': 2, 'docs_or_claims': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d5ff9df32b2e0604\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/4\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Zen-TM/logjam\\nAuthor: Zen-TM (User)\\nURL: https://github.com/Zen-TM/logjam/pull/4\\nTitle: feat(infra): adopt Terraform IaC for all AWS infrastructure\\nBody:\\nIntroduce infra/terraform/ as the single source of truth for prod AWS, importing every existing resource (never recreating): ECR, S3 (+lifecycle/ CORS/PAB/SSE), CloudWatch log groups, IAM (roles/policies/OIDC provider), ECS cluster + task defs, RDS, Cognito, CloudFront (+OAC/WAF), Elastic Beanstalk, and the networking security groups. State lives in S3 with native locking; prevent_destroy guards RDS/Cognito/CloudFront/EB; EB option_settings and task-def image tags are left to CI (ignore_changes), so Terraform and the deploy pipeline don't fight.\\r\\n\\r\\nThe reusable storage module also provisions the LocalStack S3 buckets for local dev, and Terraform now generates the root .env.local from a template (killing the .env.local vs api/.env drift). docker-compose drops the dead SQS service and the seed-localstack.sh init script (replaced by Terraform).\\r\\n\\r\\nAlso in this change:\\r\\n- enable 7-day RDS automated backups + deletion protection\\r\\n- remove dead SQS (queue, SQS_QUEU\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-6890b291c83b0de3\",\n    \"filename\": \".env.local.example\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 17,\n    \"deletions\": 52,\n    \"changes\": 69,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/03bba472ddca1c073419c7358630d8ae57307922/.env.local.example\"\n  },\n  {\n    \"id\": \"github-pr-file-file-39f5459bc47f55ee\",\n    \"filename\": \".github/workflows/terraform-ci.yml\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"added\",\n    \"additions\": 44,\n    \"deletions\": 0,\n    \"changes\": 44,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/03bba472ddca1c073419c7358630d8ae57307922/.git\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "comment-chain-pattern-assumption_checks-376329e9ef930569", "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": "Zen-TM/logjam", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Zen-TM/logjam"}, "properties": {"repobilityId": 374647, "scanner": "foundry_dataset", "fingerprint": "681f0c8fe7331d88c484fa150cf634539f1fbeb02558b9a83e54025b3f3e84c2", "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": "Zen-TM/logjam#2", "human_labels": ["api_integration_gap", "human_feedback_general", "source_or_other", "ui_or_frontend"], "issue_number": "2", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Zen-TM/logjam", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-879c15e783b7074f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 3, "tests": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 6, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 5, "source_or_other": 1}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 5, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#2\nOutcome: ambiguous_needs_more_evidence\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: Zen-TM/logjam#2\nRepo: Zen-TM/logjam\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 5\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 6\nLabels: {'human_feedback_general': 4, 'api_integration_gap': 1}\nPolarities: {'neutral': 4, 'bad': 1}\nChanged file labels: {'source_or_other': 1, 'ui_or_frontend': 5}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-bf5f3f2e21cc918e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/2\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: Zen-TM/logjam\\nAuthor: Zen-TM (User)\\nURL: https://github.com/Zen-TM/logjam/pull/2\\nTitle: view canyon info in the sidebar by clicking it's marker\\nBody:\\n\"\n  },\n  {\n    \"id\": \"github-feedback-comment-38797006ef77d8fe\",\n    \"kind\": \"review_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/2#discussion_r2153659813\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: review_comment\\nRepo: Zen-TM/logjam\\nAuthor: Copilot (Bot)\\nURL: https://github.com/Zen-TM/logjam/pull/2#discussion_r2153659813\\nTitle: \\nBody:\\nYou\u2019re calling `find` again to get the canyon name. Consider computing `const canyon = canyons.find(...)` once at the top of the component (or before the return) and reusing it in both the header and `canyonInfo` to avoid duplicate searches.\\n```suggestion\\n              {canyon?.name} Canyon\\n```\"\n  },\n  {\n    \"id\": \"github-feedback-comment-5461e1274a4e59d6\",\n    \"kind\": \"review_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/2#discussion_r2153659816\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: review_comment\\nRepo: Zen-TM/logjam\\nAuthor: Copilot (Bot)\\nURL: https://github.com/Zen-TM/logjam/pull/2#discussion_r2153659816\\nTitle: \\nBody:\\nUsing the truthiness check on `selectedCanyonID` could misbehave if an ID of `0` ever appears. Prefer `selectedCanyonID != null` to explicitly distinguish between `null`/`undefined` and a valid ID.\\n```suggestion\\n        {selectedCanyonID != null ? (\\n```\"\n  },\n  {\n    \"id\": \"github-feedback-comment-a0f734294b66303b\",\n    \"kind\": \"review_comment\",\n    \"label\": \"human_feedback_general\",\n    \"pola\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "comment-chain-pattern-assumption_checks-d14216715fce8025", "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": "Zen-TM/logjam", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Zen-TM/logjam"}, "properties": {"repobilityId": 374646, "scanner": "foundry_dataset", "fingerprint": "ced6ff15656e1bb8fad458d57f5b5f7de34081d2d9dc39d324e25e8a6c51f4f1", "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": "Zen-TM/logjam#17", "human_labels": ["agent_instruction_gap", "api_or_backend", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "17", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.895, "repo_full_name": "Zen-TM/logjam", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-a1627282a39df837", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 3, "tests": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 9, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "api_or_backend": 2, "ui_or_frontend": 3, "source_or_other": 3}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 5, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#17\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: Zen-TM/logjam#17\nRepo: Zen-TM/logjam\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 9\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'api_or_backend': 2, 'ui_or_frontend': 3, 'source_or_other': 3, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-cd94f6b075170ba4\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/17\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Zen-TM/logjam\\nAuthor: Zen-TM (User)\\nURL: https://github.com/Zen-TM/logjam/pull/17\\nTitle: fix(ui): filter chip readability, GeoPDF toast text, collapsible templates\\nBody:\\n## Summary\\n\\n- **Filter chip on map**: solid `--theme-secondary` background instead of semi-transparent warning tint \u2014 readable over any map tile\\n- **GeoPDF toast**: removed misleading \\\"see below\\\" wording, now says \\\"download will appear in the GeoPDFs panel\\\"\\n- **GeoPDF templates accordion**: now collapses/expands with chevron, matching the Generated PDFs accordion in the same panel\\n\\n## Test plan\\n\\n- [ ] Apply canyon filters \u2192 verify chip is readable over satellite and vector tiles\\n- [ ] Queue a GeoPDF \u2192 verify toast text is sensible\\n- [ ] Open GeoPDFs panel \u2192 verify Templates section collapses/expands with chevron animation\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-0b88e9bd42393f00\",\n    \"filename\": \"api/src/lib/topoJobReaper.ts\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 13,\n    \"deletions\": 0,\n    \"changes\": 13,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/6ba8a01469b55596fa62eae0e6e50add0cf7f3d1/api%2Fsrc%2Flib%2FtopoJobReaper.ts\"\n  },\n  {\n    \"id\": \"github-pr-file-file-4eabec1df67f3dd3\",\n    \"filename\": \"api/src/routes/topoExports.ts\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 0,\n    \"changes\": 6,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/6ba8a01469b55596fa62eae0e6e50add0cf7f3d1/api%2Fsrc%2Froutes%2FtopoExports.ts\"\n  },\n  {\n    \"id\": \"github-pr-file-file-ea231d29f95b4f8c\",\n    \"filename\": \"frontend/src/components/dialogs/GeoPdfDialog.tsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "comment-chain-pattern-assumption_checks-572b8bec7247fb57", "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": "Zen-TM/logjam", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Zen-TM/logjam"}, "properties": {"repobilityId": 374645, "scanner": "foundry_dataset", "fingerprint": "45e3c79b439ce4e151c28909ca5da67bda6967a3346c02244d0d4c4be6189629", "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": "Zen-TM/logjam#16", "human_labels": ["human_feedback_general", "source_or_other"], "issue_number": "16", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.808, "repo_full_name": "Zen-TM/logjam", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-8857105acebb860a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 3, "tests": 2}, "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": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 5, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#16\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: Zen-TM/logjam#16\nRepo: Zen-TM/logjam\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'source_or_other': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-34d1e4f2e1687544\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/16\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: Zen-TM/logjam\\nAuthor: Zen-TM (User)\\nURL: https://github.com/Zen-TM/logjam/pull/16\\nTitle: chore: gitignore TypeScript tsbuildinfo cache\\nBody:\\n\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-9ec483926f20c1c8\",\n    \"filename\": \".gitignore\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 0,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/c0a8b9e42edf80efb430d250015ce764b394efe8/.gitignore\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-9d306b9e53fe0ff6\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Zen-TM/logjam\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 3, \"artifact_supports_verification\": 5, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 3, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "comment-chain-pattern-assumption_checks-484f6868aab354ce", "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": "Zen-TM/logjam", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Zen-TM/logjam"}, "properties": {"repobilityId": 374644, "scanner": "foundry_dataset", "fingerprint": "ac6b3a2f513c28fbba0b8899386da7aafeae9ff170106f231cf28d5f531db6f6", "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": "Zen-TM/logjam#15", "human_labels": ["api_or_backend", "docs_or_claims", "human_feedback_general", "test_or_ci", "ui_or_frontend"], "issue_number": "15", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "Zen-TM/logjam", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-f6b2a79c9b550ad0", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 3, "tests": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 28, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 12, "api_or_backend": 11, "docs_or_claims": 4, "ui_or_frontend": 1}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 5, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#15\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: Zen-TM/logjam#15\nRepo: Zen-TM/logjam\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 28\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'docs_or_claims': 4, 'api_or_backend': 11, 'test_or_ci': 12, 'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-833c6c55a3defdeb\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/15\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: Zen-TM/logjam\\nAuthor: Zen-TM (User)\\nURL: https://github.com/Zen-TM/logjam/pull/15\\nTitle: test: close post-audit coverage gaps + 404 anti-oracle for canyon access\\nBody:\\n\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-39269f482176565f\",\n    \"filename\": \"CLAUDE.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 7,\n    \"deletions\": 2,\n    \"changes\": 9,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/69232ccd9b29529398eb7f46bbddd6c24dfe29e3/CLAUDE.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-b232c22f804692f8\",\n    \"filename\": \"README.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 9,\n    \"deletions\": 1,\n    \"changes\": 10,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/69232ccd9b29529398eb7f46bbddd6c24dfe29e3/README.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-ff6ae793865ffd4a\",\n    \"filename\": \"api/CLAUDE.md\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/69232ccd9b29529398eb7f46bbddd6c24dfe29e3/api%2FCLAUDE.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-704c600ad1dcf134\",\n    \"filename\": \"api/src/__tests__/_actors.ts\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"added\",\n    \"additions\": 31,\n    \"deletions\": 0,\n    \"changes\": 31,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/69232ccd9b29529398eb7f46bbddd6c24dfe29e3/api%2Fsrc%2F__tests__%2F_actors.ts\"\n  },\n  {\n    \"id\": \"github-pr-file-file-22cfbbec15e0c9ac\",\n    \"filename\": \"api/src/__tests__/shareBoundary.test.ts\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"added\",\n    \"additions\": 253,\n    \"deletions\": 0,\n    \"changes\": 253,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/69232ccd9b29529398eb7f46bbddd6c24dfe29e3/api%2Fsrc%2F_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "comment-chain-pattern-assumption_checks-f2a1ba1934da41bf", "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": "Zen-TM/logjam", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Zen-TM/logjam"}, "properties": {"repobilityId": 374643, "scanner": "foundry_dataset", "fingerprint": "abd951c0880a5cce321fb0f22c4a00e70b858736e566c04b524e6ccb34552c82", "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": "Zen-TM/logjam#14", "human_labels": ["api_or_backend", "dependency_or_build", "docs_or_claims", "human_feedback_general", "source_or_other"], "issue_number": "14", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.808, "repo_full_name": "Zen-TM/logjam", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-2621c8fd85abc48f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 3, "tests": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 7, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 1, "docs_or_claims": 2, "source_or_other": 2, "dependency_or_build": 2}, "linked_commit_count": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 5, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#14\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: Zen-TM/logjam#14\nRepo: Zen-TM/logjam\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 7\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'source_or_other': 2, 'docs_or_claims': 2, 'api_or_backend': 1, 'dependency_or_build': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1e1d6cd91cfbba4e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/14\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: Zen-TM/logjam\\nAuthor: Zen-TM (User)\\nURL: https://github.com/Zen-TM/logjam/pull/14\\nTitle: chore: open-source the project under AGPL-3.0\\nBody:\\n\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-ba6ea72d54a13d76\",\n    \"filename\": \".gitleaks.toml\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 25,\n    \"deletions\": 0,\n    \"changes\": 25,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/794511e5753c4bdc619ee298490e66dfc60be878/.gitleaks.toml\"\n  },\n  {\n    \"id\": \"github-pr-file-file-5efe1c5d9963577a\",\n    \"filename\": \"CONTRIBUTING.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"added\",\n    \"additions\": 70,\n    \"deletions\": 0,\n    \"changes\": 70,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/794511e5753c4bdc619ee298490e66dfc60be878/CONTRIBUTING.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-0c06bff751c15ab6\",\n    \"filename\": \"LICENSE\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 661,\n    \"deletions\": 0,\n    \"changes\": 661,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/794511e5753c4bdc619ee298490e66dfc60be878/LICENSE\"\n  },\n  {\n    \"id\": \"github-pr-file-file-3a0cb5cbb3fea3b6\",\n    \"filename\": \"README.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 1,\n    \"changes\": 7,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/794511e5753c4bdc619ee298490e66dfc60be878/README.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-07402884e74423fa\",\n    \"filename\": \"api/package.json\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/794511e5753c4bdc619ee298490e66dfc60be878/api%2Fpackage.json\"\n  },\n  {\n    \"id\": \"github-pr-file-file-ae5e94a2b49b20d4\",\n    \"file\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "comment-chain-pattern-assumption_checks-69f9a7a78eb7c2b5", "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": "Zen-TM/logjam", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Zen-TM/logjam"}, "properties": {"repobilityId": 374642, "scanner": "foundry_dataset", "fingerprint": "1ed2fc4dfff2b4766b1e952b952519efc55ceab1a690b2211b361c3438a582fb", "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": "Zen-TM/logjam#13", "human_labels": ["dependency_or_build", "human_feedback_general", "source_or_other", "ui_or_frontend"], "issue_number": "13", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "Zen-TM/logjam", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-bda9fc96bb178a65", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 3, "tests": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 48, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 42, "source_or_other": 4, "dependency_or_build": 2}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 5, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#13\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: Zen-TM/logjam#13\nRepo: Zen-TM/logjam\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 48\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'source_or_other': 4, 'dependency_or_build': 2, 'ui_or_frontend': 42}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6d6d614f5c5e351b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/13\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: Zen-TM/logjam\\nAuthor: Zen-TM (User)\\nURL: https://github.com/Zen-TM/logjam/pull/13\\nTitle: feat(a11y): WCAG 2.1 Level A + AA contrast across all themes\\nBody:\\n\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-bb11a5389c2bdef3\",\n    \"filename\": \"Makefile\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/7be63788913a65448616e95bcddf7d9c46e790c7/Makefile\"\n  },\n  {\n    \"id\": \"github-pr-file-file-f56afeaf7369005c\",\n    \"filename\": \"frontend/eslint.config.js\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 12,\n    \"deletions\": 0,\n    \"changes\": 12,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/7be63788913a65448616e95bcddf7d9c46e790c7/frontend%2Feslint.config.js\"\n  },\n  {\n    \"id\": \"github-pr-file-file-c9855a809246d9c2\",\n    \"filename\": \"frontend/package-lock.json\",\n    \"label\": \"dependency_or_build\",\n    \"status\": \"modified\",\n    \"additions\": 1859,\n    \"deletions\": 58,\n    \"changes\": 1917,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/7be63788913a65448616e95bcddf7d9c46e790c7/frontend%2Fpackage-lock.json\"\n  },\n  {\n    \"id\": \"github-pr-file-file-9c6943f3694db5cb\",\n    \"filename\": \"frontend/package.json\",\n    \"label\": \"dependency_or_build\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 0,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/7be63788913a65448616e95bcddf7d9c46e790c7/frontend%2Fpackage.json\"\n  },\n  {\n    \"id\": \"github-pr-file-file-470c5a63dbb9fc93\",\n    \"filename\": \"frontend/scripts/axe-check.mjs\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 41,\n    \"deletions\": 0,\n    \"changes\": 41,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/7be63788913a65448616e95\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "comment-chain-pattern-assumption_checks-9fd178fcf6d93ad1", "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": "Zen-TM/logjam", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Zen-TM/logjam"}, "properties": {"repobilityId": 374641, "scanner": "foundry_dataset", "fingerprint": "0ac3867322d6a69a11209ec4657471baffe6cd0ef0329222f58861a608e77ebf", "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": "Zen-TM/logjam#12", "human_labels": ["human_feedback_general", "ui_or_frontend"], "issue_number": "12", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.895, "repo_full_name": "Zen-TM/logjam", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-ef9a50f1a113965a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 3, "tests": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 1}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 5, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#12\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: Zen-TM/logjam#12\nRepo: Zen-TM/logjam\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-12cb6a08a81d18d1\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/12\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: Zen-TM/logjam\\nAuthor: Zen-TM (User)\\nURL: https://github.com/Zen-TM/logjam/pull/12\\nTitle: fix(topo): add labelScale to VECTOR_STYLE_FALLBACK literal\\nBody:\\n\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-7268526c28c16aed\",\n    \"filename\": \"frontend/src/components/map/Map.tsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 0,\n    \"changes\": 1,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/f80bee3e57a7c8760fb54462bc8b4fbd34e29243/frontend%2Fsrc%2Fcomponents%2Fmap%2FMap.tsx\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-4c4a65bd26df61b8\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: Zen-TM/logjam\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 3, \"artifact_supports_verification\": 5, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 3, \"docs\": 3, \"tests\": 2}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "comment-chain-pattern-assumption_checks-9a3e561c5f699d91", "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": "Zen-TM/logjam", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Zen-TM/logjam"}, "properties": {"repobilityId": 374640, "scanner": "foundry_dataset", "fingerprint": "08fd61623261c04ed2fb0bb8c889dbb245648cd278f4711862790c70d66d2a0b", "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": "Zen-TM/logjam#11", "human_labels": ["api_or_backend", "human_feedback_general", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "11", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "Zen-TM/logjam", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-8255457e30304906", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 3, "tests": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 11, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 3, "api_or_backend": 1, "ui_or_frontend": 4, "source_or_other": 3}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 5, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#11\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: Zen-TM/logjam#11\nRepo: Zen-TM/logjam\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 11\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'api_or_backend': 1, 'ui_or_frontend': 4, 'test_or_ci': 3, 'source_or_other': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-784283b8bab304d4\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/11\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: Zen-TM/logjam\\nAuthor: Zen-TM (User)\\nURL: https://github.com/Zen-TM/logjam/pull/11\\nTitle: feat(topo): user-controllable label text size\\nBody:\\n\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-1741c40e651c9262\",\n    \"filename\": \"api/src/services/generateGeoPdf.ts\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 13,\n    \"deletions\": 5,\n    \"changes\": 18,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/371e3fea7a5f11059b53c75618fc0a7c584de072/api%2Fsrc%2Fservices%2FgenerateGeoPdf.ts\"\n  },\n  {\n    \"id\": \"github-pr-file-file-485d65c221bb8e11\",\n    \"filename\": \"frontend/src/components/map/Map.tsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 19,\n    \"deletions\": 19,\n    \"changes\": 38,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/371e3fea7a5f11059b53c75618fc0a7c584de072/frontend%2Fsrc%2Fcomponents%2Fmap%2FMap.tsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-986590dceab98caf\",\n    \"filename\": \"frontend/src/components/sidebar/panels/LidarPanel.tsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 9,\n    \"deletions\": 0,\n    \"changes\": 9,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/371e3fea7a5f11059b53c75618fc0a7c584de072/frontend%2Fsrc%2Fcomponents%2Fsidebar%2Fpanels%2FLidarPanel.tsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-d8500a0ea7eda19d\",\n    \"filename\": \"frontend/src/components/sidebar/panels/vectorStyles/VectorLabelSizeForm.tsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"added\",\n    \"additions\": 39,\n    \"deletions\": 0,\n    \"changes\": 39,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/371e3fea7a5f11059b53c75618fc0a7c584de072/frontend%2Fsrc%2Fcomponents%2Fsidebar%2Fpanels%2FvectorStyles%2FVectorLabelSizeForm.tsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-bbd9976f8a18dea9\",\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "comment-chain-pattern-assumption_checks-b12f0368cdb1cd39", "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": "Zen-TM/logjam", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Zen-TM/logjam"}, "properties": {"repobilityId": 374639, "scanner": "foundry_dataset", "fingerprint": "6d18ead82e32adab6b0e7832e5db9734849de77ea576e4256e8df16912253e23", "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": "Zen-TM/logjam#10", "human_labels": ["api_or_backend", "human_feedback_general", "test_or_ci", "ui_or_frontend"], "issue_number": "10", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "Zen-TM/logjam", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-48e2b1a2a5faa4f8", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 3, "tests": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 11, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "api_or_backend": 1, "ui_or_frontend": 9}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 5, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#10\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: Zen-TM/logjam#10\nRepo: Zen-TM/logjam\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 11\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'api_or_backend': 1, 'test_or_ci': 1, 'ui_or_frontend': 9}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ac51d46d20212e3e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/10\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: Zen-TM/logjam\\nAuthor: Zen-TM (User)\\nURL: https://github.com/Zen-TM/logjam/pull/10\\nTitle: feat(canyons): live filter panel + custom-field filtering\\nBody:\\n\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-83671773e2bb956e\",\n    \"filename\": \"api/src/routes/users.ts\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 8,\n    \"deletions\": 2,\n    \"changes\": 10,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/c542676591f1f009761e5c9704330b05bac71be7/api%2Fsrc%2Froutes%2Fusers.ts\"\n  },\n  {\n    \"id\": \"github-pr-file-file-61620e7da8d37f3d\",\n    \"filename\": \"frontend/src/canyonFilters.test.ts\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"added\",\n    \"additions\": 264,\n    \"deletions\": 0,\n    \"changes\": 264,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/c542676591f1f009761e5c9704330b05bac71be7/frontend%2Fsrc%2FcanyonFilters.test.ts\"\n  },\n  {\n    \"id\": \"github-pr-file-file-5e7d169fe28c0f19\",\n    \"filename\": \"frontend/src/canyonUtils.ts\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 181,\n    \"deletions\": 16,\n    \"changes\": 197,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/c542676591f1f009761e5c9704330b05bac71be7/frontend%2Fsrc%2FcanyonUtils.ts\"\n  },\n  {\n    \"id\": \"github-pr-file-file-269c6e497d2ed3ff\",\n    \"filename\": \"frontend/src/components/App.tsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 64,\n    \"deletions\": 8,\n    \"changes\": 72,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/c542676591f1f009761e5c9704330b05bac71be7/frontend%2Fsrc%2Fcomponents%2FApp.tsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-49b2049b018c70bf\",\n    \"filename\": \"frontend/src/components/dialogs/GeoPdfDialog.tsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 3,\n    \"deletions\": 3,\n    \"changes\": 6,\n    \"b\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "comment-chain-pattern-assumption_checks-3ee541ef3dba5bf6", "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": "Zen-TM/logjam", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Zen-TM/logjam"}, "properties": {"repobilityId": 374638, "scanner": "foundry_dataset", "fingerprint": "ca8e7c58ee3de666d051d762ad6f8b9ab6257c7992ead5c006767a765a2af88a", "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": "Zen-TM/logjam#1", "human_labels": ["api_integration_gap", "docs_or_claims", "human_feedback_general", "positive_human_signal", "ui_or_frontend"], "issue_number": "1", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Zen-TM/logjam", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-1de322d884804473", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 3, "tests": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 10, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"docs_or_claims": 1, "ui_or_frontend": 9}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 5, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#1\nOutcome: ambiguous_needs_more_evidence\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: Zen-TM/logjam#1\nRepo: Zen-TM/logjam\nThread label: thread_has_human_issue_without_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 5\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 10\nLabels: {'human_feedback_general': 3, 'positive_human_signal': 1, 'api_integration_gap': 1}\nPolarities: {'neutral': 4, 'bad': 1}\nChanged file labels: {'docs_or_claims': 1, 'ui_or_frontend': 9}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b713dc5bccf278a2\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/1\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: Zen-TM/logjam\\nAuthor: Zen-TM (User)\\nURL: https://github.com/Zen-TM/logjam/pull/1\\nTitle: all canyon filters functional\\nBody:\\n\"\n  },\n  {\n    \"id\": \"github-feedback-comment-a0d2e4ba9e9b41ab\",\n    \"kind\": \"review_comment\",\n    \"label\": \"positive_human_signal\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/1#discussion_r2149107191\",\n    \"text\": \"GitHub feedback: positive_human_signal\\nPolarity: neutral\\nKind: review_comment\\nRepo: Zen-TM/logjam\\nAuthor: Copilot (Bot)\\nURL: https://github.com/Zen-TM/logjam/pull/1#discussion_r2149107191\\nTitle: \\nBody:\\nThe fallback value for the slider is hard-coded to [1, 7], which may not match the provided `range` argument for other sliders. Consider using the `range` parameter here instead of a fixed value.\\n```suggestion\\n              : range\\n```\"\n  },\n  {\n    \"id\": \"github-feedback-comment-ffab1a5345851c05\",\n    \"kind\": \"review_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/1#discussion_r2149107200\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: review_comment\\nRepo: Zen-TM/logjam\\nAuthor: Copilot (Bot)\\nURL: https://github.com/Zen-TM/logjam/pull/1#discussion_r2149107200\\nTitle: \\nBody:\\nUsing `!canyon[name]` will treat any falsy value (including 0) as missing. Replace this with a nullish check (`canyon[name] == null`) to correctly detect only null or undefined.\\n```suggestion\\n      if (canyon[name] == null) {\\n```\"\n  },\n  {\n    \"id\": \"github-feedback-comment-6acf3482ef2386f5\",\n    \"kind\": \"review_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/1#discussion_r21\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "comment-chain-pattern-assumption_checks-ab8bc022d6b58902", "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": "Zen-TM/logjam", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: Zen-TM/logjam"}, "properties": {"repobilityId": 416784, "scanner": "foundry_dataset", "fingerprint": "d5c662b20f97caaed91a329b2f1c0f0ac282079c185e8236aef6fcfad4bab3d8", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "api_or_backend": 5, "commit_general": 1, "schema_or_data": 3, "ui_or_frontend": 5, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 57, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 13, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 30, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 13, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#8", "issue_number": "8", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Zen-TM/logjam", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d7fe1b08dc295bab", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 20, "schema_or_data": 12, "ui_or_frontend": 20}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#8\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: Zen-TM/logjam\nThread: Zen-TM/logjam#8\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#8\nRepo: Zen-TM/logjam\nIssue/PR number: 8\nGraph consistency label: supported_by_verification_signal\nNodes: 30\nEdges: 57\nNode types: {'pr_file': 13, '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': 13, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'api_or_backend': 5, 'ui_or_frontend': 5, 'schema_or_data': 3, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'commit_general': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-fe8b52edbee2c35f", "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": "Zen-TM/logjam", "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: Zen-TM/logjam"}, "properties": {"repobilityId": 416783, "scanner": "foundry_dataset", "fingerprint": "c4d0a6650880e9f9817557ddfe68fabadd2e6757634897581b81deff5614956f", "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": {"revert": 1, "test_or_ci": 2, "test_ci_gap": 1, "api_or_backend": 12, "docs_or_claims": 1, "source_or_other": 2, "dependency_or_build": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 61, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 17, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 34, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 17, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#7", "issue_number": "7", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Zen-TM/logjam", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-eb8dcae25693bcec", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 8, "api_or_backend": 48, "docs_or_claims": 4, "source_or_other": 8}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#7\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: Zen-TM/logjam\nThread: Zen-TM/logjam#7\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#7\nRepo: Zen-TM/logjam\nIssue/PR number: 7\nGraph consistency label: supported_by_verification_signal\nNodes: 34\nEdges: 61\nNode types: {'pr_file': 17, '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': 17, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'api_or_backend': 12, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'test_or_ci': 2, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'docs_or_claims': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'revert': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-eda2668f3d8aaf3d", "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": "Zen-TM/logjam", "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: Zen-TM/logjam"}, "properties": {"repobilityId": 416782, "scanner": "foundry_dataset", "fingerprint": "abdef43f0c61af2893c09fa7b031e98432827ca81d29ae347420fdef1784776c", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "source_or_other": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 23, "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_links_commit": 5, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "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": "Zen-TM/logjam#6", "issue_number": "6", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Zen-TM/logjam", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c05325865d8b2450", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"source_or_other": 4}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#6\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: Zen-TM/logjam\nThread: Zen-TM/logjam#6\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#6\nRepo: Zen-TM/logjam\nIssue/PR number: 6\nGraph consistency label: supported_by_verification_signal\nNodes: 18\nEdges: 23\nNode types: {'commit': 5, '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: {'comment_chain_links_commit': 5, '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: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'source_or_other': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-cc641ead7371ec6f", "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": "Zen-TM/logjam", "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: Zen-TM/logjam"}, "properties": {"repobilityId": 416781, "scanner": "foundry_dataset", "fingerprint": "0ac55559cc387be062549083abdced018e04b171b04c37f00d53ca87dd5698ed", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_or_ci": 3, "test_ci_gap": 1, "api_or_backend": 13, "docs_or_claims": 1, "source_or_other": 2, "dependency_or_build": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 63, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 19, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 36, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 19, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#5", "issue_number": "5", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "Zen-TM/logjam", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-a553344258d0d6b5", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 12, "api_or_backend": 52, "docs_or_claims": 4, "source_or_other": 8}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#5\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: Zen-TM/logjam\nThread: Zen-TM/logjam#5\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#5\nRepo: Zen-TM/logjam\nIssue/PR number: 5\nGraph consistency label: supported_by_verification_signal\nNodes: 36\nEdges: 63\nNode types: {'pr_file': 19, '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': 19, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'api_or_backend': 13, 'test_or_ci': 3, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'docs_or_claims': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-7c0b34d32478f8b6", "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": "Zen-TM/logjam", "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: Zen-TM/logjam"}, "properties": {"repobilityId": 416780, "scanner": "foundry_dataset", "fingerprint": "100a20b0f4fd43e0048f07f459a3754539bc71fcf2c398d7b41e6011e520e698", "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, "api_or_backend": 2, "commit_general": 1, "docs_or_claims": 1, "source_or_other": 38, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 86, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 42, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 59, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 42, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#4", "issue_number": "4", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Zen-TM/logjam", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f7cc692631a1c7f3", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 8, "docs_or_claims": 4, "source_or_other": 152}}, "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: Zen-TM/logjam\nThread: Zen-TM/logjam#4\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#4\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#4\nRepo: Zen-TM/logjam\nIssue/PR number: 4\nGraph consistency label: weak_supervision_needs_review\nNodes: 59\nEdges: 86\nNode types: {'pr_file': 42, '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': 42, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'source_or_other': 38, 'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 3, 'api_or_backend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'test_or_ci': 1, 'docs_or_claims': 1, 'comment_has_related_commit_context': 1, 'commit_general': 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/Zen-TM/logjam", "source_id": "graph-query-motif_query-31c208888a714bb1", "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": "Zen-TM/logjam", "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: Zen-TM/logjam"}, "properties": {"repobilityId": 416779, "scanner": "foundry_dataset", "fingerprint": "8b46410e0d1d282d6e082024c9b0aa3479c6bb93e20805e77805ceca5612d5aa", "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": 5, "data_schema": 1, "test_ci_gap": 1, "api_or_backend": 9, "docs_or_claims": 2, "schema_or_data": 1, "ui_or_frontend": 3, "source_or_other": 12, "dependency_or_build": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 77, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 33, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 50, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 33, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#19", "issue_number": "19", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Zen-TM/logjam", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-dbe10c0357397d8b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 20, "api_or_backend": 36, "docs_or_claims": 8, "schema_or_data": 4, "ui_or_frontend": 12, "source_or_other": 48, "dependency_or_build": 4}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#19\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: Zen-TM/logjam\nThread: Zen-TM/logjam#19\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#19\nRepo: Zen-TM/logjam\nIssue/PR number: 19\nGraph consistency label: supported_by_verification_signal\nNodes: 50\nEdges: 77\nNode types: {'pr_file': 33, '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': 33, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'source_or_other': 12, 'api_or_backend': 9, 'test_or_ci': 5, 'verification_or_tests': 4, 'ui_or_frontend': 3, 'claimed_resolved_with_verification_signal': 3, 'docs_or_claims': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'schema_or_data': 1, 'dependency_or_build': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'data_schema': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-72edbae1dd25afdc", "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": "Zen-TM/logjam", "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: Zen-TM/logjam"}, "properties": {"repobilityId": 409349, "scanner": "foundry_dataset", "fingerprint": "c396c3de126aebfe99b647ad2136c50b40a6f78777ae5156d88cd1fafae46a47", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "api_or_backend": 5, "commit_general": 1, "schema_or_data": 3, "ui_or_frontend": 5, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 57, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 13, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 30, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 13, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#8", "issue_number": "8", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "Zen-TM/logjam", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-0fc364a299c07228", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 20, "schema_or_data": 12, "ui_or_frontend": 20}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#8\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: Zen-TM/logjam\nThread: Zen-TM/logjam#8\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#8\nRepo: Zen-TM/logjam\nIssue/PR number: 8\nGraph consistency label: supported_by_verification_signal\nNodes: 30\nEdges: 57\nNode types: {'pr_file': 13, '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': 13, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'api_or_backend': 5, 'ui_or_frontend': 5, 'schema_or_data': 3, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'commit_general': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-5648e555427ff2f4", "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": "Zen-TM/logjam", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Zen-TM/logjam"}, "properties": {"repobilityId": 386579, "scanner": "foundry_dataset", "fingerprint": "064f047804dba278d033b0cf34e346ea18e2d747efbdbd6cb853f9a801b4f446", "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": "Zen-TM/logjam#20", "human_labels": ["api_or_backend", "mock_placeholder", "test_or_ci"], "issue_number": "20", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.912, "repo_full_name": "Zen-TM/logjam", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-388b835afa827f4c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 3, "tests": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "api_or_backend": 1}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 1, "verification_artifact_count": 5, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#20\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Zen-TM/logjam#20\nRepo: Zen-TM/logjam\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 1\nLinked CI labels: {'ci_pending_or_incomplete': 1}\nChanged file count: 2\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'api_or_backend': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b5f8118ae89ffde3\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/20\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Zen-TM/logjam\\nAuthor: Zen-TM (User)\\nURL: https://github.com/Zen-TM/logjam/pull/20\\nTitle: fix(email): surface Resend send errors instead of swallowing them\\nBody:\\n## Why\\n\\nThe Resend Node SDK **does not throw** on API errors (invalid key, unverified sender domain, rate limits) \u2014 it returns them in the response `error` field. `sendEmail` ignored `error`, so a rejected send produced no exception, no log, and no email.\\n\\nThis masked a real prod incident: after the SES\u2192Resend migration the API key in Secrets Manager was invalid, so every GeoPDF/topo/export completion email got a `401 \\\"API key is invalid\\\"` from Resend \u2014 but jobs completed normally and **nothing was logged**, so it looked like email \\\"just didn't work.\\\" Confirmed by calling Resend's API directly with the stored key.\\n\\n## What\\n\\n- Inspect the `{ error }` returned by `resend.emails.send()` and log `email_send_rejected` with the API-level `name`/`message` only (no recipient/canyon detail \u2014 privacy rule). Network failures still flow through the existing `catch`.\\n- Tests: added a case for the `{ error }` response path; renamed the throw case to \\\"network fa\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-a2ffb79174ed0d08\",\n    \"filename\": \"api/src/services/email.ts\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 11,\n    \"deletions\": 1,\n    \"changes\": 12,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/a0e3914a18ba65c2dc00bcd57716c6661a423ecd/api%2Fsrc%2Fservices%2Femail.ts\"\n  },\n  {\n    \"id\": \"github-pr-file-file-8b8f586110e3e531\",\n    \"filename\": \"api/src/services/email.unit.test.ts\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 13,\n    \"deletions\": 1,\n    \"changes\": 14,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/a0e3914a18ba65c2dc00bcd57716c6661a42\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "comment-chain-pattern-bad_chains-dd50ff8ee3d54a8c", "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": "Zen-TM/logjam", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Zen-TM/logjam"}, "properties": {"repobilityId": 386578, "scanner": "foundry_dataset", "fingerprint": "39556db2b96bd1be997f952065e56bf15585cc144c5de9e3fab675b736f3b70c", "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": "Zen-TM/logjam#18", "human_labels": ["api_or_backend", "docs_or_claims", "mock_placeholder", "schema_or_data", "source_or_other", "test_or_ci"], "issue_number": "18", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.742, "repo_full_name": "Zen-TM/logjam", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-9f4abbdd0ada5023", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"ci": 3, "docs": 3, "tests": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 19, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 4, "docs_or_claims": 4, "schema_or_data": 1, "source_or_other": 6}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 5, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#18\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: Zen-TM/logjam#18\nRepo: Zen-TM/logjam\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 19\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 4, 'source_or_other': 6, 'api_or_backend': 4, 'test_or_ci': 4, 'schema_or_data': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1073f97ad774cb1d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Zen-TM/logjam/pull/18\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Zen-TM/logjam\\nAuthor: Zen-TM (User)\\nURL: https://github.com/Zen-TM/logjam/pull/18\\nTitle: chore: migrate local dev from LocalStack to MiniStack\\nBody:\\n## Why\\n\\nLocalStack ended its free Community Edition, and it never executed ECS task containers anyway \u2014 so **topo / export / GeoPDF jobs could not run locally** (jobs stranded in `pending`; worked around with manual `docker compose --profile topo` runs and `make geo-pdf-run`).\\n\\n[**MiniStack**](https://github.com/ministackorg/ministack) (MIT, free) is a drop-in LocalStack-compatible emulator on `:4566` whose **ECS `RunTask` launches real worker containers via the Docker socket**. The existing `api/src/lib/ecsRunTask.ts` launch path now works locally unchanged \u2014 submitting a job spawns a real worker exactly as in prod.\\n\\n## What changed\\n\\n**Infra**\\n- `docker-compose.yml`: replace `localstack` with `ministack` \u2014 Docker socket mount, `DOCKER_NETWORK=logjam-local`, named network, health grep on `\\\"available\\\"`.\\n- `infra/terraform/envs/local`: add ECS/SES/Cognito/SecretsManager provider endpoints; new **`ecs.tf`** registers the cluster + 3 worker task defs (local image\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-c22f28a659778c05\",\n    \"filename\": \"CLAUDE.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 2,\n    \"changes\": 4,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/780ef490559d4e8156cea4a8a2f90526fca93527/CLAUDE.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-684dae16bf9d1eb8\",\n    \"filename\": \"CONTRIBUTING.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/Zen-TM/logjam/blob/780ef490559d4e8156cea4a8a2f90526fca93527/CONTRIBUTING.md\"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "comment-chain-pattern-bad_chains-b3bafc03db7fc553", "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": "Zen-TM/logjam", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: Zen-TM/logjam"}, "properties": {"repobilityId": 406944, "scanner": "foundry_dataset", "fingerprint": "6ae5f97264a4c839b5677f0f94bfb16658afa6935474f9e6b9f8ff1917142bf5", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 2, "test_or_ci": 1, "api_or_backend": 1, "mock_placeholder": 1, "ci_pending_or_incomplete": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {"ci_pending_or_incomplete": 2}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 2, "comment_chain_has_ci": 1, "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_links_commit": 2, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "pr_file": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#20", "issue_number": "20", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "Zen-TM/logjam", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-fb85c4364eb92838", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 4}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Zen-TM/logjam\nThread: Zen-TM/logjam#20\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: Zen-TM/logjam\nThread: Zen-TM/logjam#20\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#20\nRepo: Zen-TM/logjam\nIssue/PR number: 20\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 20\nNode types: {'link_quality': 3, 'pr_file': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'thread_touches_file': 2, 'comment_chain_links_commit': 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, '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: {'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'api_or_backend': 1, 'test_or_ci': 1, 'human_reported_issue_then_fix_attempt': 1, 'ci_pending_or_incomplete': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\nCI labels: {'ci_pending_or_incomplete': 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/Zen-TM/logjam", "source_id": "graph-query-motif_query-b5a2aa5207d54713", "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": "Zen-TM/logjam", "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: Zen-TM/logjam"}, "properties": {"repobilityId": 406943, "scanner": "foundry_dataset", "fingerprint": "e72e74a2312856ef216cb3145fa3c719052820c3d33ff9ad20109acf202f7b23", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 1, "test_or_ci": 4, "data_schema": 1, "docs_or_chore": 1, "api_or_backend": 4, "docs_or_claims": 4, "schema_or_data": 1, "source_or_other": 6, "mock_placeholder": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 57, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 19, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 3, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 31, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 1, "pr_file": 19, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "Zen-TM/logjam#18", "issue_number": "18", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "Zen-TM/logjam", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-5e201f41615e96ca", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 16, "api_or_backend": 16, "docs_or_claims": 16, "schema_or_data": 4, "source_or_other": 24}}, "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: Zen-TM/logjam\nThread: Zen-TM/logjam#18\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: Zen-TM/logjam\nThread: Zen-TM/logjam#18\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Zen-TM/logjam#18\nRepo: Zen-TM/logjam\nIssue/PR number: 18\nGraph consistency label: weak_supervision_needs_review\nNodes: 31\nEdges: 57\nNode types: {'pr_file': 19, 'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 19, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 3, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'source_or_other': 6, 'docs_or_claims': 4, 'api_or_backend': 4, 'test_or_ci': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'schema_or_data': 1, 'human_reported_issue_then_fix_attempt': 1, 'docs_or_chore': 1, 'data_schema': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Zen-TM/logjam", "source_id": "graph-query-motif_query-4f93ae79d0faee46", "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": "Zen-TM/logjam", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-54a4724bfbdaa636", "level": "note", "message": {"text": "Possibly dead Python function: generate_contours"}, "properties": {"repobilityId": "0dddf6b86fa6374f", "scanner": "scanner-primary", "fingerprint": "54a4724bfbdaa636", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "topo/topo_mbtiles.py:1805"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a0e48b27bfe88dac", "level": "note", "message": {"text": "Possibly dead Python function: render_tile_job"}, "properties": {"repobilityId": "b4ebe52c7be6fcaa", "scanner": "scanner-primary", "fingerprint": "a0e48b27bfe88dac", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "topo/topo_mbtiles.py:2382"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8187395e2a5ac60a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 api/prisma/seed.ts:97"}, "properties": {"repobilityId": "753ef19e1c2531f9", "scanner": "scanner-primary", "fingerprint": "8187395e2a5ac60a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eeccd472c317fded", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 api/src/worker/geoPdfWorker.ts:188"}, "properties": {"repobilityId": "ed99f7ce36f5a883", "scanner": "scanner-primary", "fingerprint": "eeccd472c317fded", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a1da9a2a35f4ac2e", "level": "warning", "message": {"text": "Dockerfile runs as root: api/Dockerfile"}, "properties": {"repobilityId": "d158f2064abae541", "scanner": "scanner-primary", "fingerprint": "a1da9a2a35f4ac2e", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-8260e9ddadc43fec", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-slim"}, "properties": {"repobilityId": "de451464cf8c00f2", "scanner": "scanner-primary", "fingerprint": "8260e9ddadc43fec", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8260e9ddadc43fec", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-slim"}, "properties": {"repobilityId": "97fb6228c1b53481", "scanner": "scanner-primary", "fingerprint": "8260e9ddadc43fec", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/Dockerfile"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-0a33fc2f86c5d2d5", "level": "warning", "message": {"text": "Dockerfile ADD downloads remote content without checksum"}, "properties": {"repobilityId": "4bacba1ad4c78769", "scanner": "scanner-primary", "fingerprint": "0a33fc2f86c5d2d5", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "docker", "checksum"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/Dockerfile"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-03024846ae170aeb", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: ubuntu:24.04"}, "properties": {"repobilityId": "18aef7de3f4e1c11", "scanner": "scanner-primary", "fingerprint": "03024846ae170aeb", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "topo/Dockerfile"}, "region": {"startLine": 5}}}]}, {"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-5de68ee42ca42259", "level": "error", "message": {"text": "Possible secret in frontend/src/errors/authErrorMap.ts"}, "properties": {"repobilityId": "203c27216f95a7d0", "scanner": "scanner-primary", "fingerprint": "5de68ee42ca42259", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/errors/authErrorMap.ts"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-bf05212404766fb7", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in api/src/boot.ts:14"}, "properties": {"repobilityId": "e49b6400156b448e", "scanner": "scanner-primary", "fingerprint": "bf05212404766fb7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/src/boot.ts"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-bc776b87b2f07ef5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "68b2ca7ebbfd9a74", "scanner": "scanner-primary", "fingerprint": "bc776b87b2f07ef5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-topo-worker.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-bc776b87b2f07ef5", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4dd3f7fb2652b66a", "scanner": "scanner-primary", "fingerprint": "bc776b87b2f07ef5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-topo-worker.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-bc776b87b2f07ef5", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "55dd6d14e2d71c76", "scanner": "scanner-primary", "fingerprint": "bc776b87b2f07ef5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-topo-worker.yml"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-393c0c759ab5e4c1", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9d38da5c88d28405", "scanner": "scanner-primary", "fingerprint": "393c0c759ab5e4c1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-topo-worker.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0dc9d15d9a86a2ef", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6fb3beb10b2ecac7", "scanner": "scanner-primary", "fingerprint": "0dc9d15d9a86a2ef", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-frontend.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-0dc9d15d9a86a2ef", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c67f8a57300dd6a3", "scanner": "scanner-primary", "fingerprint": "0dc9d15d9a86a2ef", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-frontend.yml"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-0dc9d15d9a86a2ef", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "12ba375f051aa59b", "scanner": "scanner-primary", "fingerprint": "0dc9d15d9a86a2ef", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-frontend.yml"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-244a0d5972d41a82", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d9acf287aceff61c", "scanner": "scanner-primary", "fingerprint": "244a0d5972d41a82", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-frontend.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3cd14d6f45a87d58", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "955241a6f9e987d4", "scanner": "scanner-primary", "fingerprint": "3cd14d6f45a87d58", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-api.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-3cd14d6f45a87d58", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fe60e8801a74b4f9", "scanner": "scanner-primary", "fingerprint": "3cd14d6f45a87d58", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-api.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-3cd14d6f45a87d58", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "41865b297eef65ce", "scanner": "scanner-primary", "fingerprint": "3cd14d6f45a87d58", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-api.yml"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-3cd14d6f45a87d58", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f89c1e53cff6f950", "scanner": "scanner-primary", "fingerprint": "3cd14d6f45a87d58", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-api.yml"}, "region": {"startLine": 64}}}]}, {"ruleId": "scanner-4bf411a1bee458fb", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "24d7fc6a4b25c421", "scanner": "scanner-primary", "fingerprint": "4bf411a1bee458fb", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-api.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-34fd347215268bd5", "level": "note", "message": {"text": "Very large file: frontend/src/components/map/Map.tsx (1663 lines)"}, "properties": {"repobilityId": "308723fe634803de", "scanner": "scanner-primary", "fingerprint": "34fd347215268bd5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-81be6eaef2400d8a", "level": "note", "message": {"text": "Very large file: frontend/src/components/dialogs/CanyonCsvImportDialog.tsx (1522 lines)"}, "properties": {"repobilityId": "6c0b1179924ffab7", "scanner": "scanner-primary", "fingerprint": "81be6eaef2400d8a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a008f33da09f4d9f", "level": "note", "message": {"text": "Very large file: api/src/services/generateGeoPdf.ts (2006 lines)"}, "properties": {"repobilityId": "934f9131449e5573", "scanner": "scanner-primary", "fingerprint": "a008f33da09f4d9f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cb6ec1154c43c753", "level": "note", "message": {"text": "Very large file: topo/topo_mbtiles.py (2788 lines)"}, "properties": {"repobilityId": "bafdcac0e71a29a8", "scanner": "scanner-primary", "fingerprint": "cb6ec1154c43c753", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "9c91991203804973", "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": "92af56bb21b93fc2", "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": "37d8678842029e4e", "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": "0a591fb1da025643", "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": "703c95e0e42a2216", "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": "5c22f417ea25158c", "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": "774320bbfcae3f17", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-cc55229a7a3c078d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .mcp.json"}, "properties": {"repobilityId": "51942fb3d5b8b5b4", "scanner": "scanner-primary", "fingerprint": "cc55229a7a3c078d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "mcp_config"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".mcp.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a261241001047a47", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: frontend/src/components/dialogs/CLAUDE.md"}, "properties": {"repobilityId": "c71b4c5b46a85527", "scanner": "scanner-primary", "fingerprint": "a261241001047a47", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/dialogs/CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-123ee7bc7f4b857a", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/canyonUtils.ts:1048"}, "properties": {"repobilityId": "c5578aa30e1f12fc", "scanner": "scanner-primary", "fingerprint": "123ee7bc7f4b857a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e8cf1774c1cdfb7a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/canyonUtils.ts:149"}, "properties": {"repobilityId": "fbd4bd4d5956907a", "scanner": "scanner-primary", "fingerprint": "e8cf1774c1cdfb7a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-513aa6eef6b37445", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/App.tsx:209"}, "properties": {"repobilityId": "2825e6373ffb8fe5", "scanner": "scanner-primary", "fingerprint": "513aa6eef6b37445", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9f9ecac259bad3c", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/map/Map.tsx:205"}, "properties": {"repobilityId": "75e1cb5bc339d762", "scanner": "scanner-primary", "fingerprint": "a9f9ecac259bad3c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50af6ee52ed541ea", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/components/dialogs/TopoDialog.tsx:128"}, "properties": {"repobilityId": "608649fece61befd", "scanner": "scanner-primary", "fingerprint": "50af6ee52ed541ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-586d616a07374973", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/dialogs/TopoDialog.tsx:571"}, "properties": {"repobilityId": "cf0cd18f2680f3fe", "scanner": "scanner-primary", "fingerprint": "586d616a07374973", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b01d573e6ce50ada", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/csvImport/canyonValueParsers.ts:91"}, "properties": {"repobilityId": "e676d7b22e30c507", "scanner": "scanner-primary", "fingerprint": "b01d573e6ce50ada", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d910625ae983157", "level": "none", "message": {"text": "Commented-code block (7 lines) in api/prisma.config.ts:19"}, "properties": {"repobilityId": "0b462083e3e73f75", "scanner": "scanner-primary", "fingerprint": "3d910625ae983157", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d6c90e65bd4993b5", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/vitest.config.ts:4"}, "properties": {"repobilityId": "3f2a744d15339485", "scanner": "scanner-primary", "fingerprint": "d6c90e65bd4993b5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f5dbef24d9ed283", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 api/src/index.ts:92"}, "properties": {"repobilityId": "5540d7d80b4daf22", "scanner": "scanner-primary", "fingerprint": "3f5dbef24d9ed283", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e771850bf32e4695", "level": "none", "message": {"text": "Commented-code block (7 lines) in api/src/boot.ts:4"}, "properties": {"repobilityId": "95a08dde92100468", "scanner": "scanner-primary", "fingerprint": "e771850bf32e4695", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10b2d713a3457cf1", "level": "none", "message": {"text": "Commented-code block (6 lines) in api/src/__tests__/friends.test.ts:4"}, "properties": {"repobilityId": "cecde59551a2a10f", "scanner": "scanner-primary", "fingerprint": "10b2d713a3457cf1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88b3ae90acef0938", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/src/__tests__/tripLogs.test.ts:6"}, "properties": {"repobilityId": "71e008e6a2293ef1", "scanner": "scanner-primary", "fingerprint": "88b3ae90acef0938", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04c0416ddf9a8b72", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/src/__tests__/sharing.test.ts:4"}, "properties": {"repobilityId": "5987e1a4339cedac", "scanner": "scanner-primary", "fingerprint": "04c0416ddf9a8b72", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-13fc73b7723584e9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 api/src/__tests__/media.test.ts:17"}, "properties": {"repobilityId": "0de4ad17da12eb47", "scanner": "scanner-primary", "fingerprint": "13fc73b7723584e9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-52d5a4318c41b97a", "level": "none", "message": {"text": "Commented-code block (7 lines) in api/src/__tests__/users.test.ts:7"}, "properties": {"repobilityId": "a0e0b03513dd480e", "scanner": "scanner-primary", "fingerprint": "52d5a4318c41b97a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d76c7fde83b9710a", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/src/__tests__/notifications.test.ts:5"}, "properties": {"repobilityId": "1c225c8fcd57ba0e", "scanner": "scanner-primary", "fingerprint": "d76c7fde83b9710a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72ad4c95d203b349", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/src/middleware/auth.ts:5"}, "properties": {"repobilityId": "cd59223a3242e754", "scanner": "scanner-primary", "fingerprint": "72ad4c95d203b349", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5341a3e1b95a5ec", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/src/middleware/rateLimit.ts:7"}, "properties": {"repobilityId": "cf976e1e6e584d13", "scanner": "scanner-primary", "fingerprint": "d5341a3e1b95a5ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0697c2e8af2965bf", "level": "none", "message": {"text": "Commented-code block (8 lines) in api/src/worker/geoPdfWorker.ts:6"}, "properties": {"repobilityId": "785c024b8f199d04", "scanner": "scanner-primary", "fingerprint": "0697c2e8af2965bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c4113cd6aa7a8ce", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/src/lib/canyonAccess.unit.test.ts:96"}, "properties": {"repobilityId": "1d7b827d3fba0401", "scanner": "scanner-primary", "fingerprint": "8c4113cd6aa7a8ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6125670a9761accb", "level": "none", "message": {"text": "Commented-code block (7 lines) in api/src/lib/resolveDbCredentials.ts:9"}, "properties": {"repobilityId": "ecd356b65306e8d4", "scanner": "scanner-primary", "fingerprint": "6125670a9761accb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5c4e4a028222226", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/src/lib/env.ts:45"}, "properties": {"repobilityId": "eb54f24847c4b3c1", "scanner": "scanner-primary", "fingerprint": "d5c4e4a028222226", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d8b452d86e1d94b", "level": "none", "message": {"text": "Commented-code block (9 lines) in api/src/lib/dbPassword.ts:8"}, "properties": {"repobilityId": "4313662fed3f777b", "scanner": "scanner-primary", "fingerprint": "7d8b452d86e1d94b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8702bbe890fc8b5e", "level": "none", "message": {"text": "Commented-code block (6 lines) in api/src/lib/topoJobReaper.ts:17"}, "properties": {"repobilityId": "ff2f7ec73ee6abd9", "scanner": "scanner-primary", "fingerprint": "8702bbe890fc8b5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3fa3f876d86e64be", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/src/lib/databaseUrl.ts:3"}, "properties": {"repobilityId": "f61ac9a167b3c6c3", "scanner": "scanner-primary", "fingerprint": "3fa3f876d86e64be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe896281f97eed3e", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/src/routes/sharing.ts:68"}, "properties": {"repobilityId": "99412c1f36c4b85d", "scanner": "scanner-primary", "fingerprint": "fe896281f97eed3e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ddc74d714f01ec05", "level": "none", "message": {"text": "Commented-code block (6 lines) in api/src/routes/users.ts:452"}, "properties": {"repobilityId": "371b884370d8a019", "scanner": "scanner-primary", "fingerprint": "ddc74d714f01ec05", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5f2bc77babe92b8", "level": "none", "message": {"text": "Commented-code block (12 lines) in api/src/routes/notifications.ts:10"}, "properties": {"repobilityId": "dd79cc123b79eacf", "scanner": "scanner-primary", "fingerprint": "c5f2bc77babe92b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8abbdb0a455f4a13", "level": "none", "message": {"text": "Commented-code block (6 lines) in api/src/routes/topoJobs.ts:32"}, "properties": {"repobilityId": "34ed5fde60972564", "scanner": "scanner-primary", "fingerprint": "8abbdb0a455f4a13", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59472586071741e5", "level": "none", "message": {"text": "Commented-code block (9 lines) in api/src/routes/geoPdf.ts:3"}, "properties": {"repobilityId": "7161e9ad783ee55a", "scanner": "scanner-primary", "fingerprint": "59472586071741e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d46c0e2d53b4c596", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/src/routes/topoExports.ts:3"}, "properties": {"repobilityId": "71a31f0e22c09797", "scanner": "scanner-primary", "fingerprint": "d46c0e2d53b4c596", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d471a996cf73a18d", "level": "none", "message": {"text": "Commented-code block (6 lines) in api/src/routes/canyons.ts:122"}, "properties": {"repobilityId": "f8cd798ba421fce1", "scanner": "scanner-primary", "fingerprint": "d471a996cf73a18d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dfd6c28484e4cdf3", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/src/services/ropewikiDedupe.ts:149"}, "properties": {"repobilityId": "d889a5fc87426b57", "scanner": "scanner-primary", "fingerprint": "dfd6c28484e4cdf3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-000ea468c5e2e4ce", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/src/services/awsClients.ts:12"}, "properties": {"repobilityId": "09a1bf31a0baadcb", "scanner": "scanner-primary", "fingerprint": "000ea468c5e2e4ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f632b869b9aef24", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/src/services/generateGeoPdf.ts:92"}, "properties": {"repobilityId": "afbeaa73a797f730", "scanner": "scanner-primary", "fingerprint": "4f632b869b9aef24", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6dfa14f15843ea97", "level": "none", "message": {"text": "Commented-code block (6 lines) in api/src/services/prisma.ts:9"}, "properties": {"repobilityId": "c49e1ebd69dd02dd", "scanner": "scanner-primary", "fingerprint": "6dfa14f15843ea97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5724a993295fb961", "level": "none", "message": {"text": "Commented-code block (7 lines) in shared/src/geoPdfBaseLayers.ts:39"}, "properties": {"repobilityId": "f9b84754cc91d4e4", "scanner": "scanner-primary", "fingerprint": "5724a993295fb961", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08326ffad061532d", "level": "none", "message": {"text": "Commented-code block (5 lines) in shared/src/media.ts:3"}, "properties": {"repobilityId": "27e6d81ea86cce71", "scanner": "scanner-primary", "fingerprint": "08326ffad061532d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d777252f5fefc533", "level": "none", "message": {"text": "Commented-code block (5 lines) in shared/src/geoPdfConfig.ts:29"}, "properties": {"repobilityId": "dccbbf064d661cec", "scanner": "scanner-primary", "fingerprint": "d777252f5fefc533", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d54c313874c4a3fc", "level": "none", "message": {"text": "Commented-code block (6 lines) in shared/src/topoSettings.ts:9"}, "properties": {"repobilityId": "980ec9226dc294e5", "scanner": "scanner-primary", "fingerprint": "d54c313874c4a3fc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b2bb16cb2f708f9", "level": "note", "message": {"text": "Legacy-named symbol `list_objects_v2` in topo/worker.py:252"}, "properties": {"repobilityId": "ad41c985c5b65afc", "scanner": "scanner-primary", "fingerprint": "1b2bb16cb2f708f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4488478cce86bbaa", "level": "none", "message": {"text": "Commented-code block (12 lines) in topo/worker.py:447"}, "properties": {"repobilityId": "8a5340c0f8e981d5", "scanner": "scanner-primary", "fingerprint": "4488478cce86bbaa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec8bc2f246b685a7", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 topo/worker.py:392"}, "properties": {"repobilityId": "79a36eda4aaaeffb", "scanner": "scanner-primary", "fingerprint": "ec8bc2f246b685a7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-16f4743045413719", "level": "note", "message": {"text": "Legacy-named symbol `list_objects_v2` in topo/export_worker.py:178"}, "properties": {"repobilityId": "042ec15c7dc4b8ee", "scanner": "scanner-primary", "fingerprint": "16f4743045413719", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7cfcf2acc0319355", "level": "none", "message": {"text": "Commented-code block (9 lines) in topo/topo_mbtiles.py:173"}, "properties": {"repobilityId": "64f669a0855132ad", "scanner": "scanner-primary", "fingerprint": "7cfcf2acc0319355", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b04eea45093dd7f7", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 topo/topo_mbtiles.py:994"}, "properties": {"repobilityId": "4e3ca3009d95be50", "scanner": "scanner-primary", "fingerprint": "b04eea45093dd7f7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4d585d90d2dfb7d2", "level": "none", "message": {"text": "Commented-code block (7 lines) in topo/tests/_native_stub.py:37"}, "properties": {"repobilityId": "9ec394e9554569cc", "scanner": "scanner-primary", "fingerprint": "4d585d90d2dfb7d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1538b75a968d8a86", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 topo/renderers/mbtiles.py:36"}, "properties": {"repobilityId": "6367fe8e9e9a3ebb", "scanner": "scanner-primary", "fingerprint": "1538b75a968d8a86", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fc34a6daa5d6585d", "level": "none", "message": {"text": "Commented-code block (5 lines) in topo/renderers/tile_compose.py:192"}, "properties": {"repobilityId": "d8ec9680e5a0d868", "scanner": "scanner-primary", "fingerprint": "fc34a6daa5d6585d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f2fd76c7232c43d1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 topo/renderers/gpx.py:39"}, "properties": {"repobilityId": "f6fa8203194d5a21", "scanner": "scanner-primary", "fingerprint": "f2fd76c7232c43d1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-658cafc552c541a0", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 topo/renderers/gpkg.py:48"}, "properties": {"repobilityId": "ad0fef1be11b2470", "scanner": "scanner-primary", "fingerprint": "658cafc552c541a0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-70fcae2d13c708b6", "level": "note", "message": {"text": "17 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "f21675bed249619c", "scanner": "scanner-primary", "fingerprint": "70fcae2d13c708b6", "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": "d93d91f29cfe1370", "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": "345a7e83e2b8e5f8", "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": "4ae1ab065bfaa43b", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-8c236625afb6a8cb", "level": "note", "message": {"text": "Unused endpoint: GET /ready"}, "properties": {"repobilityId": "3969ad9cb48584c0", "scanner": "scanner-primary", "fingerprint": "8c236625afb6a8cb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4e480cf1bc736555", "level": "note", "message": {"text": "Unused endpoint: USE /users"}, "properties": {"repobilityId": "749264c76937cd4a", "scanner": "scanner-primary", "fingerprint": "4e480cf1bc736555", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bb5ad562102c5e9d", "level": "note", "message": {"text": "Unused endpoint: USE /canyons"}, "properties": {"repobilityId": "d2927658fd7af220", "scanner": "scanner-primary", "fingerprint": "bb5ad562102c5e9d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6f48f57fb0d2224f", "level": "note", "message": {"text": "Unused endpoint: USE /canyons/:canyonId/trips"}, "properties": {"repobilityId": "acad34eebf857e17", "scanner": "scanner-primary", "fingerprint": "6f48f57fb0d2224f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dbb0dde7b58a928f", "level": "note", "message": {"text": "Unused endpoint: USE /trips/bulk"}, "properties": {"repobilityId": "5ffef3b3340303d6", "scanner": "scanner-primary", "fingerprint": "dbb0dde7b58a928f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-95a7edd4f51785dc", "level": "note", "message": {"text": "Unused endpoint: USE /canyons/bulk"}, "properties": {"repobilityId": "635b0eb93cab9da9", "scanner": "scanner-primary", "fingerprint": "95a7edd4f51785dc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-80bceea6a5a8daf4", "level": "note", "message": {"text": "Unused endpoint: USE /trips"}, "properties": {"repobilityId": "f3486c0428b80c30", "scanner": "scanner-primary", "fingerprint": "80bceea6a5a8daf4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-90c59dce8c680681", "level": "note", "message": {"text": "Unused endpoint: USE /friends"}, "properties": {"repobilityId": "08515479b29eb722", "scanner": "scanner-primary", "fingerprint": "90c59dce8c680681", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d80629752210b855", "level": "note", "message": {"text": "Unused endpoint: USE /notifications"}, "properties": {"repobilityId": "b4ec441c9664e49a", "scanner": "scanner-primary", "fingerprint": "d80629752210b855", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a6b403ccd927d834", "level": "note", "message": {"text": "Unused endpoint: USE /ropewiki"}, "properties": {"repobilityId": "3923fd4c0fbdb3c2", "scanner": "scanner-primary", "fingerprint": "a6b403ccd927d834", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-66fdbe332a1d6e1b", "level": "note", "message": {"text": "Unused endpoint: USE /topo-jobs"}, "properties": {"repobilityId": "4cc6df3a7f42d8f3", "scanner": "scanner-primary", "fingerprint": "66fdbe332a1d6e1b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-23846d4701bd172d", "level": "note", "message": {"text": "Unused endpoint: USE /media"}, "properties": {"repobilityId": "18520ad7f49c3ca1", "scanner": "scanner-primary", "fingerprint": "23846d4701bd172d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3cd45d2700b5de02", "level": "note", "message": {"text": "Unused endpoint: USE /topo-exports"}, "properties": {"repobilityId": "25105f13ab238a65", "scanner": "scanner-primary", "fingerprint": "3cd45d2700b5de02", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-93a24d3f34004099", "level": "note", "message": {"text": "Unused endpoint: USE /geo-pdf-templates"}, "properties": {"repobilityId": "0c469905c6bb7544", "scanner": "scanner-primary", "fingerprint": "93a24d3f34004099", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-69d55de70f3551da", "level": "note", "message": {"text": "Unused endpoint: USE /topo-templates"}, "properties": {"repobilityId": "a9fdb916ae7c28d0", "scanner": "scanner-primary", "fingerprint": "69d55de70f3551da", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a5043d73fa010743", "level": "note", "message": {"text": "Unused endpoint: USE /vector-style"}, "properties": {"repobilityId": "5858c4bd1787f6fc", "scanner": "scanner-primary", "fingerprint": "a5043d73fa010743", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-559f8a2d19edf55b", "level": "note", "message": {"text": "Unused endpoint: USE /geo-pdf"}, "properties": {"repobilityId": "a97dc328d68c42a2", "scanner": "scanner-primary", "fingerprint": "559f8a2d19edf55b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-14c8cdf42637261c", "level": "note", "message": {"text": "Unused endpoint: USE /analytics"}, "properties": {"repobilityId": "9c5ac991a572cb91", "scanner": "scanner-primary", "fingerprint": "14c8cdf42637261c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-475d70dd6b907ab6", "level": "note", "message": {"text": "Unused endpoint: POST /:id/share"}, "properties": {"repobilityId": "f9dc0a2ae2d02449", "scanner": "scanner-primary", "fingerprint": "475d70dd6b907ab6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1ff174e4ce14ff3c", "level": "note", "message": {"text": "Unused endpoint: DELETE /:id/share/:userId"}, "properties": {"repobilityId": "865ea21e0ea0d450", "scanner": "scanner-primary", "fingerprint": "1ff174e4ce14ff3c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d592cb27af68c861", "level": "note", "message": {"text": "Unused endpoint: GET /:id/shares"}, "properties": {"repobilityId": "d017d7025f6be9ec", "scanner": "scanner-primary", "fingerprint": "d592cb27af68c861", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-23df988e26cdbbc9", "level": "note", "message": {"text": "Unused endpoint: POST /presign"}, "properties": {"repobilityId": "ed99e4e45b3a6609", "scanner": "scanner-primary", "fingerprint": "23df988e26cdbbc9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e37d33036b87f852", "level": "note", "message": {"text": "Unused endpoint: POST /:mediaId/confirm"}, "properties": {"repobilityId": "bd3f239b6495d0cd", "scanner": "scanner-primary", "fingerprint": "e37d33036b87f852", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7a61c112b611f4bb", "level": "note", "message": {"text": "Unused endpoint: DELETE /:id"}, "properties": {"repobilityId": "054fcfabeb6fd8f4", "scanner": "scanner-primary", "fingerprint": "7a61c112b611f4bb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7a009b1a56794f45", "level": "note", "message": {"text": "Unused endpoint: POST /"}, "properties": {"repobilityId": "ab410f0ec378606b", "scanner": "scanner-primary", "fingerprint": "7a009b1a56794f45", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5ad17de6517d58f2", "level": "note", "message": {"text": "Unused endpoint: POST /delete"}, "properties": {"repobilityId": "c7587aa06be0765f", "scanner": "scanner-primary", "fingerprint": "5ad17de6517d58f2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5baa8971ebe192a1", "level": "note", "message": {"text": "Unused endpoint: GET /"}, "properties": {"repobilityId": "a14eebbaba4da3fa", "scanner": "scanner-primary", "fingerprint": "5baa8971ebe192a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fd1dc91abf32142d", "level": "note", "message": {"text": "Unused endpoint: GET /me"}, "properties": {"repobilityId": "f1d8fa469203b950", "scanner": "scanner-primary", "fingerprint": "fd1dc91abf32142d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ea575b61c121b733", "level": "note", "message": {"text": "Unused endpoint: PATCH /me"}, "properties": {"repobilityId": "c1f1ffc05e36202b", "scanner": "scanner-primary", "fingerprint": "ea575b61c121b733", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7244774f57779581", "level": "note", "message": {"text": "Unused endpoint: GET /me/export"}, "properties": {"repobilityId": "89e50c5d9b4455ba", "scanner": "scanner-primary", "fingerprint": "7244774f57779581", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-380780ae47e04514", "level": "note", "message": {"text": "Unused endpoint: DELETE /me"}, "properties": {"repobilityId": "f086284627159fa7", "scanner": "scanner-primary", "fingerprint": "380780ae47e04514", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1de80da0b27387f7", "level": "note", "message": {"text": "Unused endpoint: GET /unread-count"}, "properties": {"repobilityId": "d00526299bd7b563", "scanner": "scanner-primary", "fingerprint": "1de80da0b27387f7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-afd4ed162f8ab9b0", "level": "note", "message": {"text": "Unused endpoint: PATCH /:id/read"}, "properties": {"repobilityId": "9bbbc398b511dae4", "scanner": "scanner-primary", "fingerprint": "afd4ed162f8ab9b0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ed4d2d73b6897c8d", "level": "note", "message": {"text": "Unused endpoint: PATCH /read-all"}, "properties": {"repobilityId": "f64e3107101f989e", "scanner": "scanner-primary", "fingerprint": "ed4d2d73b6897c8d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3b30f4c0994a30b4", "level": "note", "message": {"text": "Unused endpoint: DELETE /"}, "properties": {"repobilityId": "ddbd59650a5b7989", "scanner": "scanner-primary", "fingerprint": "3b30f4c0994a30b4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-67d28fa8cd6bb12f", "level": "note", "message": {"text": "Unused endpoint: PUT /"}, "properties": {"repobilityId": "68182a152e94c81a", "scanner": "scanner-primary", "fingerprint": "67d28fa8cd6bb12f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f50587b43f3c7597", "level": "note", "message": {"text": "Unused endpoint: POST /:id/start"}, "properties": {"repobilityId": "d9b57720f93d92c9", "scanner": "scanner-primary", "fingerprint": "f50587b43f3c7597", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2f4bacec52d71723", "level": "note", "message": {"text": "Unused endpoint: GET /completed-overlays"}, "properties": {"repobilityId": "e2f87f745e8c7adc", "scanner": "scanner-primary", "fingerprint": "2f4bacec52d71723", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ca5756175765b49d", "level": "note", "message": {"text": "Unused endpoint: GET /:id"}, "properties": {"repobilityId": "a1aba1be82c939ad", "scanner": "scanner-primary", "fingerprint": "ca5756175765b49d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5fbc954f63526821", "level": "note", "message": {"text": "Unused endpoint: PATCH /:id"}, "properties": {"repobilityId": "d4241a310c4672f1", "scanner": "scanner-primary", "fingerprint": "5fbc954f63526821", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-42719ea76f9ecae3", "level": "note", "message": {"text": "Unused endpoint: GET /requests"}, "properties": {"repobilityId": "6aa52966a2fdfcfb", "scanner": "scanner-primary", "fingerprint": "42719ea76f9ecae3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3b5c17c01e439662", "level": "note", "message": {"text": "Unused endpoint: POST /request"}, "properties": {"repobilityId": "51e693068f50990d", "scanner": "scanner-primary", "fingerprint": "3b5c17c01e439662", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bc9d5f32f5b74487", "level": "note", "message": {"text": "Unused endpoint: PATCH /:id/accept"}, "properties": {"repobilityId": "feeaecfe8056cd0f", "scanner": "scanner-primary", "fingerprint": "bc9d5f32f5b74487", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ebaacd18b1705130", "level": "note", "message": {"text": "Unused endpoint: PATCH /:id/decline"}, "properties": {"repobilityId": "70c5d29c01511a96", "scanner": "scanner-primary", "fingerprint": "ebaacd18b1705130", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d16e4fa529c520e9", "level": "note", "message": {"text": "Unused endpoint: GET /search"}, "properties": {"repobilityId": "2502abba39f98872", "scanner": "scanner-primary", "fingerprint": "d16e4fa529c520e9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-be4cb5e3cabcce80", "level": "note", "message": {"text": "Unused endpoint: POST /import"}, "properties": {"repobilityId": "9f81b51c2e43542c", "scanner": "scanner-primary", "fingerprint": "be4cb5e3cabcce80", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f59a5e88944ea3bd", "level": "note", "message": {"text": "Unused endpoint: POST /import/apply"}, "properties": {"repobilityId": "205982e5309f0568", "scanner": "scanner-primary", "fingerprint": "f59a5e88944ea3bd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7ce17d6b092a81ca", "level": "note", "message": {"text": "Unused endpoint: POST /refresh"}, "properties": {"repobilityId": "effb1da57a6f384f", "scanner": "scanner-primary", "fingerprint": "7ce17d6b092a81ca", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a6fffeeae7abe1f9", "level": "note", "message": {"text": "Unused endpoint: GET /shared"}, "properties": {"repobilityId": "327400228b380ea8", "scanner": "scanner-primary", "fingerprint": "a6fffeeae7abe1f9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-93692c71b57b4d09", "level": "note", "message": {"text": "Unused endpoint: POST /:id/copy"}, "properties": {"repobilityId": "d0fe0bcb07c913e2", "scanner": "scanner-primary", "fingerprint": "93692c71b57b4d09", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}