{"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: sdsrss/claude-mem-lite", "shortDescription": {"text": "Foundry mined unresolved feedback: sdsrss/claude-mem-lite"}, "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: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#8\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#8\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#8\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 8\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'blueprint_finding': 2, 'thre"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: sdsrss/claude-mem-lite", "shortDescription": {"text": "Foundry mined blueprint gap alignment: sdsrss/claude-mem-lite"}, "fullDescription": {"text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#8\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#8\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 8\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'blueprint_finding': 2, '"}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: sdsrss/claude-mem-lite", "shortDescription": {"text": "Foundry mined assumption checks: sdsrss/claude-mem-lite"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#9\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: sdsrss/claude-mem-lite#9\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 8\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 15\nLabels: {'agent_instruction_gap': 1, 'runtime_failure': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'docs_or_claims': 1, 'source_or_other': 7, 'api_or_backend': 2, 'test_or_ci': 5}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-302ff383cdc637c0\",\n    \"kind\": \"pu"}, "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: sdsrss/claude-mem-lite", "shortDescription": {"text": "Foundry mined test ci gap after feedback: sdsrss/claude-mem-lite"}, "fullDescription": {"text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#5\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#5\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 5\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 39\nNode types: {'pr_file': 5, 'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment"}, "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: sdsrss/claude-mem-lite", "shortDescription": {"text": "Foundry mined schema ui api mismatch: sdsrss/claude-mem-lite"}, "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: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#8\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#8\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 8\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, "}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: sdsrss/claude-mem-lite", "shortDescription": {"text": "Foundry mined bad chains: sdsrss/claude-mem-lite"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#7\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: sdsrss/claude-mem-lite#7\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 19\nLabels: {'security_auth_secret': 1, 'mock_placeholder': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'docs_or_claims': 1, 'source_or_other': 10, 'dependency_or_build': 1, 'schema_or_data': 1, 'api_or_backend': 2, 'test_or_ci': 4}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-c"}, "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: sdsrss/claude-mem-lite", "shortDescription": {"text": "Foundry mined mock as real or placeholder: sdsrss/claude-mem-lite"}, "fullDescription": {"text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#7\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#7\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#7\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 7\nGraph consistency label: weak_supervision_needs_review\nNodes: 33\nEdges: 74\nNode types: {'pr_file': 19, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'co"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"id": "scanner-0a20649587c32daf", "name": "Stray `console.log` in TS/JS \u2014 scripts/pre-skill-bridge.js:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/pre-skill-bridge.js:87"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eceb0f49773bb781", "name": "Insecure pattern 'node_child_process' in hook-update.mjs:5", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hook-update.mjs:5"}, "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-4e4e757d0347b95c", "name": "Insecure pattern 'node_child_process' in haiku-client.mjs:8", "shortDescription": {"text": "Insecure pattern 'node_child_process' in haiku-client.mjs:8"}, "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-b65d989a25191db1", "name": "Insecure pattern 'node_child_process' in install.mjs:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in install.mjs:4"}, "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-a1388918d1ca2189", "name": "Insecure pattern 'node_child_process' in hook-shared.mjs:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hook-shared.mjs:4"}, "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-3b4036c16d2f9efe", "name": "Insecure pattern 'node_child_process' in utils.mjs:6", "shortDescription": {"text": "Insecure pattern 'node_child_process' in utils.mjs:6"}, "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-f6e52d9494aa62e3", "name": "Insecure pattern 'node_child_process' in scripts/hook-launcher.mjs:22", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/hook-launcher.mjs:22"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b53a948a983a3732", "name": "Insecure pattern 'node_child_process' in scripts/launch.mjs:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/launch.mjs:4"}, "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-bd67096e995fea46", "name": "Insecure pattern 'node_child_process' in lib/binding-probe.mjs:9", "shortDescription": {"text": "Insecure pattern 'node_child_process' in lib/binding-probe.mjs:9"}, "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-6c008c92127915e6", "name": "Insecure pattern 'node_child_process' in lib/git-state.mjs:5", "shortDescription": {"text": "Insecure pattern 'node_child_process' in lib/git-state.mjs:5"}, "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-e2a2a86afd28ebd5", "name": "Insecure pattern 'node_child_process' in benchmark/efficacy-observational.mjs:29", "shortDescription": {"text": "Insecure pattern 'node_child_process' in benchmark/efficacy-observational.mjs:29"}, "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-4eb25cafa1c31d77", "name": "Insecure pattern 'node_child_process' in benchmark/ci-gate.mjs:10", "shortDescription": {"text": "Insecure pattern 'node_child_process' in benchmark/ci-gate.mjs:10"}, "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-48703d91944e285e", "name": "Insecure pattern 'node_child_process' in benchmark/efficacy-harness.mjs:42", "shortDescription": {"text": "Insecure pattern 'node_child_process' in benchmark/efficacy-harness.mjs:42"}, "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-c1aec29dc3666e3e", "name": "Insecure pattern 'node_child_process' in experiment/lib/real-deps.mjs:8", "shortDescription": {"text": "Insecure pattern 'node_child_process' in experiment/lib/real-deps.mjs:8"}, "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-27924aa79fa4a517", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@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-a53bf972e19b52fd", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-node@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7ffa33751be3d771", "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-f5a11e29761be279", "name": "Very large file: hook-llm.mjs (1083 lines)", "shortDescription": {"text": "Very large file: hook-llm.mjs (1083 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-2f8579e9fb4d7dc2", "name": "Very large file: install-metadata.mjs (2072 lines)", "shortDescription": {"text": "Very large file: install-metadata.mjs (2072 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-a58a0ecf08f873e1", "name": "Very large file: server.mjs (1928 lines)", "shortDescription": {"text": "Very large file: server.mjs (1928 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-0ad628ebbb2c770a", "name": "Very large file: hook.mjs (1447 lines)", "shortDescription": {"text": "Very large file: hook.mjs (1447 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-23d6095f23608915", "name": "Very large file: mem-cli.mjs (2826 lines)", "shortDescription": {"text": "Very large file: mem-cli.mjs (2826 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-d0911cbe14fe3739", "name": "Very large file: install.mjs (2082 lines)", "shortDescription": {"text": "Very large file: install.mjs (2082 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-a81fa5ef88ab72e6", "name": "Very large file: tests/user-prompt-search.test.mjs (1379 lines)", "shortDescription": {"text": "Very large file: tests/user-prompt-search.test.mjs (1379 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-cfae7ad1d1766f5e", "name": "Very large file: tests/handoff.test.mjs (1125 lines)", "shortDescription": {"text": "Very large file: tests/handoff.test.mjs (1125 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-2d0cf9791b74a828", "name": "Very large file: tests/server.test.mjs (1750 lines)", "shortDescription": {"text": "Very large file: tests/server.test.mjs (1750 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-000c559f6722be09", "name": "Very large file: tests/audit-fixes.test.mjs (1420 lines)", "shortDescription": {"text": "Very large file: tests/audit-fixes.test.mjs (1420 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-97d2c978a1cb0bbd", "name": "Very large file: tests/integration-scenarios.test.mjs (1318 lines)", "shortDescription": {"text": "Very large file: tests/integration-scenarios.test.mjs (1318 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-3bf936c6aa3f4faf", "name": "Very large file: tests/cli.test.mjs (2575 lines)", "shortDescription": {"text": "Very large file: tests/cli.test.mjs (2575 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-05f2836af17f3672", "name": "Very large file: tests/e2e.test.mjs (1654 lines)", "shortDescription": {"text": "Very large file: tests/e2e.test.mjs (1654 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-54774e7f68846193", "name": "Very large file: tests/utils.test.mjs (1479 lines)", "shortDescription": {"text": "Very large file: tests/utils.test.mjs (1479 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-c8b0d7b5a044d509", "name": "Very large file: tests/hook-llm.test.mjs (1762 lines)", "shortDescription": {"text": "Very large file: tests/hook-llm.test.mjs (1762 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-a3b9ce898360b1ae", "name": "Very large file: tests/pre-tool-recall.test.mjs (1443 lines)", "shortDescription": {"text": "Very large file: tests/pre-tool-recall.test.mjs (1443 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-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 220 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 20 placeholder/mock markers across 12 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-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-37138301da788a8a", "name": "Commented-code block (5 lines) in schema.mjs:16", "shortDescription": {"text": "Commented-code block (5 lines) in schema.mjs:16"}, "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-a317c359e027bfe3", "name": "Commented-code block (5 lines) in project-utils.mjs:17", "shortDescription": {"text": "Commented-code block (5 lines) in project-utils.mjs: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-dcfd125afce7760e", "name": "Commented-code block (5 lines) in memdir.mjs:4", "shortDescription": {"text": "Commented-code block (5 lines) in memdir.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8b3e65697e2eeee3", "name": "Commented-code block (5 lines) in nlp.mjs:238", "shortDescription": {"text": "Commented-code block (5 lines) in nlp.mjs:238"}, "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-1518f3477ad4fb90", "name": "Commented-code block (8 lines) in hook-handoff.mjs:35", "shortDescription": {"text": "Commented-code block (8 lines) in hook-handoff.mjs:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5801e5d29df193f6", "name": "Commented-code block (16 lines) in secret-scrub.mjs:11", "shortDescription": {"text": "Commented-code block (16 lines) in secret-scrub.mjs:11"}, "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-c61a9688da6e6e47", "name": "Commented-code block (6 lines) in hook-precompact.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in hook-precompact.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-411f50850e49f537", "name": "Commented-code block (5 lines) in hook-optimize.mjs:275", "shortDescription": {"text": "Commented-code block (5 lines) in hook-optimize.mjs:275"}, "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-a2c8d1c5fce8f3b7", "name": "Commented-code block (6 lines) in hook-llm.mjs:50", "shortDescription": {"text": "Commented-code block (6 lines) in hook-llm.mjs:50"}, "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-0ccc054a05c7bcbf", "name": "Commented-code block (6 lines) in hook-memory.mjs:22", "shortDescription": {"text": "Commented-code block (6 lines) in hook-memory.mjs:22"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3456f35d8453f291", "name": "Commented-code block (5 lines) in source-files.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in source-files.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bc8a813e68589386", "name": "Commented-code block (9 lines) in cli.mjs:17", "shortDescription": {"text": "Commented-code block (9 lines) in cli.mjs: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-48e0168731332ec0", "name": "Commented-code block (6 lines) in server.mjs:267", "shortDescription": {"text": "Commented-code block (6 lines) in server.mjs:267"}, "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-f2be652c1c0296fd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server.mjs:522", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server.mjs:522"}, "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-494853c144d793bb", "name": "Commented-code block (6 lines) in registry-scanner.mjs:23", "shortDescription": {"text": "Commented-code block (6 lines) in registry-scanner.mjs:23"}, "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-ac906e349ab1a028", "name": "Commented-code block (5 lines) in synonyms.mjs:268", "shortDescription": {"text": "Commented-code block (5 lines) in synonyms.mjs:268"}, "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-672249d0abc70d5d", "name": "Commented-code block (7 lines) in tool-schemas.mjs:53", "shortDescription": {"text": "Commented-code block (7 lines) in tool-schemas.mjs:53"}, "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-94bce8e056afc8e1", "name": "Commented-code block (6 lines) in search-engine.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in search-engine.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-249e37a7a9c7e84d", "name": "Commented-code block (13 lines) in hook.mjs:7", "shortDescription": {"text": "Commented-code block (13 lines) in hook.mjs: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-f47084e26870537a", "name": "Commented-code block (5 lines) in hook-update.mjs:119", "shortDescription": {"text": "Commented-code block (5 lines) in hook-update.mjs:119"}, "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-92fde3a3a00c8bbe", "name": "Legacy-named symbol `hasOld` in registry.mjs:205", "shortDescription": {"text": "Legacy-named symbol `hasOld` in registry.mjs:205"}, "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-65670c9b8a9c84c2", "name": "Commented-code block (5 lines) in mem-cli.mjs:125", "shortDescription": {"text": "Commented-code block (5 lines) in mem-cli.mjs:125"}, "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-f0d39091025ec0cd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 mem-cli.mjs:680", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 mem-cli.mjs:680"}, "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-a922d0fb61996f4b", "name": "Commented-code block (6 lines) in scoring-sql.mjs:132", "shortDescription": {"text": "Commented-code block (6 lines) in scoring-sql.mjs:132"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd965694979879b9", "name": "Commented-code block (6 lines) in haiku-client.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in haiku-client.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b346251f762a3b3e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 haiku-client.mjs:275", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 haiku-client.mjs:275"}, "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-c93e1444f38d3dee", "name": "Commented-code block (5 lines) in install.mjs:18", "shortDescription": {"text": "Commented-code block (5 lines) in install.mjs:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1a8dfc3c26ffa8a2", "name": "Commented-code block (6 lines) in adopt-cli.mjs:5", "shortDescription": {"text": "Commented-code block (6 lines) in adopt-cli.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6e9922a832ad66bd", "name": "Commented-code block (6 lines) in hook-shared.mjs:31", "shortDescription": {"text": "Commented-code block (6 lines) in hook-shared.mjs:31"}, "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-b79dcf0b62866535", "name": "Commented-code block (6 lines) in utils.mjs:96", "shortDescription": {"text": "Commented-code block (6 lines) in utils.mjs: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-88e69adb8206cef7", "name": "Commented-code block (5 lines) in registry-retriever.mjs:11", "shortDescription": {"text": "Commented-code block (5 lines) in registry-retriever.mjs:11"}, "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-6cc8f846b5b57f07", "name": "Commented-code block (5 lines) in bash-utils.mjs:16", "shortDescription": {"text": "Commented-code block (5 lines) in bash-utils.mjs:16"}, "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-e7906b2632eb424e", "name": "Commented-code block (6 lines) in hook-context.mjs:179", "shortDescription": {"text": "Commented-code block (6 lines) in hook-context.mjs:179"}, "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-7aa30a0371a41bdc", "name": "Commented-code block (5 lines) in server-internals.mjs:8", "shortDescription": {"text": "Commented-code block (5 lines) in server-internals.mjs: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-a3a88f1f48b60044", "name": "Commented-code block (5 lines) in registry-importer.mjs:89", "shortDescription": {"text": "Commented-code block (5 lines) in registry-importer.mjs:89"}, "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-fdf2ba3a3772bd10", "name": "Commented-code block (6 lines) in tests/cite-back-hint.test.mjs:5", "shortDescription": {"text": "Commented-code block (6 lines) in tests/cite-back-hint.test.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65c3291128279dfe", "name": "Commented-code block (7 lines) in tests/import-jsonl.test.mjs:57", "shortDescription": {"text": "Commented-code block (7 lines) in tests/import-jsonl.test.mjs:57"}, "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-955516ae3cd63925", "name": "Commented-code block (5 lines) in tests/haiku-client.test.mjs:658", "shortDescription": {"text": "Commented-code block (5 lines) in tests/haiku-client.test.mjs:658"}, "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-42e13f2b2f185d18", "name": "Commented-code block (6 lines) in tests/install-lifecycle.test.mjs:342", "shortDescription": {"text": "Commented-code block (6 lines) in tests/install-lifecycle.test.mjs:342"}, "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-7fa59730c0f90bdd", "name": "Commented-code block (6 lines) in tests/user-prompt-search.test.mjs:111", "shortDescription": {"text": "Commented-code block (6 lines) in tests/user-prompt-search.test.mjs:111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-92b526126e53832e", "name": "Commented-code block (5 lines) in tests/git-state.test.mjs:8", "shortDescription": {"text": "Commented-code block (5 lines) in tests/git-state.test.mjs: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-a0a2d8f5fffffe05", "name": "Commented-code block (5 lines) in tests/tool-visibility.test.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in tests/tool-visibility.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8295aaeda0970366", "name": "Commented-code block (9 lines) in tests/install-e2e.test.mjs:1", "shortDescription": {"text": "Commented-code block (9 lines) in tests/install-e2e.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-35f89101ffb14989", "name": "Commented-code block (5 lines) in tests/injection-tracking.test.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in tests/injection-tracking.test.mjs: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-62a24e6b847eb5ce", "name": "Commented-code block (6 lines) in tests/handoff-simulation.test.mjs:11", "shortDescription": {"text": "Commented-code block (6 lines) in tests/handoff-simulation.test.mjs:11"}, "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-7b35004f7dff7082", "name": "Commented-code block (6 lines) in tests/get-time-format.test.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in tests/get-time-format.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aaa78b46d92adc3e", "name": "Commented-code block (5 lines) in tests/source-files-sync.test.mjs:5", "shortDescription": {"text": "Commented-code block (5 lines) in tests/source-files-sync.test.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-375ce2ae2b06bf8b", "name": "Commented-code block (6 lines) in tests/hooks-pretool-whitelist-sync.test.mjs:3", "shortDescription": {"text": "Commented-code block (6 lines) in tests/hooks-pretool-whitelist-sync.test.mjs: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-c61edd781a99563c", "name": "Commented-code block (6 lines) in tests/task-reader.test.mjs:3", "shortDescription": {"text": "Commented-code block (6 lines) in tests/task-reader.test.mjs: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-7dbfeddee89b024f", "name": "Commented-code block (5 lines) in tests/citation-decay-userprompt-e2e.test.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in tests/citation-decay-userprompt-e2e.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d11c70d6e4cb2201", "name": "Commented-code block (6 lines) in tests/search-core.test.mjs:10", "shortDescription": {"text": "Commented-code block (6 lines) in tests/search-core.test.mjs: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-ddf9d32e83422202", "name": "Commented-code block (5 lines) in tests/err-sampler.test.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in tests/err-sampler.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-829f0c8bcb0a175c", "name": "Commented-code block (9 lines) in tests/cite-factor.test.mjs:7", "shortDescription": {"text": "Commented-code block (9 lines) in tests/cite-factor.test.mjs: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-93ba2f1c9685047d", "name": "Commented-code block (7 lines) in tests/memory-inject.test.mjs:475", "shortDescription": {"text": "Commented-code block (7 lines) in tests/memory-inject.test.mjs:475"}, "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-8d28df1e2648fd01", "name": "Commented-code block (5 lines) in tests/hook-update.test.mjs:164", "shortDescription": {"text": "Commented-code block (5 lines) in tests/hook-update.test.mjs:164"}, "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-f7a3225374981cd0", "name": "Commented-code block (6 lines) in tests/cli-defer.test.mjs:7", "shortDescription": {"text": "Commented-code block (6 lines) in tests/cli-defer.test.mjs: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-70d1f4f50b3774a6", "name": "Commented-code block (5 lines) in tests/adopt-cli.test.mjs:303", "shortDescription": {"text": "Commented-code block (5 lines) in tests/adopt-cli.test.mjs:303"}, "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-dfaa3ea519b38f0e", "name": "Commented-code block (9 lines) in tests/schema-fk-warmstart.test.mjs:3", "shortDescription": {"text": "Commented-code block (9 lines) in tests/schema-fk-warmstart.test.mjs: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-b5114604bc042927", "name": "Commented-code block (5 lines) in tests/hook-semaphore.test.mjs:107", "shortDescription": {"text": "Commented-code block (5 lines) in tests/hook-semaphore.test.mjs:107"}, "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-c1b8c252dab106be", "name": "Commented-code block (7 lines) in tests/audit-fixes.test.mjs:4", "shortDescription": {"text": "Commented-code block (7 lines) in tests/audit-fixes.test.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ca471d043e704e5f", "name": "Commented-code block (5 lines) in tests/timeline-core.test.mjs:8", "shortDescription": {"text": "Commented-code block (5 lines) in tests/timeline-core.test.mjs: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-c50c39347da80f79", "name": "Commented-code block (5 lines) in tests/tier.test.mjs:134", "shortDescription": {"text": "Commented-code block (5 lines) in tests/tier.test.mjs:134"}, "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-981da13908f29963", "name": "Commented-code block (7 lines) in tests/cjk-precision.test.mjs:3", "shortDescription": {"text": "Commented-code block (7 lines) in tests/cjk-precision.test.mjs: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-33120edfbe8496f5", "name": "Commented-code block (5 lines) in tests/cli-routing-contract.test.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in tests/cli-routing-contract.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f99a26bcffd4302a", "name": "Commented-code block (6 lines) in tests/timeline-anchor-or-fallback.test.mjs:4", "shortDescription": {"text": "Commented-code block (6 lines) in tests/timeline-anchor-or-fallback.test.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fa64d604972db7bf", "name": "Commented-code block (9 lines) in tests/mcp-tools-snapshot.test.mjs:1", "shortDescription": {"text": "Commented-code block (9 lines) in tests/mcp-tools-snapshot.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a9e4c1db4fb61aa", "name": "Commented-code block (6 lines) in tests/cli.test.mjs:985", "shortDescription": {"text": "Commented-code block (6 lines) in tests/cli.test.mjs:985"}, "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-518047fa528a84e1", "name": "Commented-code block (5 lines) in tests/e2e.test.mjs:57", "shortDescription": {"text": "Commented-code block (5 lines) in tests/e2e.test.mjs:57"}, "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-edd15248b684eae5", "name": "Commented-code block (6 lines) in tests/cli-flags.test.mjs:29", "shortDescription": {"text": "Commented-code block (6 lines) in tests/cli-flags.test.mjs: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-ca1e31c96f75123b", "name": "Commented-code block (5 lines) in tests/registry-importer.test.mjs:250", "shortDescription": {"text": "Commented-code block (5 lines) in tests/registry-importer.test.mjs:250"}, "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-041f18b76ea19f7e", "name": "Commented-code block (6 lines) in tests/citation-tracker-userprompt.test.mjs:145", "shortDescription": {"text": "Commented-code block (6 lines) in tests/citation-tracker-userprompt.test.mjs:145"}, "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-038bb30cafad8665", "name": "Commented-code block (5 lines) in tests/mcp-protocol.test.mjs:4", "shortDescription": {"text": "Commented-code block (5 lines) in tests/mcp-protocol.test.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-93578042376785a7", "name": "Commented-code block (6 lines) in tests/doctor-benchmark.test.mjs:18", "shortDescription": {"text": "Commented-code block (6 lines) in tests/doctor-benchmark.test.mjs:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a0cb84e80f6a5660", "name": "Commented-code block (7 lines) in tests/hook-optimize-project-filter.test.mjs:3", "shortDescription": {"text": "Commented-code block (7 lines) in tests/hook-optimize-project-filter.test.mjs: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-2f1bfa97aee56e3c", "name": "Commented-code block (6 lines) in tests/registry-clone-plan.test.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in tests/registry-clone-plan.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6464ecaeb4c80a6e", "name": "Commented-code block (7 lines) in tests/bash-utils-signif.test.mjs:3", "shortDescription": {"text": "Commented-code block (7 lines) in tests/bash-utils-signif.test.mjs: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-022438dceedaa1fd", "name": "Commented-code block (5 lines) in tests/memdir.test.mjs:358", "shortDescription": {"text": "Commented-code block (5 lines) in tests/memdir.test.mjs:358"}, "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-afd35d1b7d492e2d", "name": "Commented-code block (6 lines) in tests/hook-llm.test.mjs:335", "shortDescription": {"text": "Commented-code block (6 lines) in tests/hook-llm.test.mjs:335"}, "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-39be3d280e2382b3", "name": "Commented-code block (6 lines) in tests/benchmark-splits.test.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in tests/benchmark-splits.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-05f094f0286c1189", "name": "Commented-code block (5 lines) in tests/schema-fts-rebuild.test.mjs:5", "shortDescription": {"text": "Commented-code block (5 lines) in tests/schema-fts-rebuild.test.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-546e96f8b129f979", "name": "Commented-code block (5 lines) in tests/session-invariant.test.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in tests/session-invariant.test.mjs: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-599347a81fd1425d", "name": "Commented-code block (5 lines) in tests/low-signal-block.test.mjs:230", "shortDescription": {"text": "Commented-code block (5 lines) in tests/low-signal-block.test.mjs:230"}, "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-8e16f92804e35a4a", "name": "Commented-code block (5 lines) in tests/benchmark-baseline-age.test.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in tests/benchmark-baseline-age.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea35994c6bdd1e05", "name": "Commented-code block (5 lines) in tests/install-ergonomics.test.mjs:34", "shortDescription": {"text": "Commented-code block (5 lines) in tests/install-ergonomics.test.mjs:34"}, "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-9de700971793d957", "name": "Commented-code block (6 lines) in tests/cli-e2e.test.mjs:176", "shortDescription": {"text": "Commented-code block (6 lines) in tests/cli-e2e.test.mjs:176"}, "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-dfb27a2ab0f03fd5", "name": "Commented-code block (5 lines) in tests/pre-tool-recall.test.mjs:12", "shortDescription": {"text": "Commented-code block (5 lines) in tests/pre-tool-recall.test.mjs: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-a4f92066d41bc487", "name": "Commented-code block (8 lines) in tests/install-legacy-db-backup.test.mjs:1", "shortDescription": {"text": "Commented-code block (8 lines) in tests/install-legacy-db-backup.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d06a8ae506206827", "name": "Commented-code block (5 lines) in tests/maintain-core.test.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in tests/maintain-core.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3504185d8efde447", "name": "Commented-code block (6 lines) in tests/quiet-hooks.test.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in tests/quiet-hooks.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-612fde0247b5bedc", "name": "Commented-code block (8 lines) in tests/install-bsqlite-probe.test.mjs:1", "shortDescription": {"text": "Commented-code block (8 lines) in tests/install-bsqlite-probe.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f47ad7902ebb053d", "name": "Commented-code block (5 lines) in tests/hook-launcher.test.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in tests/hook-launcher.test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-410a380628e72cb2", "name": "Commented-code block (5 lines) in tests/pre-skill-bridge.test.mjs:85", "shortDescription": {"text": "Commented-code block (5 lines) in tests/pre-skill-bridge.test.mjs:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5264d4e46b310ec3", "name": "Commented-code block (7 lines) in scripts/hook-launcher.mjs:4", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/hook-launcher.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b0e3a86e428a8211", "name": "Commented-code block (7 lines) in scripts/user-prompt-search.js:18", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/user-prompt-search.js:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2e07ce37a58f513a", "name": "Commented-code block (5 lines) in scripts/pre-tool-recall.js:20", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/pre-tool-recall.js:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9827c5cf69c776ee", "name": "Commented-code block (5 lines) in scripts/launch.mjs:33", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/launch.mjs:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7e24a482494642f2", "name": "Commented-code block (6 lines) in scripts/pre-skill-bridge.js:14", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/pre-skill-bridge.js:14"}, "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-fa0b3e2d07ee34c2", "name": "Commented-code block (6 lines) in scripts/prompt-search-utils.mjs:12", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/prompt-search-utils.mjs: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-bcdaa949d6ec404d", "name": "Commented-code block (5 lines) in scripts/index-managed.mjs:18", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/index-managed.mjs:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ad476b38c8a681b5", "name": "Commented-code block (7 lines) in scripts/launch-preflight.mjs:3", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/launch-preflight.mjs: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-2dba93560082e34c", "name": "Commented-code block (5 lines) in cli/common.mjs:4", "shortDescription": {"text": "Commented-code block (5 lines) in cli/common.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b8d9c90366f1b0c5", "name": "Commented-code block (5 lines) in cli/activity.mjs:5", "shortDescription": {"text": "Commented-code block (5 lines) in cli/activity.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-291e1aec889dfa44", "name": "Commented-code block (5 lines) in cli/doctor.mjs:15", "shortDescription": {"text": "Commented-code block (5 lines) in cli/doctor.mjs:15"}, "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-04da0c1bfde601f4", "name": "Commented-code block (6 lines) in lib/err-sampler.mjs:3", "shortDescription": {"text": "Commented-code block (6 lines) in lib/err-sampler.mjs: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-76ef58d4e538f189", "name": "Commented-code block (7 lines) in lib/task-reader.mjs:7", "shortDescription": {"text": "Commented-code block (7 lines) in lib/task-reader.mjs: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-2cb19751a1905f38", "name": "Commented-code block (5 lines) in lib/binding-probe.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in lib/binding-probe.mjs: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-205fecaf58ace6c6", "name": "Commented-code block (5 lines) in lib/doctor-drift.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in lib/doctor-drift.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cea5d39ad647f143", "name": "Commented-code block (5 lines) in lib/upgrade-banner.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in lib/upgrade-banner.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-79d5ab0247ea15c3", "name": "Commented-code block (10 lines) in lib/timeline-core.mjs:3", "shortDescription": {"text": "Commented-code block (10 lines) in lib/timeline-core.mjs: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-f83c396079d19dfb", "name": "Commented-code block (6 lines) in lib/cli-flags.mjs:3", "shortDescription": {"text": "Commented-code block (6 lines) in lib/cli-flags.mjs: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-1f816d8260780833", "name": "Commented-code block (5 lines) in lib/cite-back-hint.mjs:49", "shortDescription": {"text": "Commented-code block (5 lines) in lib/cite-back-hint.mjs:49"}, "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-a93731e354df44c7", "name": "Commented-code block (6 lines) in lib/private-strip.mjs:12", "shortDescription": {"text": "Commented-code block (6 lines) in lib/private-strip.mjs: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-edced4b772fbb6d1", "name": "Commented-code block (5 lines) in lib/mem-override.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in lib/mem-override.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-abf0ee7da4146eae", "name": "Commented-code block (6 lines) in lib/tmp-fixture-sweep.mjs:3", "shortDescription": {"text": "Commented-code block (6 lines) in lib/tmp-fixture-sweep.mjs: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-32b2c0008db6b420", "name": "Commented-code block (9 lines) in lib/compress-core.mjs:3", "shortDescription": {"text": "Commented-code block (9 lines) in lib/compress-core.mjs: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-4648b333186609d3", "name": "Commented-code block (8 lines) in lib/maintain-core.mjs:1", "shortDescription": {"text": "Commented-code block (8 lines) in lib/maintain-core.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-855b0802c9318c3a", "name": "Commented-code block (6 lines) in lib/observation-write.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in lib/observation-write.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1ea33487715e8199", "name": "Commented-code block (9 lines) in lib/search-core.mjs:4", "shortDescription": {"text": "Commented-code block (9 lines) in lib/search-core.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e63575ffb43b42a9", "name": "Commented-code block (6 lines) in lib/doctor-benchmark.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in lib/doctor-benchmark.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2dfff83b3011b954", "name": "Commented-code block (5 lines) in lib/import-jsonl.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in lib/import-jsonl.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1c215c3eb566ad65", "name": "Commented-code block (5 lines) in lib/low-signal-patterns.mjs:8", "shortDescription": {"text": "Commented-code block (5 lines) in lib/low-signal-patterns.mjs: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-47cf64ecbbc78a44", "name": "Commented-code block (6 lines) in lib/dedup-constants.mjs:3", "shortDescription": {"text": "Commented-code block (6 lines) in lib/dedup-constants.mjs: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-16d16725636ecd1c", "name": "Commented-code block (5 lines) in lib/scrub-record.mjs:9", "shortDescription": {"text": "Commented-code block (5 lines) in lib/scrub-record.mjs: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-86f8d24a2d2bb183", "name": "Commented-code block (9 lines) in lib/hook-telemetry.mjs:3", "shortDescription": {"text": "Commented-code block (9 lines) in lib/hook-telemetry.mjs: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-760b5881bc3be7f4", "name": "Commented-code block (6 lines) in lib/recall-core.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in lib/recall-core.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8943c41751d50a6b", "name": "Commented-code block (8 lines) in lib/citation-tracker.mjs:165", "shortDescription": {"text": "Commented-code block (8 lines) in lib/citation-tracker.mjs:165"}, "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-76d47ebd55b1b388", "name": "Commented-code block (7 lines) in lib/metrics.mjs:7", "shortDescription": {"text": "Commented-code block (7 lines) in lib/metrics.mjs: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-0a6c4077b21d06b9", "name": "Commented-code block (13 lines) in benchmark/efficacy-power.mjs:9", "shortDescription": {"text": "Commented-code block (13 lines) in benchmark/efficacy-power.mjs: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-761352ccefc78537", "name": "Commented-code block (7 lines) in benchmark/efficacy-observational.mjs:10", "shortDescription": {"text": "Commented-code block (7 lines) in benchmark/efficacy-observational.mjs: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-c180e683281abb31", "name": "Commented-code block (5 lines) in benchmark/ci-gate.mjs:18", "shortDescription": {"text": "Commented-code block (5 lines) in benchmark/ci-gate.mjs:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-22f039fbb0b8636f", "name": "Commented-code block (6 lines) in benchmark/benchmark.mjs:86", "shortDescription": {"text": "Commented-code block (6 lines) in benchmark/benchmark.mjs:86"}, "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-6efa88be67e9d222", "name": "Commented-code block (5 lines) in benchmark/cite-recall.mjs:6", "shortDescription": {"text": "Commented-code block (5 lines) in benchmark/cite-recall.mjs: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-1f61fc12c76a4751", "name": "Commented-code block (8 lines) in benchmark/efficacy-harness.mjs:5", "shortDescription": {"text": "Commented-code block (8 lines) in benchmark/efficacy-harness.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9d2b78c80aede19f", "name": "Commented-code block (6 lines) in benchmark/cjk-straddle-prevalence.mjs:4", "shortDescription": {"text": "Commented-code block (6 lines) in benchmark/cjk-straddle-prevalence.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fc999f82595f8a0d", "name": "Commented-code block (5 lines) in experiment/run-experiment.mjs:8", "shortDescription": {"text": "Commented-code block (5 lines) in experiment/run-experiment.mjs: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-99155d76eea8a6d1", "name": "Commented-code block (6 lines) in experiment/lib/real-deps.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in experiment/lib/real-deps.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e031a441f1cac53f", "name": "Commented-code block (7 lines) in experiment/lib/arms.mjs:3", "shortDescription": {"text": "Commented-code block (7 lines) in experiment/lib/arms.mjs: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-72038f70d49bf5ce", "name": "Commented-code block (5 lines) in experiment/lib/runner.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in experiment/lib/runner.mjs: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}}]}}, "automationDetails": {"id": "repobility/19122"}, "properties": {"repository": "sdsrss/claude-mem-lite", "repoUrl": "https://github.com/sdsrss/claude-mem-lite", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 369980, "scanner": "foundry_dataset", "fingerprint": "5b6fd8faebdd305197d79af05744d33775c8542090504f87c64d8f8b928eaa96", "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": {"build_install_failure": 1, "partial blueprint fit": 1, "verification_or_tests": 1, "human_feedback_general": 1, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 22, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#8", "issue_number": "8", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-bdf143541118b147", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#8\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#8\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#8\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 8\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_feedback_general': 1, 'build_install_failure': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'unlinked_human_feedback': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\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/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-03184de82e54eafd", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 369979, "scanner": "foundry_dataset", "fingerprint": "7d16a38b9cc4167b988549c990e6c90567a120b7cee57ae111506218f76ecd20", "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, "source_or_other": 1, "agent_instruction_gap": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 17, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 2, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 1, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 11, "node_types": {"repo": 1, "thread": 1, "comment": 1, "pr_file": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#4", "issue_number": "4", "quality_tiers": {"unresolved": 3}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-a943711435bd51f2", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {"docs_or_claims": 4, "source_or_other": 4}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#4\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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#4\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#4\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 4\nGraph consistency label: needs_more_evidence\nNodes: 11\nEdges: 17\nNode types: {'link_quality': 3, 'pr_file': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'thread_touches_file': 2, 'comment_chain_touches_file': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'docs_or_claims': 1, 'source_or_other': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-4ba4a9e6659ffc02", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 369978, "scanner": "foundry_dataset", "fingerprint": "e42fdf92b483e4ba7c6b722c45d746bea99fc800bbbcda14a61ad5f0f8015182", "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": {"partial blueprint fit": 1, "positive_human_signal": 2, "data_schema_persistence": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_alignment": 2, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 2, "positive_feedback_no_linked_change": 2, "human_positive_or_acceptance_signal": 2, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 8, "human_positive_or_acceptance_signal": 4}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 42, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 4, "alignment_uses_finding": 4, "chain_has_link_quality": 10, "comment_aligns_finding": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 28, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 10, "comment_chain": 4, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#1", "issue_number": "1", "quality_tiers": {"unresolved": 6, "assumption_check": 4}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-510a6bb3b5071f82", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: assumption_check\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#1\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#1\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 1\nGraph consistency label: assumption_check\nNodes: 28\nEdges: 42\nNode types: {'link_quality': 10, 'comment': 4, 'comment_chain': 4, 'alignment': 4, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 10, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'alignment_uses_comment': 4, 'alignment_uses_finding': 4, 'comment_aligns_finding': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'data_schema_persistence': 2, 'positive_human_signal': 2, 'human_reported_issue_no_linked_fix': 2, 'positive_feedback_no_linked_change': 2, 'human_positive_or_acceptance_signal': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'partial blueprint fit': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'human_positive_or_acceptance_signal': 4}\nQuality tiers: {'unresolved': 6, 'assumption_check': 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/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-2a65e0252354856d", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 355870, "scanner": "foundry_dataset", "fingerprint": "839149dfb25468fe32257d4b27d7433b8e1da6d79ad6ffe55838a667c216deaa", "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": {"build_install_failure": 1, "partial blueprint fit": 1, "verification_or_tests": 1, "human_feedback_general": 1, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 22, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#8", "issue_number": "8", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-56cb5d7bc3189d33", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#8\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#8\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 8\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_feedback_general': 1, 'build_install_failure': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'unlinked_human_feedback': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-bba5a892b0e587af", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 355869, "scanner": "foundry_dataset", "fingerprint": "7f8ea9b2eeea05f16a9e2f1c3ed0635e5c920d8c1f4c598ce2c7f3e79c3c3849", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 3, "test_ci_gap": 1, "source_or_other": 2, "partial blueprint fit": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_alignment": 1, "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": 39, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 5, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 5, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#5", "issue_number": "5", "quality_tiers": {"assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-40a8b8999eafac79", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 12, "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: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#5\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#5\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 5\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 39\nNode types: {'pr_file': 5, 'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 5, 'comment_chain_links_commit': 5, 'comment_chain_touches_file': 5, 'chain_has_link_quality': 5, 'issue_chain_touches_file': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'test_or_ci': 3, 'ambiguous_needs_more_evidence': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-7b46b3333ee859bc", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 355868, "scanner": "foundry_dataset", "fingerprint": "b21ee621e793f0d8b50d45919c4ec444daf44754b9e0b53ff7ef3c8e3873665c", "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, "docs_or_claims": 2, "schema_or_data": 1, "source_or_other": 3, "dependency_or_build": 1, "partial blueprint fit": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_alignment": 1, "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": 48, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 8, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 8, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 28, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 8, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#3", "issue_number": "3", "quality_tiers": {"assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-52d4102445ddaea2", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 4, "docs_or_claims": 8, "schema_or_data": 4, "source_or_other": 12, "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: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#3\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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#3\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#3\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 3\nGraph consistency label: weak_supervision_needs_review\nNodes: 28\nEdges: 48\nNode types: {'pr_file': 8, 'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 8, 'comment_chain_touches_file': 8, 'issue_chain_touches_file': 8, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'source_or_other': 3, 'ambiguous_needs_more_evidence': 3, 'docs_or_claims': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'test_or_ci': 1, 'schema_or_data': 1, 'dependency_or_build': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-52e21b24c4b0b37b", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 355867, "scanner": "foundry_dataset", "fingerprint": "e2756f1deea6a63d9a651e4673aa18ac87199ceea71e71403724c8ada7a08cd3", "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": 1, "docs_or_claims": 3, "source_or_other": 3, "dependency_or_build": 1, "partial blueprint fit": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_alignment": 1, "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": 51, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 9, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 9, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 29, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 9, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#13", "issue_number": "13", "quality_tiers": {"assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-3e0aaf5c28eb276d", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 4, "docs_or_claims": 12, "source_or_other": 12, "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: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#13\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#13\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#13\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 13\nGraph consistency label: weak_supervision_needs_review\nNodes: 29\nEdges: 51\nNode types: {'pr_file': 9, 'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 9, 'comment_chain_touches_file': 9, 'issue_chain_touches_file': 9, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'docs_or_claims': 3, 'source_or_other': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'dependency_or_build': 1, 'api_or_backend': 1, 'test_or_ci': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-efd22eaa5c57b129", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 355866, "scanner": "foundry_dataset", "fingerprint": "bb33d59609bc0b2f966f337194a3d56f005e47ceaff44c881732ee9550b139ff", "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, "api_or_backend": 1, "docs_or_claims": 4, "source_or_other": 2, "api_integration_gap": 2, "partial blueprint fit": 1, "verification_or_tests": 8, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 2, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 74, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 8, "alignment_uses_comment": 4, "alignment_uses_finding": 4, "chain_has_link_quality": 8, "comment_aligns_finding": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 8, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "comment_chain_touches_file": 16, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 38, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 2, "pr_file": 8, "alignment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#12", "issue_number": "12", "quality_tiers": {"assumption_check": 4, "weak_supervision": 4}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-6eb9d4ae669d4ecd", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 5, "api_or_backend": 5, "docs_or_claims": 20, "source_or_other": 10}}, "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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#12\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#12\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#12\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 12\nGraph consistency label: weak_supervision_needs_review\nNodes: 38\nEdges: 74\nNode types: {'pr_file': 8, 'commit': 8, 'link_quality': 8, 'alignment': 4, 'comment': 2, 'comment_chain': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 16, 'comment_chain_links_commit': 10, 'thread_touches_file': 8, 'chain_has_link_quality': 8, 'issue_chain_touches_file': 8, 'alignment_uses_comment': 4, 'alignment_uses_finding': 4, 'comment_aligns_finding': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 8, 'docs_or_claims': 4, 'ambiguous_needs_more_evidence': 4, 'api_integration_gap': 2, 'source_or_other': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_or_backend': 1, 'test_or_ci': 1, 'partial blueprint fit': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 4}\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/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-e26072a8154e7a5d", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 355865, "scanner": "foundry_dataset", "fingerprint": "eddf3ee60afa370d0a10e133ace9a39d32c4f4410f960141b7bf4077d48f698b", "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": 2, "test_ci_gap": 2, "api_or_backend": 1, "docs_or_claims": 5, "source_or_other": 4, "partial blueprint fit": 1, "verification_or_tests": 9, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 2, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 90, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 12, "alignment_uses_comment": 4, "alignment_uses_finding": 4, "chain_has_link_quality": 8, "comment_aligns_finding": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 43, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 2, "pr_file": 12, "alignment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#11", "issue_number": "11", "quality_tiers": {"assumption_check": 4, "weak_supervision": 4}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b34d36987411398e", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 5, "docs_or_claims": 25, "source_or_other": 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: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#11\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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#11\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#11\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 11\nGraph consistency label: weak_supervision_needs_review\nNodes: 43\nEdges: 90\nNode types: {'pr_file': 12, 'commit': 9, 'link_quality': 8, 'alignment': 4, 'comment': 2, 'comment_chain': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 24, 'thread_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 10, 'chain_has_link_quality': 8, 'alignment_uses_comment': 4, 'alignment_uses_finding': 4, 'comment_aligns_finding': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 9, 'docs_or_claims': 5, 'source_or_other': 4, 'ambiguous_needs_more_evidence': 4, 'test_ci_gap': 2, 'test_or_ci': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_or_backend': 1, 'partial blueprint fit': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 4}\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/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-6f7e499cb3a73283", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 355864, "scanner": "foundry_dataset", "fingerprint": "0545ccb3ba1988b4a7141b3cac0f5de707105d7ad1a24b4aef7909f1bc945a1c", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"api_or_backend": 1, "docs_or_claims": 1, "schema_or_data": 1, "source_or_other": 5, "dependency_or_build": 2, "build_install_failure": 1, "partial blueprint fit": 1, "verification_or_tests": 7, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_alignment": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6, "claimed_resolved_with_verification_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 70, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 9, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 9, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "comment_chain_touches_file": 18, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 35, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 2, "pr_file": 9, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#10", "issue_number": "10", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d1855ad1253d0847", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 5, "docs_or_claims": 5, "schema_or_data": 5, "source_or_other": 25, "dependency_or_build": 5}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#10\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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#10\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#10\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 10\nGraph consistency label: supported_by_verification_signal\nNodes: 35\nEdges: 70\nNode types: {'pr_file': 9, 'commit': 8, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 18, 'comment_chain_links_commit': 10, 'thread_touches_file': 9, 'issue_chain_touches_file': 9, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 7, 'source_or_other': 5, 'ambiguous_needs_more_evidence': 3, 'dependency_or_build': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'build_install_failure': 1, 'docs_or_claims': 1, 'api_or_backend': 1, 'schema_or_data': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-15560a2e32f3cde5", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 355863, "scanner": "foundry_dataset", "fingerprint": "12c845a7a488046fdfca3de6b46a32512c4f0dd1acb98232ba4ac072a8249d6e", "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": {"partial blueprint fit": 1, "positive_human_signal": 2, "data_schema_persistence": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_alignment": 2, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 2, "positive_feedback_no_linked_change": 2, "human_positive_or_acceptance_signal": 2, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 8, "human_positive_or_acceptance_signal": 4}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 42, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 4, "alignment_uses_finding": 4, "chain_has_link_quality": 10, "comment_aligns_finding": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 28, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 10, "comment_chain": 4, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#1", "issue_number": "1", "quality_tiers": {"unresolved": 6, "assumption_check": 4}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-4bc2170cdda27d63", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#1\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#1\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 1\nGraph consistency label: assumption_check\nNodes: 28\nEdges: 42\nNode types: {'link_quality': 10, 'comment': 4, 'comment_chain': 4, 'alignment': 4, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 10, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'alignment_uses_comment': 4, 'alignment_uses_finding': 4, 'comment_aligns_finding': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'data_schema_persistence': 2, 'positive_human_signal': 2, 'human_reported_issue_no_linked_fix': 2, 'positive_feedback_no_linked_change': 2, 'human_positive_or_acceptance_signal': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'partial blueprint fit': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'human_positive_or_acceptance_signal': 4}\nQuality tiers: {'unresolved': 6, 'assumption_check': 4}\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/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-97fb57707901dff3", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 312173, "scanner": "foundry_dataset", "fingerprint": "6a778534087919c275ce0250c6431e236f7fa41e92f3365d6bca26ecf915ca47", "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": "sdsrss/claude-mem-lite#9", "human_labels": ["agent_instruction_gap", "api_or_backend", "docs_or_claims", "runtime_failure", "source_or_other", "test_or_ci"], "issue_number": "9", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-af90defdda98e50a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 15, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 5, "api_or_backend": 2, "docs_or_claims": 1, "source_or_other": 7}, "linked_commit_count": 8, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#9\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: sdsrss/claude-mem-lite#9\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 8\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 15\nLabels: {'agent_instruction_gap': 1, 'runtime_failure': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'docs_or_claims': 1, 'source_or_other': 7, 'api_or_backend': 2, 'test_or_ci': 5}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-302ff383cdc637c0\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/9\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: sdsrss (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/9\\nTitle: feat(search+mcp): improve CJK recall and fix dev mode MCP tool loading\\nBody:\\n## Summary\\n- **CJK search recall improvement**: Add `extractCjkKeywords()` using merged CJK_COMPOUNDS + SYNONYM_MAP dictionary, CJK stop words filtering, 24 new CJK\u2194EN synonym pairs, and CJK-aware effective length calculation in `shouldSkip()`\\n- **Dev mode MCP fix**: `launch.mjs` detects dev symlink and loads dev server instead of stale plugin cache; `install.mjs --dev` auto-syncs launch.mjs to cache\\n- **Code cleanup**: Remove unused `db` parameter from `markSuperseded()` across 5 files\\n\\n## Test plan\\n- [x] 999 tests pass (0 failures)\\n- [x] Benchmark unchanged: P95=0.17ms, Precision=98.3%, Recall=88.5%\\n- [x] CJK queries verified: \\\"\u8fd9\u4e2a\u51fd\u6570\u662f\u505a\u4ec0\u4e48\u7684\\\" \u2192 `(\u51fd\u6570 OR function)` instead of 7 noisy bigrams\\n- [x] CJK prompt search: \\\"\u6570\u636e\u5e93\u641c\u7d22\u4f18\u5316\\\" returns results (was empty before)\\n- [x] Dev mode symlink detection works in launch.mjs\\n- [x] Lint passes on all changed files\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\\n\\n<!-- This \"\n  },\n  {\n    \"id\": \"github-feedback-comment-c14252a064bae552\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/9#issuecomment-4105671874\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: issue_comment\\nRepo: sdsrss/claude-mem-lite\\nAuthor: coderabbitai[bot] (Bot)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/9#issuecomment-4105671874\\nTitle: \\nBody:\\n<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\\n<!-- This is an auto-generated commen\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-assumption_checks-69a02820f153e207", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 312172, "scanner": "foundry_dataset", "fingerprint": "81b5a05b3006146993210513c41a44a403c017df8b3d88ddc7ce5b476862b0d2", "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": "sdsrss/claude-mem-lite#8", "human_labels": ["build_install_failure", "data_schema_persistence", "human_feedback_general"], "issue_number": "8", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.615, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-750bc7d821f341f9", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#8\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: sdsrss/claude-mem-lite#8\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1, 'human_feedback_general': 1, 'build_install_failure': 1}\nPolarities: {'bad': 2, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-cd4add3ac3f61b26\",\n    \"kind\": \"issue_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/issues/8\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: zackzhwu-hub (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/issues/8\\nTitle: Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'tier.mjs'\\nBody:\\n## \u95ee\u9898\u63cf\u8ff0\\n\u8fd0\u884c  \u547d\u4ee4\u65f6\u62a5\u9519\uff0c\u63d0\u793a\u627e\u4e0d\u5230  \u6a21\u5757\u3002\\n\\n## \u9519\u8bef\u65e5\u5fd7\\n\\n\\n## \u590d\u73b0\u6b65\u9aa4\\n1. \u5168\u5c40\u5b89\u88c5\uff1a\\nchanged 127 packages in 6s\\n\\n37 packages are looking for funding\\n  run `npm fund` for details\\n2. \u8fd0\u884c\uff1a\\n3. \u62a5\u9519\\n\\n## \u73af\u5883\u4fe1\u606f\\n- OS: macOS (Darwin 25.3.0)\\n- Node.js: v24.12.0\\n- \u5b89\u88c5\u65b9\u5f0f: \\nchanged 127 packages in 1s\\n\\n37 packages are looking for funding\\n  run `npm fund` for details\\n\\n## \u672c\u5730\u6392\u67e5\u7ed3\u679c\\n\u68c0\u67e5  \u76ee\u5f55\uff0c\u53d1\u73b0  \u6587\u4ef6\u786e\u5b9e\u4e0d\u5b58\u5728\u3002\\n\\n\u76ee\u5f55\u4e2d\u5b58\u5728\u7684  \u6587\u4ef6\u5217\u8868\uff1a\\n- cli.mjs\\n- haiku-client.mjs\\n- hook-context.mjs\\n- hook-episode.mjs\\n- hook-handoff.mjs\\n- hook-llm.mjs\\n- hook-memory.mjs\\n- hook-semaphore.mjs\\n- hook-shared.mjs\\n- hook-update.mjs\\n- hook.mjs\\n- install-metadata.mjs\\n- install.mjs\\n- mem-cli.mjs\\n- registry-indexer.mjs\\n- registry-retriever.mjs\\n- registry-scanner.mjs\\n- registry.mjs\\n- resource-discovery.mjs\\n- schema.mjs\\n- server-internals.mjs\\n- server.mjs\\n- skip-tools.mjs\\n- tool-schemas.mjs\\n- utils.mjs\\n\\n## \u53ef\u80fd\u539f\u56e0\\n \u6a21\u5757\u53ef\u80fd\u672a\u5305\u542b\u5728 npm \u5305\u7684\u53d1\u5e03\u6587\u4ef6\u4e2d\uff0c\u6216\u8005  \u4e2d\u5f15\u7528\u4e86\u5df2\u5220\u9664/\u91cd\u547d\u540d\u7684\u6a21\u5757\u3002\"\n  },\n  {\n    \"id\": \"github-feedback-comment-fefae67a999f12dd\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/issues/8#issuecomment-4103578859\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: sdsrss/claude-mem-lite\\nAuthor: zackzhwu-hub (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/issues/8#issuecomment-4103578859\\nTitle: \\nBody:\\n## \u8865\u5145\u53d1\u73b0\uff1a\u6839\u672c\u539f\u56e0\u5b9a\u4f4d\\n\\n\u7ecf\u8fc7\u8fdb\u4e00\u6b65\u6392\u67e5\uff0c\u53d1\u73b0\u95ee\u9898\u6839\u6e90\u662f **`package.json` \u7684 `files` \u5b57\u6bb5\u7f3a\u5c11\u65b0\u6dfb\u52a0\u7684\u6a21\u5757\u6587\u4ef6**\u3002\\n\\n### \u5177\u4f53\u60c5\u51b5\\n\\n| \u6587\u4ef6 | GitHub \u4ed3\u5e93 | npm \u5305 (v2.17.1) |\\n|------|------------|------\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-assumption_checks-9640a3c34ca24b1f", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 312171, "scanner": "foundry_dataset", "fingerprint": "a0f32105ee9a531a1bf9a081ce1aa32f520f1e07e8a82154c83b1a5d80b6db50", "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": "sdsrss/claude-mem-lite#5", "human_labels": ["source_or_other", "test_ci_gap", "test_or_ci"], "issue_number": "5", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-89ce8319b2eb0882", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 5, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 3, "source_or_other": 2}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#5\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: sdsrss/claude-mem-lite#5\nRepo: sdsrss/claude-mem-lite\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: 5\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 2, 'test_or_ci': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-e763bd599dd6b291\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/5\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: sdsrss (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/5\\nTitle: fix(dispatch+utils): intent priority, confidence gate, negation, scrubSecrets\\nBody:\\n## Summary\\n- **Intent priority**: Sort by earliest match position in text instead of pattern iteration order \u2014 \\\"fix this failing test\\\" now correctly yields `primaryIntent=fix`\\n- **Confidence gate**: Skip gap check when structured intent signal present \u2014 fixes design/fix/commit intents being over-filtered when multiple valid resources have similar BM25 scores\\n- **Negation boundaries**: Add conjunctions (`and`/`but`/`then`/`or`/`\u7136\u540e`/`\u4f46\u662f`) to clause boundary detection \u2014 \\\"skip the tests and deploy\\\" no longer negates deploy\\n- **scrubSecrets**: Exclude code-like values (`null`, `undefined`, `true`, `false`, `process.env.*`, function calls, short values <6 chars) from key-value scrubbing\\n\\n## Test plan\\n- [x] All 1147 existing tests pass (30 files)\\n- [x] 2 new tests added for scrubSecrets code-value exclusion and confidence gate structured intent bypass\\n- [x] Manual verification: 10 intent priority scenarios, 14 scrubSecrets scenari\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-35667e449d9de32a\",\n    \"filename\": \"dispatch.mjs\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 16,\n    \"deletions\": 4,\n    \"changes\": 20,\n    \"blob_url\": \"https://github.com/sdsrss/claude-mem-lite/blob/11f1b98cfcbef608df4586ced2bec8b1bde51f27/dispatch.mjs\"\n  },\n  {\n    \"id\": \"github-pr-file-file-306055bd8e74a1f4\",\n    \"filename\": \"tests/dispatch-sim.test.mjs\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 3,\n    \"deletions\": 3,\n    \"changes\": 6,\n    \"blob_url\": \"https://github.com/sdsrss/claude-mem-lite/blob/11f1b98cfcbef608df4586ced2bec8b1bde51f27/tes\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-assumption_checks-7dcf1bb11ba20c45", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 312170, "scanner": "foundry_dataset", "fingerprint": "7b55ad49a49e6b4be3fab4666802159aa9826a6b380b53accaff70d56c0970dd", "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": "sdsrss/claude-mem-lite#3", "human_labels": ["dependency_or_build", "docs_or_claims", "schema_or_data", "source_or_other", "test_ci_gap", "test_or_ci"], "issue_number": "3", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-4eeea5d7b0f1da9b", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 8, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "docs_or_claims": 2, "schema_or_data": 1, "source_or_other": 3, "dependency_or_build": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#3\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: sdsrss/claude-mem-lite#3\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 8\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'test_or_ci': 1, 'docs_or_claims': 2, 'source_or_other': 3, 'schema_or_data': 1, 'dependency_or_build': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-720cfadc023cd751\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/3\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: sdsrss (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/3\\nTitle: refactor: production hardening \u2014 docs, security, CI, metadata extraction\\nBody:\\n## Summary\\n- Remove hardcoded test counts from README/README.zh-CN (789\u2192dynamic descriptions)\\n- Raise vitest coverage thresholds from 25/25/20 to 75/75/65 (actual: 82/85/74)\\n- Add Node 18/20/22 matrix to CI workflow (was Node 22 only)\\n- Set DB directory mode `0o700` and DB file mode `0o600` in schema.mjs\\n- Replace `execSync` chmod with `execFileSync` array args in hook-update.mjs and install.mjs (injection-safe)\\n- Add 3 doctor diagnostics: update state, stale temp files, DB stats\\n- Extract RESOURCE_METADATA (~1900 lines) from install.mjs to install-metadata.mjs (3029\u21921191 lines)\\n- Add install-metadata.mjs to SOURCE_FILES in both hook-update.mjs and install.mjs for auto-update compatibility\\n\\n## Test plan\\n- [x] All 1103 tests pass across 29 test files\\n- [x] Lint clean (eslint)\\n- [x] Coverage thresholds met (lines 82%\u226575, functions 85%\u226575, branches 74%\u226565)\\n- [ ] CI Node 18/20/22 matrix runs green\\n- [ ] `node install.mjs doctor` sho\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-eb50d8bbc9922092\",\n    \"filename\": \".github/workflows/ci.yml\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 5,\n    \"deletions\": 2,\n    \"changes\": 7,\n    \"blob_url\": \"https://github.com/sdsrss/claude-mem-lite/blob/fc79dd37275e3b80cc2bdc79af6cf8513b3feced/.github%2Fworkflows%2Fci.yml\"\n  },\n  {\n    \"id\": \"github-pr-file-file-0589d1fb3ca6f26e\",\n    \"filename\": \"README.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 2,\n    \"changes\": 4,\n    \"blob_url\": \"https://github\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-assumption_checks-a72175dfb6f2a7dc", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 312169, "scanner": "foundry_dataset", "fingerprint": "915b6a00ebcd3fa579c36ed1365b96b9e0c51ce28be4192ad1f4592dea0c3975", "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": "sdsrss/claude-mem-lite#2", "human_labels": ["agent_instruction_gap"], "issue_number": "2", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.6, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-79e02eb8e4689a63", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#2\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: sdsrss/claude-mem-lite#2\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-030c8c738d715fa5\",\n    \"kind\": \"issue_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/issues/2\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: elenasteinvorth (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/issues/2\\nTitle: Question from a fellow builder \u2014 validation chat?\\nBody:\\nHi! I'm Elena, an entrepreneur validating a startup idea around persistent memory for AI agents.\\n\\nI came across claude-mem-lite and I'm genuinely impressed \u2014 the architecture decisions (episode batching, FTS5 over vectors, on-demand spawn) are exactly the kind of thoughtful simplification that claude-mem needed. The 600x cost reduction claim is wild.\\n\\nI'm researching the agent memory problem and would love to learn from your experience building this:\\n\\n1. What was the specific pain point that made you rebuild from scratch? (You mentioned claude-mem felt \\\"overbuilt\\\" \u2014 can you say more?)\\n2. How has adoption been? Are people using it? Any feedback on what's missing?\\n3. Did you consider monetizing this, or was it always meant to be a free tool?\\n4. What's your read on the market \u2014 is persistent memory a \\\"nice to have\\\" or a \\\"need to have\\\" for serious agent users?\\n5. If someone built a cross-agent memory layer (not just Claude Code), would that \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-d51a77e0e11b852b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: sdsrss/claude-mem-lite\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\": 6, \"artifact_supports_verification\": 2, \"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_cooccurre\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-assumption_checks-6fdd821fde0007b3", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 312168, "scanner": "foundry_dataset", "fingerprint": "0e0d436b0715b5c6e4303ebf18f4ea25461deecc64d24eca7dd97e065069f713", "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": "sdsrss/claude-mem-lite#15", "human_labels": ["build_install_failure", "runtime_failure"], "issue_number": "15", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-9aedce3a5caa28da", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#15\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: sdsrss/claude-mem-lite#15\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'build_install_failure': 1, 'runtime_failure': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2d37f337f7aa2041\",\n    \"kind\": \"issue_body\",\n    \"label\": \"build_install_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/issues/15\",\n    \"text\": \"GitHub feedback: build_install_failure\\nPolarity: bad\\nKind: issue_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: zackzhwu-hub (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/issues/15\\nTitle: v2.53.0: missing search-engine.mjs causes ERR_MODULE_NOT_FOUND (MCP server fails to start)\\nBody:\\n## Bug Report\\n\\n### Version\\nclaude-mem-lite v2.53.0 (latest as of 2026-04-29)\\n\\n### Problem\\nAfter upgrading to v2.53.0, the MCP server fails to start with the following error:\\n\\n```\\nError [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/zack/.npm-global/lib/node_modules/claude-mem-lite/search-engine.mjs' imported from /Users/zack/.npm-global/lib/node_modules/claude-mem-lite/server.mjs'\\n```\\n\\n### Root Cause\\nBoth `server.mjs` (line 13) and `mem-cli.mjs` import from `./search-engine.mjs`:\\n```js\\nimport { searchObservationsHybrid } from './search-engine.mjs';\\n```\\n\\nHowever, this file is **not included** in the published npm package. I verified by checking the v2.53.0 tarball \u2014 `search-engine.mjs` is absent.\\n\\nNote: v2.52.0 does not have this import and works correctly.\\n\\n### Impact\\n- MCP server cannot start \u2192 all mem tools (mem_save, mem_search, mem_recall, etc.) are unavailable\\n- Auto-update mechanism (hook-\"\n  },\n  {\n    \"id\": \"github-feedback-comment-5926933e1d2ca021\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/issues/15#issuecomment-4345510604\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: issue_comment\\nRepo: sdsrss/claude-mem-lite\\nAuthor: sdsrss (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/issues/15#issuecomment-4345510604\\nTitle: \\nBody:\\nThanks for the detailed report \u2014 investigated and have findings + a fix.\\n\\n## What I verified\\n\\nPulled the v2.53.0 tarball directly from three sources:\\n\\n| Source | `search-engine.mj\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-assumption_checks-4d1dcfe84bbe162b", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 312167, "scanner": "foundry_dataset", "fingerprint": "4012549f0dc24b94155e70c7b28de48ee4bb60290413fcc414a463dc71547c48", "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": "sdsrss/claude-mem-lite#14", "human_labels": ["build_install_failure", "runtime_failure"], "issue_number": "14", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-6529dc9b3554aab6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#14\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: sdsrss/claude-mem-lite#14\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'build_install_failure': 1, 'runtime_failure': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-373537bef2af1791\",\n    \"kind\": \"issue_body\",\n    \"label\": \"build_install_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/issues/14\",\n    \"text\": \"GitHub feedback: build_install_failure\\nPolarity: bad\\nKind: issue_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: zackzhwu-hub (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/issues/14\\nTitle: v2.29.0 npm package missing hook-optimize.mjs - causes SessionStart hook error\\nBody:\\n## Bug Description\\n\\nnpm package v2.29.0 is missing the `hook-optimize.mjs` file, causing a module resolution error when the SessionStart hook runs.\\n\\n## Error Message\\n\\n```\\nError [ERR_MODULE_NOT_FOUND]: Cannot find module '~/.npm-global/lib/node_modules/claude-mem-lite/hook-optimize.mjs' imported from ~/.npm-global/lib/node_modules/claude-mem-lite/hook.mjs\\n```\\n\\n## Affected Files\\n\\nThe following files import from `hook-optimize.mjs`:\\n- `hook.mjs:34` - `import { handleLLMOptimize } from './hook-optimize.mjs';`\\n- `mem-cli.mjs:15` - `import { optimizePreview, optimizeRun } from './hook-optimize.mjs';`\\n- `server.mjs:14` - `import { optimizePreview, optimizeRun } from './hook-optimize.mjs';`\\n\\n## Reproduction Steps\\n\\n1. Install globally: `npm install -g claude-mem-lite@2.29.0`\\n2. Start a new Claude Code session\\n3. Observe error: \\\"SessionStart:startup hook error\\\"\\n\\n## Workaround\\n\\nCreate a stub file at `~/.npm-global/lib/nod\"\n  },\n  {\n    \"id\": \"github-feedback-comment-c220759669a84319\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/issues/14#issuecomment-4260603228\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: issue_comment\\nRepo: sdsrss/claude-mem-lite\\nAuthor: sdsrss (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/issues/14#issuecomment-4260603228\\nTitle: \\nBody:\\nFixed in **v2.32.2**: https://github.com/sdsrss/claude-mem-lite/releases/tag/v2.32.2\\n\\nRoot cause confirmed: `package.json`'s `files` array was missing **10 modules** imported stati\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-assumption_checks-3b7d7009b68e4d74", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 312166, "scanner": "foundry_dataset", "fingerprint": "219ec1a89f0582f91cb81ceda1925721238e844009b59e09f5d5a339479882fb", "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": "sdsrss/claude-mem-lite#13", "human_labels": ["api_or_backend", "dependency_or_build", "docs_or_claims", "source_or_other", "test_ci_gap", "test_or_ci"], "issue_number": "13", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-637ca842ce579298", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 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": 1, "docs_or_claims": 3, "source_or_other": 3, "dependency_or_build": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#13\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: sdsrss/claude-mem-lite#13\nRepo: sdsrss/claude-mem-lite\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: 9\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 3, 'source_or_other': 3, 'dependency_or_build': 1, 'api_or_backend': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-838bc0edca9bb6fb\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/13\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: sdsrss (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/13\\nTitle: feat(invocation): smart skill invocation with path-based guidance\\nBody:\\n## Summary\\n- Fix managed skill/agent recommendation to use `Read(~path)` instead of `Skill()` which always fails for `~/.claude-mem-lite/managed/` resources\\n- Differentiate managed (Read path) vs native plugin (Skill full name) across all output points: auto-load, registry search (MCP + CLI), mem_use response\\n- Remove phantom `AGENT.md` references from path resolution (zero exist in managed \u2014 agents use `{name}.md`)\\n- Anchor `isManaged` detection with `/.claude-mem-lite/managed/` to prevent false positives\\n- Fix `path-to-regexp` high severity vulnerability (8.3.0 \u2192 8.4.0) that blocked v2.28.0 Release workflow\\n- Add 19 E2E tests (Scenario 14) with realistic `~` paths matching actual filesystem structure\\n\\n## Test plan\\n- [x] 42 test files, 1243 tests passing (pre-commit hook verified)\\n- [x] `npm audit --omit=dev` returns 0 vulnerabilities\\n- [x] Verified L1 auto-load output: `path=\\\"~/.../SKILL.md\\\"` + `Read()` guidance\\n- [x] Verified CLI r\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-bea06bb6350a40da\",\n    \"filename\": \"CLAUDE.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 13,\n    \"changes\": 19,\n    \"blob_url\": \"https://github.com/sdsrss/claude-mem-lite/blob/af6386536954a835439834c1e53512f58aa93144/CLAUDE.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-5a1c7b77fcf89ccd\",\n    \"filename\": \"README.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 22,\n    \"deletions\": 5,\n    \"changes\": 27,\n    \"blob_url\": \"https://github.com/sdsrss/claude-mem-l\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-assumption_checks-76ed851949352a6c", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 312165, "scanner": "foundry_dataset", "fingerprint": "74139d1a6969411d6be29d39b26fb71d521c20eeec511d08e93f4da27a69a102", "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": "sdsrss/claude-mem-lite#12", "human_labels": ["api_integration_gap", "api_or_backend", "docs_or_claims", "source_or_other", "test_or_ci"], "issue_number": "12", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-7ada5cd7d4d32aa7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 8, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "api_or_backend": 1, "docs_or_claims": 4, "source_or_other": 2}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#12\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: sdsrss/claude-mem-lite#12\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 8\nLabels: {'api_integration_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {'docs_or_claims': 4, 'source_or_other': 2, 'api_or_backend': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9e02ef5769a011bb\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/12\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: sdsrss (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/12\\nTitle: feat(integration): optimize Claude Code invocation quality\\nBody:\\n## Summary\\n\\n- Add \\\"Use when:\\\" trigger conditions to all 15 MCP tool descriptions (40% \u2192 100%) and all 8 skill descriptions (50% \u2192 100%)\\n- Add 7 decision rules to MCP server instructions for direct tool routing\\n- Fix BM25 adaptive threshold for new users with <5 observations (IDF collapse)\\n- Improve intent detection: position-based disambiguation when bugfix + recall patterns overlap\\n- Add 59 integration scenario tests covering all 4 invocation layers\\n\\n## Test plan\\n\\n- [x] 59 new integration scenario tests pass\\n- [x] 1162 total tests pass (37 files, 0 regressions)\\n- [x] Pre-commit hooks pass (lint + full test suite)\\n- [x] Code review by superpowers:code-reviewer agent completed\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\\n\\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\\n\\n## Summary by CodeRabbit\\n\\n* **Documentation**\\n  * Expanded memory command descriptions with clearer \\\"Use when\\\" guidance f\"\n  },\n  {\n    \"id\": \"github-feedback-comment-c5441972c26f2b34\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/12#issuecomment-4147031936\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: sdsrss/claude-mem-lite\\nAuthor: coderabbitai[bot] (Bot)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/12#issuecomment-4147031936\\nTitle: \\nBody:\\n<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\\n<!-- This is an auto-generated comment:\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-assumption_checks-81066fc3f590f1fc", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 312164, "scanner": "foundry_dataset", "fingerprint": "bb12eb1e7a5c161b77ea84d892494364256bb4ab89e1dc78bbbe76e98c4bec88", "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": "sdsrss/claude-mem-lite#11", "human_labels": ["api_or_backend", "docs_or_claims", "source_or_other", "test_ci_gap", "test_or_ci"], "issue_number": "11", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-63e44f042cff496b", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 12, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 2, "api_or_backend": 1, "docs_or_claims": 5, "source_or_other": 4}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#11\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: sdsrss/claude-mem-lite#11\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 12\nLabels: {'test_ci_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {'docs_or_claims': 5, 'source_or_other': 4, 'api_or_backend': 1, 'test_or_ci': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-0b822c869ba464e0\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/11\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: sdsrss (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/11\\nTitle: fix(integration): improve error detection and tool description discoverability\\nBody:\\n## Summary\\n- Fix false-positive ERROR labeling in `makeEntryDesc` \u2014 weak regex `/error|fail/i` replaced with word-boundary version `\\\\berror\\\\b|\\\\bfail(ed|ure)?\\\\b|\\\\bexception\\\\b|\\\\bpanic\\\\b` via caller-provided `bashSig.isError` override\\n- Improve 6 MCP tool descriptions and 4 skill descriptions from feature-driven to scenario-driven (\\\"Use when:\\\") for intelligent Claude Code auto-invocation\\n- Add `buildDegradedTitle` tab/CI-status cleanup, tier post-filter repositioning after PRF expansion, FTS fallback text extraction, registry list pagination, and test setup hardening\\n\\n## Test plan\\n- [x] 1103 tests pass (36 test files)\\n- [x] ESLint clean\\n- [x] Pre-commit hook passes (version sync + lint + tests)\\n- [x] Manual verification: \\\"Hispanic\\\" no longer matches `\\\\bpanic\\\\b`, real `panic` still detected\\n- [x] Manual verification: vitest output with \\\"errorRecall\\\" test names no longer falsely labeled ERROR\\n- [x] Manual verification: all hoo\"\n  },\n  {\n    \"id\": \"github-feedback-comment-09fe733e133a9b55\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/11#issuecomment-4146727773\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: sdsrss/claude-mem-lite\\nAuthor: coderabbitai[bot] (Bot)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/11#issuecomment-4146727773\\nTitle: \\nBody:\\n<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\\n<!-- This is an auto-generated comment: failure by coderabbit.ai -->\\\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-assumption_checks-5aa0fe721894b3aa", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 312163, "scanner": "foundry_dataset", "fingerprint": "218c9c466c8ec47ef23fde09d3209b091aefdfd7e4b6c5d7218ce0e04cecc6e2", "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": "sdsrss/claude-mem-lite#10", "human_labels": ["api_or_backend", "build_install_failure", "data_schema_persistence", "dependency_or_build", "docs_or_claims", "schema_or_data", "source_or_other"], "issue_number": "10", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-b43e021881f5f26c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 9, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 1, "docs_or_claims": 1, "schema_or_data": 1, "source_or_other": 5, "dependency_or_build": 1}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: assumption_checks\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#10\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: sdsrss/claude-mem-lite#10\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 9\nLabels: {'data_schema_persistence': 1, 'build_install_failure': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'docs_or_claims': 1, 'source_or_other': 5, 'dependency_or_build': 1, 'api_or_backend': 1, 'schema_or_data': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f093c4bfca3fea80\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/10\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: sdsrss (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/10\\nTitle: feat(cli+mcp): harden CLI input validation, add --sort/--json, widen truncation\\nBody:\\n## Summary\\n- **Fix negative limit/offset bug**: `recent -5` / `search --limit -1` caused SQLite `LIMIT -N` to return all records (5 sites in mem-cli.mjs, 1 in tool-schemas.mjs)\\n- **Add `--sort` option to search**: `--sort relevance|time|importance` for both CLI and MCP `mem_search`\\n- **Add `--json` flag to context**: Structured JSON output with parsed markdown sections\\n- **Widen display truncation**: 60\u219280 chars across all CLI/MCP display contexts (10 sites)\\n- **UX hardening**: `-h` subcommand help, maintain ops validation, registry import tips, compress age-days fix, export date validation, task-notification prompt filtering\\n\\n## Test plan\\n- [x] All 1093 tests pass (35 test files)\\n- [x] ESLint clean on all modified files\\n- [x] Manual testing of all 17 CLI commands + edge cases\\n- [x] MCP tool parity verified (14 tools)\\n- [x] Negative limit/offset/age-days boundary cases verified\\n\\n\ud83e\udd16 Generated with [Claude Code]\"\n  },\n  {\n    \"id\": \"github-feedback-comment-d5476f6c9d18d46f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"build_install_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/10#issuecomment-4106231225\",\n    \"text\": \"GitHub feedback: build_install_failure\\nPolarity: bad\\nKind: issue_comment\\nRepo: sdsrss/claude-mem-lite\\nAuthor: coderabbitai[bot] (Bot)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/10#issuecomment-4106231225\\nTitle: \\nBody:\\n<!-- This is an auto-generated comment: summarize by\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-assumption_checks-b3e8f8cf11668802", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 340958, "scanner": "foundry_dataset", "fingerprint": "567a0ab438f81194e4727cea8fd30ba9b981a2ac07e90b4ac82edac1ed71f62a", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 3, "test_ci_gap": 1, "source_or_other": 2, "partial blueprint fit": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_alignment": 1, "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": 39, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 5, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 5, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#5", "issue_number": "5", "quality_tiers": {"assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-13924581f1feea69", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 12, "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: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#5\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#5\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 5\nGraph consistency label: weak_supervision_needs_review\nNodes: 25\nEdges: 39\nNode types: {'pr_file': 5, 'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 5, 'comment_chain_links_commit': 5, 'comment_chain_touches_file': 5, 'chain_has_link_quality': 5, 'issue_chain_touches_file': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'test_or_ci': 3, 'ambiguous_needs_more_evidence': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-2f0609ac0a1f7cfa", "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": "sdsrss/claude-mem-lite", "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: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 340957, "scanner": "foundry_dataset", "fingerprint": "26c4a5b92abe23ffd1d93afde5ed5e212dec776f23096f3e3b58a35efa1fc967", "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, "docs_or_claims": 2, "schema_or_data": 1, "source_or_other": 3, "dependency_or_build": 1, "partial blueprint fit": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_alignment": 1, "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": 48, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 8, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 8, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 28, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 8, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#3", "issue_number": "3", "quality_tiers": {"assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-54f44ccdafaeb496", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 4, "docs_or_claims": 8, "schema_or_data": 4, "source_or_other": 12, "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: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#3\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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#3\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#3\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 3\nGraph consistency label: weak_supervision_needs_review\nNodes: 28\nEdges: 48\nNode types: {'pr_file': 8, 'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 8, 'comment_chain_touches_file': 8, 'issue_chain_touches_file': 8, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'source_or_other': 3, 'ambiguous_needs_more_evidence': 3, 'docs_or_claims': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'test_or_ci': 1, 'schema_or_data': 1, 'dependency_or_build': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-23423284cc7fea63", "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": "sdsrss/claude-mem-lite", "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: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 340956, "scanner": "foundry_dataset", "fingerprint": "7fa43337d13f985b2b49771488f04aa2fb55ef8a53471080c4b248f506a1c0ba", "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": 1, "docs_or_claims": 3, "source_or_other": 3, "dependency_or_build": 1, "partial blueprint fit": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_alignment": 1, "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": 51, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 9, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 9, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 29, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 9, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#13", "issue_number": "13", "quality_tiers": {"assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-fcafc91c6ae5dd15", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 4, "docs_or_claims": 12, "source_or_other": 12, "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: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#13\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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#13\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#13\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 13\nGraph consistency label: weak_supervision_needs_review\nNodes: 29\nEdges: 51\nNode types: {'pr_file': 9, 'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 9, 'comment_chain_touches_file': 9, 'issue_chain_touches_file': 9, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'docs_or_claims': 3, 'source_or_other': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'dependency_or_build': 1, 'api_or_backend': 1, 'test_or_ci': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-dfc2cbceacfdb300", "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": "sdsrss/claude-mem-lite", "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: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 340955, "scanner": "foundry_dataset", "fingerprint": "3b3b6881d3d786ac8fbec21ebf601d62dd2b097e939533c61659bf9f7142acf0", "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": 2, "test_ci_gap": 2, "api_or_backend": 1, "docs_or_claims": 5, "source_or_other": 4, "partial blueprint fit": 1, "verification_or_tests": 9, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 2, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 90, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 12, "alignment_uses_comment": 4, "alignment_uses_finding": 4, "chain_has_link_quality": 8, "comment_aligns_finding": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 43, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 2, "pr_file": 12, "alignment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#11", "issue_number": "11", "quality_tiers": {"assumption_check": 4, "weak_supervision": 4}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-042ddad3e8c822b4", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 5, "docs_or_claims": 25, "source_or_other": 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: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#11\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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#11\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#11\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 11\nGraph consistency label: weak_supervision_needs_review\nNodes: 43\nEdges: 90\nNode types: {'pr_file': 12, 'commit': 9, 'link_quality': 8, 'alignment': 4, 'comment': 2, 'comment_chain': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 24, 'thread_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 10, 'chain_has_link_quality': 8, 'alignment_uses_comment': 4, 'alignment_uses_finding': 4, 'comment_aligns_finding': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 9, 'docs_or_claims': 5, 'source_or_other': 4, 'ambiguous_needs_more_evidence': 4, 'test_ci_gap': 2, 'test_or_ci': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_or_backend': 1, 'partial blueprint fit': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 4}\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/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-4e48c7350dc617c5", "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": "sdsrss/claude-mem-lite", "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: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 330940, "scanner": "foundry_dataset", "fingerprint": "1395ac315bfe4fdc99403abe1999901eb9a47222f4b6b124c2a959deebadf60b", "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": {"build_install_failure": 1, "partial blueprint fit": 1, "verification_or_tests": 1, "human_feedback_general": 1, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 22, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#8", "issue_number": "8", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-86095da08b327b5a", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#8\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#8\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 8\nGraph consistency label: weak_supervision_needs_review\nNodes: 22\nEdges: 30\nNode types: {'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_feedback_general': 1, 'build_install_failure': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'unlinked_human_feedback': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-0642cffea07ffc16", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 330939, "scanner": "foundry_dataset", "fingerprint": "583241dac5b17682b3820c1209708ab666018327c085e251c4ad5c7f0a16fc37", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"api_or_backend": 1, "docs_or_claims": 1, "schema_or_data": 1, "source_or_other": 5, "dependency_or_build": 2, "build_install_failure": 1, "partial blueprint fit": 1, "verification_or_tests": 7, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_alignment": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 6, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 70, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 9, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 9, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "comment_chain_touches_file": 18, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 35, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 2, "pr_file": 9, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#10", "issue_number": "10", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-4756ec3368a51132", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"api_or_backend": 5, "docs_or_claims": 5, "schema_or_data": 5, "source_or_other": 25, "dependency_or_build": 5}}, "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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#10\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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#10\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#10\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 10\nGraph consistency label: supported_by_verification_signal\nNodes: 35\nEdges: 70\nNode types: {'pr_file': 9, 'commit': 8, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 18, 'comment_chain_links_commit': 10, 'thread_touches_file': 9, 'issue_chain_touches_file': 9, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 7, 'source_or_other': 5, 'ambiguous_needs_more_evidence': 3, 'dependency_or_build': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'build_install_failure': 1, 'docs_or_claims': 1, 'api_or_backend': 1, 'schema_or_data': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-2d253b321902bd19", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 330938, "scanner": "foundry_dataset", "fingerprint": "e4b094e62bd25e76e905d7e90cdd5366f70656031a3cb7c50d210823b45dca73", "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": {"partial blueprint fit": 1, "positive_human_signal": 2, "data_schema_persistence": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_alignment": 2, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 2, "positive_feedback_no_linked_change": 2, "human_positive_or_acceptance_signal": 2, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 8, "human_positive_or_acceptance_signal": 4}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 42, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 4, "alignment_uses_finding": 4, "chain_has_link_quality": 10, "comment_aligns_finding": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 28, "node_types": {"repo": 1, "thread": 1, "comment": 4, "alignment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 10, "comment_chain": 4, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#1", "issue_number": "1", "quality_tiers": {"unresolved": 6, "assumption_check": 4}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-543ab26e1b63f51b", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#1\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#1\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#1\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 1\nGraph consistency label: assumption_check\nNodes: 28\nEdges: 42\nNode types: {'link_quality': 10, 'comment': 4, 'comment_chain': 4, 'alignment': 4, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 10, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'alignment_uses_comment': 4, 'alignment_uses_finding': 4, 'comment_aligns_finding': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'data_schema_persistence': 2, 'positive_human_signal': 2, 'human_reported_issue_no_linked_fix': 2, 'positive_feedback_no_linked_change': 2, 'human_positive_or_acceptance_signal': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'partial blueprint fit': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'human_positive_or_acceptance_signal': 4}\nQuality tiers: {'unresolved': 6, 'assumption_check': 4}\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/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-c42b325ea575ca52", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 322728, "scanner": "foundry_dataset", "fingerprint": "bc3384dbef3ca2181df646e62417c618071bcc7cafd75211ff58bb7b7606c92e", "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": "sdsrss/claude-mem-lite#7", "human_labels": ["api_or_backend", "dependency_or_build", "docs_or_claims", "mock_placeholder", "schema_or_data", "security_auth_secret", "source_or_other", "test_or_ci"], "issue_number": "7", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.58, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-d7aad22020d5ca34", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 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": 2, "docs_or_claims": 1, "schema_or_data": 1, "source_or_other": 10, "dependency_or_build": 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_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#7\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: sdsrss/claude-mem-lite#7\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 19\nLabels: {'security_auth_secret': 1, 'mock_placeholder': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'docs_or_claims': 1, 'source_or_other': 10, 'dependency_or_build': 1, 'schema_or_data': 1, 'api_or_backend': 2, 'test_or_ci': 4}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-362b717216064ccf\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/7\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: sdsrss (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/7\\nTitle: refactor: architecture audit improvements (Phase 1+2)\\nBody:\\n## Summary\\n\\n- **FTS5 lesson_learned indexing**: Add `lesson_learned` to observations FTS5 index (weight 8) with auto-migration, making the most actionable field in the system full-text searchable\\n- **BM25 constant centralization**: Extract `OBS_BM25`, `SESS_BM25`, `TYPE_DECAY_CASE` as shared exports from `utils.mjs`, eliminating 25+ duplicate occurrences across 12 files\\n- **Cross-source score normalization**: Normalize obs/session/prompt scores to [-1,0] before merging in `mem_search`, preventing observations from systematically outranking other sources\\n- **Recency decay unification**: Standardize to exponential half-life formula everywhere (hook-context.mjs was using hyperbolic decay, inconsistent with server.mjs)\\n- **Dual injection dedup**: Coordinate user-prompt-search.js and handleUserPrompt via temp file to prevent duplicate memory injection\\n- **Quick fixes**: PRF token threshold >=3 (captures aws/git/sql), cold-start/zombie mutual e\"\n  },\n  {\n    \"id\": \"github-feedback-comment-8df699f312e732ea\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/7#issuecomment-4102775696\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: sdsrss/claude-mem-lite\\nAuthor: coderabbitai[bot] (Bot)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/7#issuecomment-4102775696\\nTitle: \\nBody:\\n<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\\n<!-- Th\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-bad_chains-b22bacc4d20618e2", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 322727, "scanner": "foundry_dataset", "fingerprint": "9f130525071e6c99e4b73d3d5ea20938b0b55421188319d2d6a041e5d7d0da7b", "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": "sdsrss/claude-mem-lite#6", "human_labels": ["agent_instruction_gap", "api_or_backend", "docs_or_claims", "source_or_other"], "issue_number": "6", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "self_attested_unverified", "source_backed": true, "max_confidence": 0.59, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-9352540144bff4f7", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 5, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"api_or_backend": 1, "docs_or_claims": 1, "source_or_other": 3}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#6\nOutcome: self_attested_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: sdsrss/claude-mem-lite#6\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_and_fix_context\nOutcome: self_attested_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 5\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 1, 'source_or_other': 3, 'api_or_backend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c2c3596a3f3edf7e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/6\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: sdsrss (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/6\\nTitle: fix(registry): complete resource metadata \u2014 100% field coverage\\nBody:\\n## Summary\\n- Add `deriveInvocationName()` for automatic invocation name derivation from resource naming conventions\\n- Extend `reindexKnownResources()` to sync `keywords`, `tech_stack`, `use_cases` from metadata to DB\\n- Fix agent recommendation rendering to use `invocation_name` instead of raw `name` in `server.mjs` and `dispatch-inject.mjs`\\n- Add 19 missing resource metadata entries (code-graph-mcp skills, built-in agents, MCP servers, GSD resources)\\n- Add invocation_name backfill step for existing empty records in `registerVirtualResources()`\\n\\n**Before \u2192 After:**\\n| Metric | Before | After |\\n|--------|--------|-------|\\n| invocation_name filled | 9% (49/545) | **100%** (564/564) |\\n| keywords filled | 0% (0/545) | **100%** (564/564) |\\n| Skill coverage | 85% (46/54) | **100%** (54/54) |\\n| Agent coverage | 53% (8/15) | **100%** (15/15) |\\n| MCP tool coverage | 88% (22/25) | **100%** (25/25) |\\n\\n## Test plan\\n- [x] All 30 test files pa\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-4a3b19bbfffda9be\",\n    \"filename\": \"CLAUDE.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 9,\n    \"deletions\": 6,\n    \"changes\": 15,\n    \"blob_url\": \"https://github.com/sdsrss/claude-mem-lite/blob/e99cece42ac3c194928afc52efc382c3758e04f1/CLAUDE.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-1399a4280a8496c3\",\n    \"filename\": \"dispatch-inject.mjs\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 2,\n    \"changes\": 4,\n    \"blob_url\": \"https://github.com/sdsrss/claude-mem-lite/blob/e99cece42ac3c194928afc52efc382c3758e04f1/dispatch-injec\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-bad_chains-495edc364943e0b1", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 322726, "scanner": "foundry_dataset", "fingerprint": "3ec37989ecfc6b4de6ea1bbde34df6257c06cc25618af927971fde0f1e2964df", "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": "sdsrss/claude-mem-lite#4", "human_labels": ["agent_instruction_gap", "docs_or_claims", "source_or_other"], "issue_number": "4", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-1524b767e2e7414c", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"docs_or_claims": 1, "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"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#4\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: sdsrss/claude-mem-lite#4\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 1, 'source_or_other': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-54a367c7b0e8dd76\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/pull/4\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: sdsrss (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/pull/4\\nTitle: fix(install): stop clearing marketplace .mcp.json to prevent MCP server loss\\nBody:\\n## Summary\\n- **Root cause**: `install.mjs` was deleting the MCP server definition from the marketplace clone's `.mcp.json` during dedup (lines 282-295)\\n- **Impact**: Claude Code copies from marketplace clone \u2192 plugin cache on updates, so the cleared `.mcp.json` propagated to cache, causing the plugin's MCP server (`plugin:*:mem`) to disappear entirely\\n- **Fix**: Removed the marketplace `.mcp.json` clearing code \u2014 dedup is already handled by skipping `claude mcp add` when the plugin system is active\\n\\n## Test plan\\n- [x] All 30 test files pass (1133 tests)\\n- [ ] Restart Claude Code and verify `plugin:claude-mem-lite:mem` MCP server is present\\n- [ ] Run `node install.mjs` and confirm marketplace `.mcp.json` is not modified\\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-79411a8d9ef3e96d\",\n    \"filename\": \"CLAUDE.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 6,\n    \"changes\": 12,\n    \"blob_url\": \"https://github.com/sdsrss/claude-mem-lite/blob/5aca31245bb2f65e29a460ce2fc7b4ad84024f9b/CLAUDE.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-6109ec25ad617e47\",\n    \"filename\": \"install.mjs\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 7,\n    \"deletions\": 18,\n    \"changes\": 25,\n    \"blob_url\": \"https://github.com/sdsrss/claude-mem-lite/blob/5aca31245bb2f65e29a460ce2fc7b4ad84024f9b/install.mjs\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-7ef947aeaf6af4fb\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: sdsrss/claude-mem-l\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-bad_chains-6c1bba6924139d9b", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 322725, "scanner": "foundry_dataset", "fingerprint": "5c2594e215d322a283053b1caf4e70c39b54bbd5750ad51adbcffd4d028b2aa6", "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": "sdsrss/claude-mem-lite#1", "human_labels": ["data_schema_persistence", "positive_human_signal"], "issue_number": "1", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-0a516aa8ec4bd59e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 2}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 2, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#1\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: sdsrss/claude-mem-lite#1\nRepo: sdsrss/claude-mem-lite\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 4\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 2, 'positive_human_signal': 2}\nPolarities: {'bad': 2, 'good': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8510eaa328d20d3a\",\n    \"kind\": \"issue_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/issues/1\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_body\\nRepo: sdsrss/claude-mem-lite\\nAuthor: shanemca (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/issues/1\\nTitle: Failed to parse marketplace file\\nBody:\\n1. Launched claude\\n2. Pasted the command from the installation instructions\\n3. Received error as below.\\n\\n    \u273b\\n    |\\n   \u259f\u2588\u2599     Claude Code v2.1.49\\n \u2590\u259b\u2588\u2588\u2588\u259c\u258c   Opus 4.6 \u00b7 Claude Max\\n\u259d\u259c\u2588\u2588\u2588\u2588\u2588\u259b\u2598  ~/Development/zzzzz\\n  \u2598\u2598 \u259d\u259d\\n\\n\u276f /plugin marketplace add sdsrss/claude-mem-lite                                                                                                                                                                                                                                                                           \\n  \u23bf  Error: Failed to parse marketplace file at /Users/zzzz/.claude/plugins/marketplaces/sdsrss-claude-mem-lite/.claude-plugin/marketplace.json: Invalid schema: /Users/zzzz/.claude/plugins/marketplaces/sdsrss-claude-mem-lite/.claude-plugin/marketplace.json plugins.0.source: Invalid input                   \\n\\n\\nClaude Code v2.1.49, macOS Sequoia 15.7.3, Apple M1 Pro\\n\\nTrying from the command line itself does the same:\\n\\nzzzz@zzzz-MacBook\"\n  },\n  {\n    \"id\": \"github-feedback-comment-55f6f187eee1d493\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/sdsrss/claude-mem-lite/issues/1#issuecomment-4011166510\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_comment\\nRepo: sdsrss/claude-mem-lite\\nAuthor: mPanasiewicz (User)\\nURL: https://github.com/sdsrss/claude-mem-lite/issues/1#issuecomment-4011166510\\nTitle: \\nBody:\\nSame error. getting an error:\\n\\n```\\nError: Failed to parse marketplace file at /Users/xxxxxx/.claude/plugins/marketplaces/sdsrss-claude-mem-lite/.claude-plugi\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "comment-chain-pattern-bad_chains-da62d37436d35aaf", "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": "sdsrss/claude-mem-lite", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 327117, "scanner": "foundry_dataset", "fingerprint": "9db35e9addcbaea1a325959cddd775ac073e9189b7116c4ce209d84381ffda84", "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, "api_or_backend": 2, "docs_or_claims": 1, "schema_or_data": 1, "source_or_other": 10, "mock_placeholder": 1, "dependency_or_build": 1, "security_auth_secret": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 8}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 74, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 19, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 33, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "pr_file": 19, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#7", "issue_number": "7", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e646f19c6e1f8f65", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 20, "api_or_backend": 10, "docs_or_claims": 5, "schema_or_data": 5, "source_or_other": 50, "dependency_or_build": 5}}, "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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#7\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#7\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#7\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 7\nGraph consistency label: weak_supervision_needs_review\nNodes: 33\nEdges: 74\nNode types: {'pr_file': 19, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 24, 'thread_touches_file': 19, 'issue_chain_touches_file': 12, 'chain_has_link_quality': 4, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'source_or_other': 10, 'test_or_ci': 4, 'claimed_resolved_unverified': 4, 'api_or_backend': 2, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'mock_placeholder': 1, 'docs_or_claims': 1, 'dependency_or_build': 1, 'schema_or_data': 1, 'bug_fix': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_unverified': 8}\nQuality tiers: {'weak_supervision': 4}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-7832b72b983144f8", "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": "sdsrss/claude-mem-lite", "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: sdsrss/claude-mem-lite"}, "properties": {"repobilityId": 327116, "scanner": "foundry_dataset", "fingerprint": "1d9dab83983fbe92712311133f8b44df744b0e4ccfd0e31e3960c98b28ec4e90", "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": {"api_or_backend": 1, "docs_or_claims": 1, "source_or_other": 3, "generated_provenance": 2, "agent_instruction_gap": 1, "self_attested_unverified": 3, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "self_attested_or_generated_fix_unverified": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"self_attested_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 28, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 5, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 5, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "comment_chain_touches_file": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 16, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "pr_file": 5, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "sdsrss/claude-mem-lite#6", "issue_number": "6", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "sdsrss/claude-mem-lite", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f7e82eeb72f4c958", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"api_or_backend": 4, "docs_or_claims": 4, "source_or_other": 12}}, "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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#6\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: sdsrss/claude-mem-lite\nThread: sdsrss/claude-mem-lite#6\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: sdsrss/claude-mem-lite#6\nRepo: sdsrss/claude-mem-lite\nIssue/PR number: 6\nGraph consistency label: weak_supervision_needs_review\nNodes: 16\nEdges: 28\nNode types: {'pr_file': 5, 'link_quality': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 5, 'comment_chain_touches_file': 5, 'issue_chain_touches_file': 5, 'chain_has_link_quality': 3, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'source_or_other': 3, 'self_attested_unverified': 3, 'generated_provenance': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'docs_or_claims': 1, 'api_or_backend': 1, 'self_attested_or_generated_fix_unverified': 1}\nOutcomes: {'self_attested_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/sdsrss/claude-mem-lite", "source_id": "graph-query-motif_query-cd475ddd45711648", "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": "sdsrss/claude-mem-lite", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-0a20649587c32daf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/pre-skill-bridge.js:87"}, "properties": {"repobilityId": "f324d9c8466bf2e7", "scanner": "scanner-primary", "fingerprint": "0a20649587c32daf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-eceb0f49773bb781", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hook-update.mjs:5"}, "properties": {"repobilityId": "40e18c0c9d16e58e", "scanner": "scanner-primary", "fingerprint": "eceb0f49773bb781", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hook-update.mjs"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-4e4e757d0347b95c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in haiku-client.mjs:8"}, "properties": {"repobilityId": "409151f9affbf9fc", "scanner": "scanner-primary", "fingerprint": "4e4e757d0347b95c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "haiku-client.mjs"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-b65d989a25191db1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in install.mjs:4"}, "properties": {"repobilityId": "7b2c9d4ac1cf509c", "scanner": "scanner-primary", "fingerprint": "b65d989a25191db1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "install.mjs"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-a1388918d1ca2189", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hook-shared.mjs:4"}, "properties": {"repobilityId": "9315e2598550a0f5", "scanner": "scanner-primary", "fingerprint": "a1388918d1ca2189", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hook-shared.mjs"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-3b4036c16d2f9efe", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in utils.mjs:6"}, "properties": {"repobilityId": "ce20bc9adea1a2fe", "scanner": "scanner-primary", "fingerprint": "3b4036c16d2f9efe", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "utils.mjs"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-f6e52d9494aa62e3", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/hook-launcher.mjs:22"}, "properties": {"repobilityId": "439df0d7fa772497", "scanner": "scanner-primary", "fingerprint": "f6e52d9494aa62e3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/hook-launcher.mjs"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-b53a948a983a3732", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/launch.mjs:4"}, "properties": {"repobilityId": "051da1fe322435f0", "scanner": "scanner-primary", "fingerprint": "b53a948a983a3732", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/launch.mjs"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-bd67096e995fea46", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in lib/binding-probe.mjs:9"}, "properties": {"repobilityId": "ae7ac500ae04fa8f", "scanner": "scanner-primary", "fingerprint": "bd67096e995fea46", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/binding-probe.mjs"}, "region": {"startLine": 9}}}]}, {"ruleId": "scanner-6c008c92127915e6", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in lib/git-state.mjs:5"}, "properties": {"repobilityId": "8b9e508de603b997", "scanner": "scanner-primary", "fingerprint": "6c008c92127915e6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/git-state.mjs"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-e2a2a86afd28ebd5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in benchmark/efficacy-observational.mjs:29"}, "properties": {"repobilityId": "bf1d72b15f93a23e", "scanner": "scanner-primary", "fingerprint": "e2a2a86afd28ebd5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "benchmark/efficacy-observational.mjs"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-4eb25cafa1c31d77", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in benchmark/ci-gate.mjs:10"}, "properties": {"repobilityId": "a6b34a094013b96e", "scanner": "scanner-primary", "fingerprint": "4eb25cafa1c31d77", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "benchmark/ci-gate.mjs"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-48703d91944e285e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in benchmark/efficacy-harness.mjs:42"}, "properties": {"repobilityId": "3a22f93c62dffd1d", "scanner": "scanner-primary", "fingerprint": "48703d91944e285e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "benchmark/efficacy-harness.mjs"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-c1aec29dc3666e3e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in experiment/lib/real-deps.mjs:8"}, "properties": {"repobilityId": "2db98802d1876d55", "scanner": "scanner-primary", "fingerprint": "c1aec29dc3666e3e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "experiment/lib/real-deps.mjs"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8fb57e9e0362cf03", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-a53bf972e19b52fd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "28362b78cd1447c7", "scanner": "scanner-primary", "fingerprint": "a53bf972e19b52fd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publish.yml"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-7ffa33751be3d771", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "491a3ad29cbaf189", "scanner": "scanner-primary", "fingerprint": "7ffa33751be3d771", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publish.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f5a11e29761be279", "level": "note", "message": {"text": "Very large file: hook-llm.mjs (1083 lines)"}, "properties": {"repobilityId": "65d6c79c386392a7", "scanner": "scanner-primary", "fingerprint": "f5a11e29761be279", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2f8579e9fb4d7dc2", "level": "note", "message": {"text": "Very large file: install-metadata.mjs (2072 lines)"}, "properties": {"repobilityId": "80e1c09fabbc53f1", "scanner": "scanner-primary", "fingerprint": "2f8579e9fb4d7dc2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a58a0ecf08f873e1", "level": "note", "message": {"text": "Very large file: server.mjs (1928 lines)"}, "properties": {"repobilityId": "7abcc1c187091667", "scanner": "scanner-primary", "fingerprint": "a58a0ecf08f873e1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0ad628ebbb2c770a", "level": "note", "message": {"text": "Very large file: hook.mjs (1447 lines)"}, "properties": {"repobilityId": "14bb58a83cf0cc95", "scanner": "scanner-primary", "fingerprint": "0ad628ebbb2c770a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-23d6095f23608915", "level": "note", "message": {"text": "Very large file: mem-cli.mjs (2826 lines)"}, "properties": {"repobilityId": "81840fd5e86b8d1d", "scanner": "scanner-primary", "fingerprint": "23d6095f23608915", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d0911cbe14fe3739", "level": "note", "message": {"text": "Very large file: install.mjs (2082 lines)"}, "properties": {"repobilityId": "c2c464569c4f8e1f", "scanner": "scanner-primary", "fingerprint": "d0911cbe14fe3739", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a81fa5ef88ab72e6", "level": "note", "message": {"text": "Very large file: tests/user-prompt-search.test.mjs (1379 lines)"}, "properties": {"repobilityId": "91e792f9277e818c", "scanner": "scanner-primary", "fingerprint": "a81fa5ef88ab72e6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cfae7ad1d1766f5e", "level": "note", "message": {"text": "Very large file: tests/handoff.test.mjs (1125 lines)"}, "properties": {"repobilityId": "d7f7337468ce9374", "scanner": "scanner-primary", "fingerprint": "cfae7ad1d1766f5e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2d0cf9791b74a828", "level": "note", "message": {"text": "Very large file: tests/server.test.mjs (1750 lines)"}, "properties": {"repobilityId": "68c343ec1e1c984e", "scanner": "scanner-primary", "fingerprint": "2d0cf9791b74a828", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-000c559f6722be09", "level": "note", "message": {"text": "Very large file: tests/audit-fixes.test.mjs (1420 lines)"}, "properties": {"repobilityId": "20adb1dea6dbd4f5", "scanner": "scanner-primary", "fingerprint": "000c559f6722be09", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-97d2c978a1cb0bbd", "level": "note", "message": {"text": "Very large file: tests/integration-scenarios.test.mjs (1318 lines)"}, "properties": {"repobilityId": "06c2ad9f84fb18df", "scanner": "scanner-primary", "fingerprint": "97d2c978a1cb0bbd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3bf936c6aa3f4faf", "level": "note", "message": {"text": "Very large file: tests/cli.test.mjs (2575 lines)"}, "properties": {"repobilityId": "b2e020fef4b3cd23", "scanner": "scanner-primary", "fingerprint": "3bf936c6aa3f4faf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-05f2836af17f3672", "level": "note", "message": {"text": "Very large file: tests/e2e.test.mjs (1654 lines)"}, "properties": {"repobilityId": "770997dffd0ccea1", "scanner": "scanner-primary", "fingerprint": "05f2836af17f3672", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-54774e7f68846193", "level": "note", "message": {"text": "Very large file: tests/utils.test.mjs (1479 lines)"}, "properties": {"repobilityId": "3e9acf6adf83d76c", "scanner": "scanner-primary", "fingerprint": "54774e7f68846193", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c8b0d7b5a044d509", "level": "note", "message": {"text": "Very large file: tests/hook-llm.test.mjs (1762 lines)"}, "properties": {"repobilityId": "803796b2213df797", "scanner": "scanner-primary", "fingerprint": "c8b0d7b5a044d509", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a3b9ce898360b1ae", "level": "note", "message": {"text": "Very large file: tests/pre-tool-recall.test.mjs (1443 lines)"}, "properties": {"repobilityId": "303ec8f8f1477bd0", "scanner": "scanner-primary", "fingerprint": "a3b9ce898360b1ae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "4f1821af639e8fa1", "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": "0d5961b105d2abfb", "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": "992806b1dc0528bf", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "342dfb865aa5b4cc", "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": "36f96c6889df7dd2", "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-37138301da788a8a", "level": "none", "message": {"text": "Commented-code block (5 lines) in schema.mjs:16"}, "properties": {"repobilityId": "f7fc466a5d06e5c7", "scanner": "scanner-primary", "fingerprint": "37138301da788a8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a317c359e027bfe3", "level": "none", "message": {"text": "Commented-code block (5 lines) in project-utils.mjs:17"}, "properties": {"repobilityId": "8e0b0faf96369a30", "scanner": "scanner-primary", "fingerprint": "a317c359e027bfe3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dcfd125afce7760e", "level": "none", "message": {"text": "Commented-code block (5 lines) in memdir.mjs:4"}, "properties": {"repobilityId": "6ef3856bd66711be", "scanner": "scanner-primary", "fingerprint": "dcfd125afce7760e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b3e65697e2eeee3", "level": "none", "message": {"text": "Commented-code block (5 lines) in nlp.mjs:238"}, "properties": {"repobilityId": "8ad92ec70fd08349", "scanner": "scanner-primary", "fingerprint": "8b3e65697e2eeee3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1518f3477ad4fb90", "level": "none", "message": {"text": "Commented-code block (8 lines) in hook-handoff.mjs:35"}, "properties": {"repobilityId": "168a037426b6d102", "scanner": "scanner-primary", "fingerprint": "1518f3477ad4fb90", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5801e5d29df193f6", "level": "none", "message": {"text": "Commented-code block (16 lines) in secret-scrub.mjs:11"}, "properties": {"repobilityId": "66b0e35cc67eb625", "scanner": "scanner-primary", "fingerprint": "5801e5d29df193f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c61a9688da6e6e47", "level": "none", "message": {"text": "Commented-code block (6 lines) in hook-precompact.mjs:1"}, "properties": {"repobilityId": "0040221d284110c7", "scanner": "scanner-primary", "fingerprint": "c61a9688da6e6e47", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-411f50850e49f537", "level": "none", "message": {"text": "Commented-code block (5 lines) in hook-optimize.mjs:275"}, "properties": {"repobilityId": "a2d868b1180766da", "scanner": "scanner-primary", "fingerprint": "411f50850e49f537", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a2c8d1c5fce8f3b7", "level": "none", "message": {"text": "Commented-code block (6 lines) in hook-llm.mjs:50"}, "properties": {"repobilityId": "4223098459b2aa65", "scanner": "scanner-primary", "fingerprint": "a2c8d1c5fce8f3b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ccc054a05c7bcbf", "level": "none", "message": {"text": "Commented-code block (6 lines) in hook-memory.mjs:22"}, "properties": {"repobilityId": "391ce656f45baf88", "scanner": "scanner-primary", "fingerprint": "0ccc054a05c7bcbf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3456f35d8453f291", "level": "none", "message": {"text": "Commented-code block (5 lines) in source-files.mjs:1"}, "properties": {"repobilityId": "77fee12eb5b2ec64", "scanner": "scanner-primary", "fingerprint": "3456f35d8453f291", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc8a813e68589386", "level": "none", "message": {"text": "Commented-code block (9 lines) in cli.mjs:17"}, "properties": {"repobilityId": "657587aabf544e02", "scanner": "scanner-primary", "fingerprint": "bc8a813e68589386", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-48e0168731332ec0", "level": "none", "message": {"text": "Commented-code block (6 lines) in server.mjs:267"}, "properties": {"repobilityId": "439eafec7972f549", "scanner": "scanner-primary", "fingerprint": "48e0168731332ec0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f2be652c1c0296fd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server.mjs:522"}, "properties": {"repobilityId": "eb98f14fc745e89f", "scanner": "scanner-primary", "fingerprint": "f2be652c1c0296fd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-494853c144d793bb", "level": "none", "message": {"text": "Commented-code block (6 lines) in registry-scanner.mjs:23"}, "properties": {"repobilityId": "4ee7dbed1de86bee", "scanner": "scanner-primary", "fingerprint": "494853c144d793bb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac906e349ab1a028", "level": "none", "message": {"text": "Commented-code block (5 lines) in synonyms.mjs:268"}, "properties": {"repobilityId": "067f9be9d816dc81", "scanner": "scanner-primary", "fingerprint": "ac906e349ab1a028", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-672249d0abc70d5d", "level": "none", "message": {"text": "Commented-code block (7 lines) in tool-schemas.mjs:53"}, "properties": {"repobilityId": "e90e6aea75a51dd6", "scanner": "scanner-primary", "fingerprint": "672249d0abc70d5d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94bce8e056afc8e1", "level": "none", "message": {"text": "Commented-code block (6 lines) in search-engine.mjs:1"}, "properties": {"repobilityId": "277ceefb2e403342", "scanner": "scanner-primary", "fingerprint": "94bce8e056afc8e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-249e37a7a9c7e84d", "level": "none", "message": {"text": "Commented-code block (13 lines) in hook.mjs:7"}, "properties": {"repobilityId": "9c3bbf58f164453a", "scanner": "scanner-primary", "fingerprint": "249e37a7a9c7e84d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f47084e26870537a", "level": "none", "message": {"text": "Commented-code block (5 lines) in hook-update.mjs:119"}, "properties": {"repobilityId": "1a0bab18a482f75b", "scanner": "scanner-primary", "fingerprint": "f47084e26870537a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92fde3a3a00c8bbe", "level": "note", "message": {"text": "Legacy-named symbol `hasOld` in registry.mjs:205"}, "properties": {"repobilityId": "c5b7a92ddf91ebbd", "scanner": "scanner-primary", "fingerprint": "92fde3a3a00c8bbe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-65670c9b8a9c84c2", "level": "none", "message": {"text": "Commented-code block (5 lines) in mem-cli.mjs:125"}, "properties": {"repobilityId": "d37a705eab5201e5", "scanner": "scanner-primary", "fingerprint": "65670c9b8a9c84c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f0d39091025ec0cd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 mem-cli.mjs:680"}, "properties": {"repobilityId": "e71d8b3ac65d51f5", "scanner": "scanner-primary", "fingerprint": "f0d39091025ec0cd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a922d0fb61996f4b", "level": "none", "message": {"text": "Commented-code block (6 lines) in scoring-sql.mjs:132"}, "properties": {"repobilityId": "e3be7d90eebc638c", "scanner": "scanner-primary", "fingerprint": "a922d0fb61996f4b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd965694979879b9", "level": "none", "message": {"text": "Commented-code block (6 lines) in haiku-client.mjs:1"}, "properties": {"repobilityId": "12f26e037ba02985", "scanner": "scanner-primary", "fingerprint": "bd965694979879b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b346251f762a3b3e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 haiku-client.mjs:275"}, "properties": {"repobilityId": "b8b4d5ee686f004f", "scanner": "scanner-primary", "fingerprint": "b346251f762a3b3e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c93e1444f38d3dee", "level": "none", "message": {"text": "Commented-code block (5 lines) in install.mjs:18"}, "properties": {"repobilityId": "85957e4d17d1fc8d", "scanner": "scanner-primary", "fingerprint": "c93e1444f38d3dee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a8dfc3c26ffa8a2", "level": "none", "message": {"text": "Commented-code block (6 lines) in adopt-cli.mjs:5"}, "properties": {"repobilityId": "5776b9ad3c7659fd", "scanner": "scanner-primary", "fingerprint": "1a8dfc3c26ffa8a2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e9922a832ad66bd", "level": "none", "message": {"text": "Commented-code block (6 lines) in hook-shared.mjs:31"}, "properties": {"repobilityId": "85b852b4e287f49b", "scanner": "scanner-primary", "fingerprint": "6e9922a832ad66bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b79dcf0b62866535", "level": "none", "message": {"text": "Commented-code block (6 lines) in utils.mjs:96"}, "properties": {"repobilityId": "43a95f52fc10abe1", "scanner": "scanner-primary", "fingerprint": "b79dcf0b62866535", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88e69adb8206cef7", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry-retriever.mjs:11"}, "properties": {"repobilityId": "1e91290b1343d2c9", "scanner": "scanner-primary", "fingerprint": "88e69adb8206cef7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6cc8f846b5b57f07", "level": "none", "message": {"text": "Commented-code block (5 lines) in bash-utils.mjs:16"}, "properties": {"repobilityId": "ac8d98524f787c9a", "scanner": "scanner-primary", "fingerprint": "6cc8f846b5b57f07", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7906b2632eb424e", "level": "none", "message": {"text": "Commented-code block (6 lines) in hook-context.mjs:179"}, "properties": {"repobilityId": "c9730483a895218a", "scanner": "scanner-primary", "fingerprint": "e7906b2632eb424e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7aa30a0371a41bdc", "level": "none", "message": {"text": "Commented-code block (5 lines) in server-internals.mjs:8"}, "properties": {"repobilityId": "556d0002f21cb845", "scanner": "scanner-primary", "fingerprint": "7aa30a0371a41bdc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a3a88f1f48b60044", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry-importer.mjs:89"}, "properties": {"repobilityId": "780fcd222db5ba34", "scanner": "scanner-primary", "fingerprint": "a3a88f1f48b60044", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fdf2ba3a3772bd10", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/cite-back-hint.test.mjs:5"}, "properties": {"repobilityId": "a9a75e5bb817c767", "scanner": "scanner-primary", "fingerprint": "fdf2ba3a3772bd10", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-65c3291128279dfe", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/import-jsonl.test.mjs:57"}, "properties": {"repobilityId": "6c493c52ac58ea22", "scanner": "scanner-primary", "fingerprint": "65c3291128279dfe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-955516ae3cd63925", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/haiku-client.test.mjs:658"}, "properties": {"repobilityId": "7b800cba0652f5b3", "scanner": "scanner-primary", "fingerprint": "955516ae3cd63925", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-42e13f2b2f185d18", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/install-lifecycle.test.mjs:342"}, "properties": {"repobilityId": "6f4fe8775a111d28", "scanner": "scanner-primary", "fingerprint": "42e13f2b2f185d18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7fa59730c0f90bdd", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/user-prompt-search.test.mjs:111"}, "properties": {"repobilityId": "9d5467b56f86a5cd", "scanner": "scanner-primary", "fingerprint": "7fa59730c0f90bdd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92b526126e53832e", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/git-state.test.mjs:8"}, "properties": {"repobilityId": "55bf37c93aec718d", "scanner": "scanner-primary", "fingerprint": "92b526126e53832e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0a2d8f5fffffe05", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/tool-visibility.test.mjs:1"}, "properties": {"repobilityId": "9c058a182a30a433", "scanner": "scanner-primary", "fingerprint": "a0a2d8f5fffffe05", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8295aaeda0970366", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/install-e2e.test.mjs:1"}, "properties": {"repobilityId": "ac7edd0de05c07f8", "scanner": "scanner-primary", "fingerprint": "8295aaeda0970366", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35f89101ffb14989", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/injection-tracking.test.mjs:3"}, "properties": {"repobilityId": "b76dc9b4b7e7a15e", "scanner": "scanner-primary", "fingerprint": "35f89101ffb14989", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62a24e6b847eb5ce", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/handoff-simulation.test.mjs:11"}, "properties": {"repobilityId": "6850b69b2ddab03b", "scanner": "scanner-primary", "fingerprint": "62a24e6b847eb5ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b35004f7dff7082", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/get-time-format.test.mjs:1"}, "properties": {"repobilityId": "509a89e584a3d376", "scanner": "scanner-primary", "fingerprint": "7b35004f7dff7082", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aaa78b46d92adc3e", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/source-files-sync.test.mjs:5"}, "properties": {"repobilityId": "46bbb812775deb12", "scanner": "scanner-primary", "fingerprint": "aaa78b46d92adc3e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-375ce2ae2b06bf8b", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/hooks-pretool-whitelist-sync.test.mjs:3"}, "properties": {"repobilityId": "3ed8462ec0aa8bee", "scanner": "scanner-primary", "fingerprint": "375ce2ae2b06bf8b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c61edd781a99563c", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/task-reader.test.mjs:3"}, "properties": {"repobilityId": "091b8d3c639511fa", "scanner": "scanner-primary", "fingerprint": "c61edd781a99563c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7dbfeddee89b024f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/citation-decay-userprompt-e2e.test.mjs:1"}, "properties": {"repobilityId": "d5d186379e15305b", "scanner": "scanner-primary", "fingerprint": "7dbfeddee89b024f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d11c70d6e4cb2201", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/search-core.test.mjs:10"}, "properties": {"repobilityId": "81c40888845c6a3a", "scanner": "scanner-primary", "fingerprint": "d11c70d6e4cb2201", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ddf9d32e83422202", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/err-sampler.test.mjs:1"}, "properties": {"repobilityId": "fa84de4da612a6ea", "scanner": "scanner-primary", "fingerprint": "ddf9d32e83422202", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-829f0c8bcb0a175c", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/cite-factor.test.mjs:7"}, "properties": {"repobilityId": "c49a2d120ed09c43", "scanner": "scanner-primary", "fingerprint": "829f0c8bcb0a175c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93ba2f1c9685047d", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/memory-inject.test.mjs:475"}, "properties": {"repobilityId": "67f57cd535e7bbe8", "scanner": "scanner-primary", "fingerprint": "93ba2f1c9685047d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8d28df1e2648fd01", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/hook-update.test.mjs:164"}, "properties": {"repobilityId": "720257123f80e88b", "scanner": "scanner-primary", "fingerprint": "8d28df1e2648fd01", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7a3225374981cd0", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/cli-defer.test.mjs:7"}, "properties": {"repobilityId": "69ef68b331241963", "scanner": "scanner-primary", "fingerprint": "f7a3225374981cd0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70d1f4f50b3774a6", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/adopt-cli.test.mjs:303"}, "properties": {"repobilityId": "6d72b1837124b206", "scanner": "scanner-primary", "fingerprint": "70d1f4f50b3774a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dfaa3ea519b38f0e", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/schema-fk-warmstart.test.mjs:3"}, "properties": {"repobilityId": "de807541b8c69806", "scanner": "scanner-primary", "fingerprint": "dfaa3ea519b38f0e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5114604bc042927", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/hook-semaphore.test.mjs:107"}, "properties": {"repobilityId": "c55832e0c3142141", "scanner": "scanner-primary", "fingerprint": "b5114604bc042927", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c1b8c252dab106be", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/audit-fixes.test.mjs:4"}, "properties": {"repobilityId": "e943e0f41e9edb89", "scanner": "scanner-primary", "fingerprint": "c1b8c252dab106be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca471d043e704e5f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/timeline-core.test.mjs:8"}, "properties": {"repobilityId": "c04af27e3b0c43e2", "scanner": "scanner-primary", "fingerprint": "ca471d043e704e5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c50c39347da80f79", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/tier.test.mjs:134"}, "properties": {"repobilityId": "51628e8a3f9b3d1e", "scanner": "scanner-primary", "fingerprint": "c50c39347da80f79", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-981da13908f29963", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/cjk-precision.test.mjs:3"}, "properties": {"repobilityId": "b92b1df2243eabb8", "scanner": "scanner-primary", "fingerprint": "981da13908f29963", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33120edfbe8496f5", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/cli-routing-contract.test.mjs:1"}, "properties": {"repobilityId": "591d885c7c9fc4ee", "scanner": "scanner-primary", "fingerprint": "33120edfbe8496f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f99a26bcffd4302a", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/timeline-anchor-or-fallback.test.mjs:4"}, "properties": {"repobilityId": "0587348f7fa52cdc", "scanner": "scanner-primary", "fingerprint": "f99a26bcffd4302a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa64d604972db7bf", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/mcp-tools-snapshot.test.mjs:1"}, "properties": {"repobilityId": "93a147ea601945fb", "scanner": "scanner-primary", "fingerprint": "fa64d604972db7bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a9e4c1db4fb61aa", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/cli.test.mjs:985"}, "properties": {"repobilityId": "69d76078611a9b35", "scanner": "scanner-primary", "fingerprint": "7a9e4c1db4fb61aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-518047fa528a84e1", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/e2e.test.mjs:57"}, "properties": {"repobilityId": "9cdadf44fc1e7485", "scanner": "scanner-primary", "fingerprint": "518047fa528a84e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-edd15248b684eae5", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/cli-flags.test.mjs:29"}, "properties": {"repobilityId": "60f02f93320defe0", "scanner": "scanner-primary", "fingerprint": "edd15248b684eae5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca1e31c96f75123b", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/registry-importer.test.mjs:250"}, "properties": {"repobilityId": "8d4e1db4b9762296", "scanner": "scanner-primary", "fingerprint": "ca1e31c96f75123b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-041f18b76ea19f7e", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/citation-tracker-userprompt.test.mjs:145"}, "properties": {"repobilityId": "babd167b6aed0970", "scanner": "scanner-primary", "fingerprint": "041f18b76ea19f7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-038bb30cafad8665", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/mcp-protocol.test.mjs:4"}, "properties": {"repobilityId": "d53ad55c511635db", "scanner": "scanner-primary", "fingerprint": "038bb30cafad8665", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93578042376785a7", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/doctor-benchmark.test.mjs:18"}, "properties": {"repobilityId": "6706e7be65806348", "scanner": "scanner-primary", "fingerprint": "93578042376785a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0cb84e80f6a5660", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/hook-optimize-project-filter.test.mjs:3"}, "properties": {"repobilityId": "6531cae9f90e9a26", "scanner": "scanner-primary", "fingerprint": "a0cb84e80f6a5660", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f1bfa97aee56e3c", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/registry-clone-plan.test.mjs:1"}, "properties": {"repobilityId": "dfddc0b3d8ffb2e5", "scanner": "scanner-primary", "fingerprint": "2f1bfa97aee56e3c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6464ecaeb4c80a6e", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/bash-utils-signif.test.mjs:3"}, "properties": {"repobilityId": "b5688b6c7b556b42", "scanner": "scanner-primary", "fingerprint": "6464ecaeb4c80a6e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-022438dceedaa1fd", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/memdir.test.mjs:358"}, "properties": {"repobilityId": "1c61a5b7da9081c1", "scanner": "scanner-primary", "fingerprint": "022438dceedaa1fd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-afd35d1b7d492e2d", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/hook-llm.test.mjs:335"}, "properties": {"repobilityId": "68a440551135f4f7", "scanner": "scanner-primary", "fingerprint": "afd35d1b7d492e2d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39be3d280e2382b3", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/benchmark-splits.test.mjs:1"}, "properties": {"repobilityId": "08099f2f9ae632a6", "scanner": "scanner-primary", "fingerprint": "39be3d280e2382b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05f094f0286c1189", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/schema-fts-rebuild.test.mjs:5"}, "properties": {"repobilityId": "25fa301f53ab1f1c", "scanner": "scanner-primary", "fingerprint": "05f094f0286c1189", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-546e96f8b129f979", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/session-invariant.test.mjs:3"}, "properties": {"repobilityId": "8bdcd79aafd5ca4f", "scanner": "scanner-primary", "fingerprint": "546e96f8b129f979", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-599347a81fd1425d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/low-signal-block.test.mjs:230"}, "properties": {"repobilityId": "888392facb07c22b", "scanner": "scanner-primary", "fingerprint": "599347a81fd1425d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e16f92804e35a4a", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/benchmark-baseline-age.test.mjs:1"}, "properties": {"repobilityId": "0c59dc2ba2d1d9d9", "scanner": "scanner-primary", "fingerprint": "8e16f92804e35a4a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea35994c6bdd1e05", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/install-ergonomics.test.mjs:34"}, "properties": {"repobilityId": "eef3ab01a49f03f6", "scanner": "scanner-primary", "fingerprint": "ea35994c6bdd1e05", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9de700971793d957", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/cli-e2e.test.mjs:176"}, "properties": {"repobilityId": "ce615cbd70113aba", "scanner": "scanner-primary", "fingerprint": "9de700971793d957", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dfb27a2ab0f03fd5", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/pre-tool-recall.test.mjs:12"}, "properties": {"repobilityId": "939cc2798fe11a48", "scanner": "scanner-primary", "fingerprint": "dfb27a2ab0f03fd5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a4f92066d41bc487", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/install-legacy-db-backup.test.mjs:1"}, "properties": {"repobilityId": "e50b6a1ff8d045dc", "scanner": "scanner-primary", "fingerprint": "a4f92066d41bc487", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d06a8ae506206827", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/maintain-core.test.mjs:1"}, "properties": {"repobilityId": "9d4af1aa40beecab", "scanner": "scanner-primary", "fingerprint": "d06a8ae506206827", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3504185d8efde447", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/quiet-hooks.test.mjs:1"}, "properties": {"repobilityId": "69eff9473963074e", "scanner": "scanner-primary", "fingerprint": "3504185d8efde447", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-612fde0247b5bedc", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/install-bsqlite-probe.test.mjs:1"}, "properties": {"repobilityId": "1bbabe1e93b7dd87", "scanner": "scanner-primary", "fingerprint": "612fde0247b5bedc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f47ad7902ebb053d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/hook-launcher.test.mjs:1"}, "properties": {"repobilityId": "162a729979d9540f", "scanner": "scanner-primary", "fingerprint": "f47ad7902ebb053d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-410a380628e72cb2", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/pre-skill-bridge.test.mjs:85"}, "properties": {"repobilityId": "8f5b3540a6352e32", "scanner": "scanner-primary", "fingerprint": "410a380628e72cb2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5264d4e46b310ec3", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/hook-launcher.mjs:4"}, "properties": {"repobilityId": "5ba20b3e39798733", "scanner": "scanner-primary", "fingerprint": "5264d4e46b310ec3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0e3a86e428a8211", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/user-prompt-search.js:18"}, "properties": {"repobilityId": "4eb71b03f704083b", "scanner": "scanner-primary", "fingerprint": "b0e3a86e428a8211", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e07ce37a58f513a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/pre-tool-recall.js:20"}, "properties": {"repobilityId": "c7cabcb501e58195", "scanner": "scanner-primary", "fingerprint": "2e07ce37a58f513a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9827c5cf69c776ee", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/launch.mjs:33"}, "properties": {"repobilityId": "3bc8bc27e9b93ac2", "scanner": "scanner-primary", "fingerprint": "9827c5cf69c776ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e24a482494642f2", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/pre-skill-bridge.js:14"}, "properties": {"repobilityId": "e9dd2a56864a4eaf", "scanner": "scanner-primary", "fingerprint": "7e24a482494642f2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa0b3e2d07ee34c2", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/prompt-search-utils.mjs:12"}, "properties": {"repobilityId": "2a62651f5f74e1c0", "scanner": "scanner-primary", "fingerprint": "fa0b3e2d07ee34c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bcdaa949d6ec404d", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/index-managed.mjs:18"}, "properties": {"repobilityId": "9693e1f4f1effbc3", "scanner": "scanner-primary", "fingerprint": "bcdaa949d6ec404d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad476b38c8a681b5", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/launch-preflight.mjs:3"}, "properties": {"repobilityId": "bf58208ebe22a4fc", "scanner": "scanner-primary", "fingerprint": "ad476b38c8a681b5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2dba93560082e34c", "level": "none", "message": {"text": "Commented-code block (5 lines) in cli/common.mjs:4"}, "properties": {"repobilityId": "2e6e2d415dff1418", "scanner": "scanner-primary", "fingerprint": "2dba93560082e34c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8d9c90366f1b0c5", "level": "none", "message": {"text": "Commented-code block (5 lines) in cli/activity.mjs:5"}, "properties": {"repobilityId": "2d0236e310092c2b", "scanner": "scanner-primary", "fingerprint": "b8d9c90366f1b0c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-291e1aec889dfa44", "level": "none", "message": {"text": "Commented-code block (5 lines) in cli/doctor.mjs:15"}, "properties": {"repobilityId": "2536f84f623aa15c", "scanner": "scanner-primary", "fingerprint": "291e1aec889dfa44", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04da0c1bfde601f4", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/err-sampler.mjs:3"}, "properties": {"repobilityId": "8c229b189609aa35", "scanner": "scanner-primary", "fingerprint": "04da0c1bfde601f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76ef58d4e538f189", "level": "none", "message": {"text": "Commented-code block (7 lines) in lib/task-reader.mjs:7"}, "properties": {"repobilityId": "2fa89fb3e4e2aa4a", "scanner": "scanner-primary", "fingerprint": "76ef58d4e538f189", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2cb19751a1905f38", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/binding-probe.mjs:3"}, "properties": {"repobilityId": "a56f8bc338dab6ec", "scanner": "scanner-primary", "fingerprint": "2cb19751a1905f38", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-205fecaf58ace6c6", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/doctor-drift.mjs:1"}, "properties": {"repobilityId": "61f39974e513bf3a", "scanner": "scanner-primary", "fingerprint": "205fecaf58ace6c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cea5d39ad647f143", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/upgrade-banner.mjs:1"}, "properties": {"repobilityId": "abe10a1cdbe65a71", "scanner": "scanner-primary", "fingerprint": "cea5d39ad647f143", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-79d5ab0247ea15c3", "level": "none", "message": {"text": "Commented-code block (10 lines) in lib/timeline-core.mjs:3"}, "properties": {"repobilityId": "7ce0a2eb2507f60f", "scanner": "scanner-primary", "fingerprint": "79d5ab0247ea15c3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f83c396079d19dfb", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/cli-flags.mjs:3"}, "properties": {"repobilityId": "7c6ad33fd1b5710f", "scanner": "scanner-primary", "fingerprint": "f83c396079d19dfb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f816d8260780833", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/cite-back-hint.mjs:49"}, "properties": {"repobilityId": "9990907a445a313d", "scanner": "scanner-primary", "fingerprint": "1f816d8260780833", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a93731e354df44c7", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/private-strip.mjs:12"}, "properties": {"repobilityId": "dedebfc43e40c426", "scanner": "scanner-primary", "fingerprint": "a93731e354df44c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-edced4b772fbb6d1", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/mem-override.mjs:1"}, "properties": {"repobilityId": "aa0044acdd1d10f5", "scanner": "scanner-primary", "fingerprint": "edced4b772fbb6d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-abf0ee7da4146eae", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/tmp-fixture-sweep.mjs:3"}, "properties": {"repobilityId": "12ab81f1b5e3ce9f", "scanner": "scanner-primary", "fingerprint": "abf0ee7da4146eae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-32b2c0008db6b420", "level": "none", "message": {"text": "Commented-code block (9 lines) in lib/compress-core.mjs:3"}, "properties": {"repobilityId": "0634134ba14e800c", "scanner": "scanner-primary", "fingerprint": "32b2c0008db6b420", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4648b333186609d3", "level": "none", "message": {"text": "Commented-code block (8 lines) in lib/maintain-core.mjs:1"}, "properties": {"repobilityId": "de40adab1fa4e3f0", "scanner": "scanner-primary", "fingerprint": "4648b333186609d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-855b0802c9318c3a", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/observation-write.mjs:1"}, "properties": {"repobilityId": "4046be72bd1f43dd", "scanner": "scanner-primary", "fingerprint": "855b0802c9318c3a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ea33487715e8199", "level": "none", "message": {"text": "Commented-code block (9 lines) in lib/search-core.mjs:4"}, "properties": {"repobilityId": "50c42322f9b9eec2", "scanner": "scanner-primary", "fingerprint": "1ea33487715e8199", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e63575ffb43b42a9", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/doctor-benchmark.mjs:1"}, "properties": {"repobilityId": "fc6b4b5df95d79a0", "scanner": "scanner-primary", "fingerprint": "e63575ffb43b42a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2dfff83b3011b954", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/import-jsonl.mjs:1"}, "properties": {"repobilityId": "d7440932ff646c1f", "scanner": "scanner-primary", "fingerprint": "2dfff83b3011b954", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c215c3eb566ad65", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/low-signal-patterns.mjs:8"}, "properties": {"repobilityId": "ee4b1df876986e03", "scanner": "scanner-primary", "fingerprint": "1c215c3eb566ad65", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47cf64ecbbc78a44", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/dedup-constants.mjs:3"}, "properties": {"repobilityId": "672f11506a8e523e", "scanner": "scanner-primary", "fingerprint": "47cf64ecbbc78a44", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16d16725636ecd1c", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/scrub-record.mjs:9"}, "properties": {"repobilityId": "7baef06b7c432ac1", "scanner": "scanner-primary", "fingerprint": "16d16725636ecd1c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86f8d24a2d2bb183", "level": "none", "message": {"text": "Commented-code block (9 lines) in lib/hook-telemetry.mjs:3"}, "properties": {"repobilityId": "2a3f57d7bec4ca7a", "scanner": "scanner-primary", "fingerprint": "86f8d24a2d2bb183", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-760b5881bc3be7f4", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/recall-core.mjs:1"}, "properties": {"repobilityId": "3a449dacd7f6e280", "scanner": "scanner-primary", "fingerprint": "760b5881bc3be7f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8943c41751d50a6b", "level": "none", "message": {"text": "Commented-code block (8 lines) in lib/citation-tracker.mjs:165"}, "properties": {"repobilityId": "19890d2275055558", "scanner": "scanner-primary", "fingerprint": "8943c41751d50a6b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76d47ebd55b1b388", "level": "none", "message": {"text": "Commented-code block (7 lines) in lib/metrics.mjs:7"}, "properties": {"repobilityId": "0799b3f4327ce6d0", "scanner": "scanner-primary", "fingerprint": "76d47ebd55b1b388", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a6c4077b21d06b9", "level": "none", "message": {"text": "Commented-code block (13 lines) in benchmark/efficacy-power.mjs:9"}, "properties": {"repobilityId": "b0ac2bdb96c87628", "scanner": "scanner-primary", "fingerprint": "0a6c4077b21d06b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-761352ccefc78537", "level": "none", "message": {"text": "Commented-code block (7 lines) in benchmark/efficacy-observational.mjs:10"}, "properties": {"repobilityId": "20bc509b6143d485", "scanner": "scanner-primary", "fingerprint": "761352ccefc78537", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c180e683281abb31", "level": "none", "message": {"text": "Commented-code block (5 lines) in benchmark/ci-gate.mjs:18"}, "properties": {"repobilityId": "87636e8150a8ef3b", "scanner": "scanner-primary", "fingerprint": "c180e683281abb31", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22f039fbb0b8636f", "level": "none", "message": {"text": "Commented-code block (6 lines) in benchmark/benchmark.mjs:86"}, "properties": {"repobilityId": "f9822e9c93c83f31", "scanner": "scanner-primary", "fingerprint": "22f039fbb0b8636f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6efa88be67e9d222", "level": "none", "message": {"text": "Commented-code block (5 lines) in benchmark/cite-recall.mjs:6"}, "properties": {"repobilityId": "639cd737629eb6d2", "scanner": "scanner-primary", "fingerprint": "6efa88be67e9d222", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f61fc12c76a4751", "level": "none", "message": {"text": "Commented-code block (8 lines) in benchmark/efficacy-harness.mjs:5"}, "properties": {"repobilityId": "1e8f669219643f16", "scanner": "scanner-primary", "fingerprint": "1f61fc12c76a4751", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9d2b78c80aede19f", "level": "none", "message": {"text": "Commented-code block (6 lines) in benchmark/cjk-straddle-prevalence.mjs:4"}, "properties": {"repobilityId": "a5250ffaf5a2ca80", "scanner": "scanner-primary", "fingerprint": "9d2b78c80aede19f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc999f82595f8a0d", "level": "none", "message": {"text": "Commented-code block (5 lines) in experiment/run-experiment.mjs:8"}, "properties": {"repobilityId": "4deb20fd9095a487", "scanner": "scanner-primary", "fingerprint": "fc999f82595f8a0d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99155d76eea8a6d1", "level": "none", "message": {"text": "Commented-code block (6 lines) in experiment/lib/real-deps.mjs:1"}, "properties": {"repobilityId": "feba9f7189ec1873", "scanner": "scanner-primary", "fingerprint": "99155d76eea8a6d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e031a441f1cac53f", "level": "none", "message": {"text": "Commented-code block (7 lines) in experiment/lib/arms.mjs:3"}, "properties": {"repobilityId": "764c62480e9037d0", "scanner": "scanner-primary", "fingerprint": "e031a441f1cac53f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72038f70d49bf5ce", "level": "none", "message": {"text": "Commented-code block (5 lines) in experiment/lib/runner.mjs:3"}, "properties": {"repobilityId": "62d2ef924928d80f", "scanner": "scanner-primary", "fingerprint": "72038f70d49bf5ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}