{"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: shhtheonlyperson/anyvoice", "shortDescription": {"text": "Foundry mined unresolved feedback: shhtheonlyperson/anyvoice"}, "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: assumption_check\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#9\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#9\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 23\nEdges: 44\nNode types: {'link_quality': 6, 'pr_file': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1,"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: shhtheonlyperson/anyvoice", "shortDescription": {"text": "Foundry mined blueprint gap alignment: shhtheonlyperson/anyvoice"}, "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: assumption_check\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#9\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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#9\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 23\nEdges: 44\nNode types: {'link_quality': 6, 'pr_file': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread'"}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: shhtheonlyperson/anyvoice", "shortDescription": {"text": "Foundry mined assumption checks: shhtheonlyperson/anyvoice"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#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_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: shhtheonlyperson/anyvoice#8\nRepo: shhtheonlyperson/anyvoice\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'test_ci_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9da715d6b6dd64cb\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"h"}, "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: shhtheonlyperson/anyvoice", "shortDescription": {"text": "Foundry mined test ci gap after feedback: shhtheonlyperson/anyvoice"}, "fullDescription": {"text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#8\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#8\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#8\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 8\nGraph consistency label: supported_by_high_confidence_link\nNodes: 24\nEdges: 38\nNode types: {'link_quality': 8, 'alignment': 4, 'comment': 2, 'comment_chain': 2, 'blueprint_finding'"}, "properties": {"scanner": "foundry_dataset", "category": "testing", "severity": "high", "confidence": 0.78, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: shhtheonlyperson/anyvoice", "shortDescription": {"text": "Foundry mined bad chains: shhtheonlyperson/anyvoice"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#9\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: shhtheonlyperson/anyvoice#9\nRepo: shhtheonlyperson/anyvoice\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 5\nLabels: {'api_integration_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 5}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-76a08207f8ebe03d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_ga"}, "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: shhtheonlyperson/anyvoice", "shortDescription": {"text": "Foundry mined mock as real or placeholder: shhtheonlyperson/anyvoice"}, "fullDescription": {"text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#5\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#5\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#5\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 5\nGraph consistency label: supported_by_high_confidence_link\nNodes: 43\nEdges: 85\nNode types: {'pr_file': 29, 'link_quality': 4, 'commen"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"id": "scanner-3ce4682b5da37ad1", "name": "Possibly dead Python function: canonical_policy_json", "shortDescription": {"text": "Possibly dead Python function: canonical_policy_json"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9d4877e6410c9b07", "name": "Possibly dead Python function: log_message", "shortDescription": {"text": "Possibly dead Python function: log_message"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6190ab7eddebda5d", "name": "Possibly dead Python function: do_GET", "shortDescription": {"text": "Possibly dead Python function: do_GET"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c41297a7344cff27", "name": "Possibly dead Python function: do_POST", "shortDescription": {"text": "Possibly dead Python function: do_POST"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-517f920559decbec", "name": "Possibly dead Python function: log_message", "shortDescription": {"text": "Possibly dead Python function: log_message"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb383835414ab8d4", "name": "Possibly dead Python function: do_POST", "shortDescription": {"text": "Possibly dead Python function: do_POST"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6e3c0c645210c039", "name": "Possibly dead Python function: do_GET", "shortDescription": {"text": "Possibly dead Python function: do_GET"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f41d9a9b34d9d2c8", "name": "Possibly dead Python function: replace_year", "shortDescription": {"text": "Possibly dead Python function: replace_year"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6f38a0f62339c7d", "name": "Possibly dead Python function: replace_month_day", "shortDescription": {"text": "Possibly dead Python function: replace_month_day"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ace769fa495c6d6d", "name": "Possibly dead Python function: replace_latin_number", "shortDescription": {"text": "Possibly dead Python function: replace_latin_number"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eabf8c495bd22f89", "name": "Possibly dead Python function: clip_sort_key", "shortDescription": {"text": "Possibly dead Python function: clip_sort_key"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-acca2193b4004f3b", "name": "Possibly dead Python function: canonical_policy_json", "shortDescription": {"text": "Possibly dead Python function: canonical_policy_json"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-09a028b954e561ef", "name": "Possibly dead Python function: profile_has_product_capture_depth", "shortDescription": {"text": "Possibly dead Python function: profile_has_product_capture_depth"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c952ec4df08345f6", "name": "Possibly dead Python function: latest_matching_json", "shortDescription": {"text": "Possibly dead Python function: latest_matching_json"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a42b4dd520594041", "name": "Possibly dead Python function: score_renders_for_mode", "shortDescription": {"text": "Possibly dead Python function: score_renders_for_mode"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3ff2b1c22659f57", "name": "Possibly dead Python function: same_optional_path", "shortDescription": {"text": "Possibly dead Python function: same_optional_path"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89e0e858a4582a3f", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/recording-experience-roadmap.html:1538", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/recording-experience-roadmap.html:1538"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7a853719b26d7587", "name": "Insecure pattern 'subprocess_shell_true' in scripts/record_voice_profile_recording_kit.py:669", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/record_voice_profile_recording_kit.py:669"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-875c464e27bf8444", "name": "Insecure pattern 'node_child_process' in scripts/check_vercel_path_lengths.mjs:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/check_vercel_path_lengths.mjs:2"}, "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-899eb17bef664200", "name": "Insecure pattern 'subprocess_shell_true' in scripts/voice_profile_next_step.py:935", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/voice_profile_next_step.py:935"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-034b3e22a6f6df93", "name": "Insecure pattern 'node_child_process' in lib/voice-profile-transcript-validation.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in lib/voice-profile-transcript-validation.ts:1"}, "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-654c3d02745b36f5", "name": "Insecure pattern 'node_child_process' in lib/voice-profile-reanalysis.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in lib/voice-profile-reanalysis.ts:1"}, "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-27e6e30d2561f9ed", "name": "Insecure pattern 'node_child_process' in lib/clone-runner.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in lib/clone-runner.ts:1"}, "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-df8d6cfa8f37bd6c", "name": "Insecure pattern 'node_child_process' in lib/youtube-import.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in lib/youtube-import.ts:1"}, "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-7d9729d9a1f1460b", "name": "Insecure pattern 'node_child_process' in lib/voice-profile-verify.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in lib/voice-profile-verify.ts:1"}, "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-479884d5dc02aad1", "name": "Insecure pattern 'node_child_process' in lib/recording-kit.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in lib/recording-kit.ts:1"}, "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-d7fe0bbfe0766304", "name": "Insecure pattern 'node_child_process' in lib/voice-profile-next-step.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in lib/voice-profile-next-step.ts:1"}, "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-6c4c2b739d187e53", "name": "Insecure pattern 'node_child_process' in lib/voice-clone-goal-audit.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in lib/voice-clone-goal-audit.ts:1"}, "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-6fb6f7e2335d2cf6", "name": "Insecure pattern 'node_child_process' in lib/profile-enrollment.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in lib/profile-enrollment.ts:1"}, "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-c31f614672e4da64", "name": "Very large file: tests/audit-voice-clone-goal-script.test.ts (8554 lines)", "shortDescription": {"text": "Very large file: tests/audit-voice-clone-goal-script.test.ts (8554 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-0f3b2d2cc68590e2", "name": "Very large file: tests/voice-regression-score.test.ts (1579 lines)", "shortDescription": {"text": "Very large file: tests/voice-regression-score.test.ts (1579 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-6663bc8f3ae33a95", "name": "Very large file: tests/clone-runner.test.ts (2560 lines)", "shortDescription": {"text": "Very large file: tests/clone-runner.test.ts (2560 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-ff2b9ed0b368cd65", "name": "Very large file: tests/voxcpm-lora-training-job-script.test.ts (1637 lines)", "shortDescription": {"text": "Very large file: tests/voxcpm-lora-training-job-script.test.ts (1637 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-56e08dcd9d0a4900", "name": "Very large file: tests/recording-kit-record-script.test.ts (1655 lines)", "shortDescription": {"text": "Very large file: tests/recording-kit-record-script.test.ts (1655 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-a185077f855081c7", "name": "Very large file: tests/profile-clone-input.test.ts (1764 lines)", "shortDescription": {"text": "Very large file: tests/profile-clone-input.test.ts (1764 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-d6801020b7fb05e4", "name": "Very large file: tests/voice-profile-next-step-script.test.ts (2867 lines)", "shortDescription": {"text": "Very large file: tests/voice-profile-next-step-script.test.ts (2867 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-9b89d60ddc2a4219", "name": "Very large file: tests/build-voice-profile-script.test.ts (1978 lines)", "shortDescription": {"text": "Very large file: tests/build-voice-profile-script.test.ts (1978 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-c2af77f2cbae6085", "name": "Very large file: scripts/build_voice_profile.py (1241 lines)", "shortDescription": {"text": "Very large file: scripts/build_voice_profile.py (1241 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-ce88f37b6fda0290", "name": "Very large file: scripts/record_voice_profile_recording_kit.py (1843 lines)", "shortDescription": {"text": "Very large file: scripts/record_voice_profile_recording_kit.py (1843 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-ee58e9f837c2da80", "name": "Very large file: scripts/score_voice_regression.py (1527 lines)", "shortDescription": {"text": "Very large file: scripts/score_voice_regression.py (1527 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-f8b832f81ea636ca", "name": "Very large file: scripts/voice_clone_regression.py (1880 lines)", "shortDescription": {"text": "Very large file: scripts/voice_clone_regression.py (1880 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-2a5adc5275423cc3", "name": "Very large file: scripts/audit_voice_clone_goal.py (5141 lines)", "shortDescription": {"text": "Very large file: scripts/audit_voice_clone_goal.py (5141 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-bfdb568f494ed600", "name": "Very large file: scripts/voice_profile_next_step.py (2579 lines)", "shortDescription": {"text": "Very large file: scripts/voice_profile_next_step.py (2579 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-2e8ddae7e344015d", "name": "Very large file: scripts/prepare_voxcpm_lora_training_job.py (1396 lines)", "shortDescription": {"text": "Very large file: scripts/prepare_voxcpm_lora_training_job.py (1396 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-c3f86526b4d98e1c", "name": "Very large file: components/VoiceCloneStudio.tsx (1637 lines)", "shortDescription": {"text": "Very large file: components/VoiceCloneStudio.tsx (1637 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-617bf60615a9c370", "name": "Very large file: components/anyvoice/BuildTab.tsx (2030 lines)", "shortDescription": {"text": "Very large file: components/anyvoice/BuildTab.tsx (2030 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-d3af585ab38adca5", "name": "Very large file: lib/clone-runner.ts (2298 lines)", "shortDescription": {"text": "Very large file: lib/clone-runner.ts (2298 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-444761769bfa4710", "name": "Very large file: lib/voice-profile.ts (1469 lines)", "shortDescription": {"text": "Very large file: lib/voice-profile.ts (1469 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 118 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 38 placeholder/mock markers across 10 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-5317b4fa2365847b", "name": "Commented-code block (6 lines) in playwright.config.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in playwright.config.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cf607b5be91c681a", "name": "Commented-code block (5 lines) in proxy.ts:13", "shortDescription": {"text": "Commented-code block (5 lines) in proxy.ts:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3126955c3e0d6c98", "name": "Commented-code block (5 lines) in tests/ffmpeg-filter-chain.test.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in tests/ffmpeg-filter-chain.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0d032b6650ce396c", "name": "Stub function `log_message` (body is just `pass`/`return`) \u2014 scripts/voxcpm_hot_worker_anyvoice.py:317", "shortDescription": {"text": "Stub function `log_message` (body is just `pass`/`return`) \u2014 scripts/voxcpm_hot_worker_anyvoice.py:317"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19a58a7daf53e2bf", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/record_voice_profile_recording_kit.py:170", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/record_voice_profile_recording_kit.py:170"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1861973d0ed2ea6a", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/render_voice_backend_job.py:423", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/render_voice_backend_job.py:423"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-67e311c354cbb724", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/transcribe_voice_regression.py:152", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/transcribe_voice_regression.py:152"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d5dee3fcbae5171", "name": "Commented-code block (9 lines) in scripts/synthesize_voxcpm_anyvoice.py:64", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/synthesize_voxcpm_anyvoice.py:64"}, "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-085fd58947483589", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/synthesize_voxcpm_anyvoice.py:89", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/synthesize_voxcpm_anyvoice.py:89"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bd1d66cc9f8a9f20", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/import_voice_profile_clips.py:119", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/import_voice_profile_clips.py:119"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-40611087aae71a7b", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/check_voxcpm_lora_trainer.py:86", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_voxcpm_lora_trainer.py:86"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c01e63ce03e181b2", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/voice_clone_regression.py:1621", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/voice_clone_regression.py:1621"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7e7289ed8264ba09", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/check_voice_profile_recording_kit.py:66", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_voice_profile_recording_kit.py:66"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-48325cb5f916c22d", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_voice_quality_gate.py:57", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_voice_quality_gate.py:57"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-73410fb125fdcf4b", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/analyze_voice_reference.py:62", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/analyze_voice_reference.py:62"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-914d13fb44a53cc0", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/normalize_voice_profile_recording_kit_audio.py:214", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/normalize_voice_profile_recording_kit_audio.py:214"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dc11e3072205a0bc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/VoiceCloneStudio.tsx:838", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/VoiceCloneStudio.tsx:838"}, "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-bd30b41d86c02641", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/BookReader.tsx:211", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/BookReader.tsx:211"}, "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-7feece63e9cb3204", "name": "Legacy-named symbol `localeForLegacy` in components/anyvoice/AnyVoiceApp.tsx:78", "shortDescription": {"text": "Legacy-named symbol `localeForLegacy` in components/anyvoice/AnyVoiceApp.tsx:78"}, "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-5c0214e3a069ef32", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/anyvoice/lib/anyvoice-client.ts:72", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/anyvoice/lib/anyvoice-client.ts:72"}, "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-73c59b933b34277b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/runs/[jobId]/audio/route.ts:33", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/runs/[jobId]/audio/route.ts:33"}, "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-83aa7699bf8361b3", "name": "Commented-code block (7 lines) in app/api/gateway-token/route.ts:4", "shortDescription": {"text": "Commented-code block (7 lines) in app/api/gateway-token/route.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b0162e559a16394b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/recording-kit-control/recording-kit-control.tsx:144", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/recording-kit-control/recording-kit-control.tsx:144"}, "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-0f58838108f419cd", "name": "Commented-code block (6 lines) in lib/voice-profile-registry.ts:117", "shortDescription": {"text": "Commented-code block (6 lines) in lib/voice-profile-registry.ts:117"}, "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-e1d723aa77481ade", "name": "Commented-code block (6 lines) in lib/book-job.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in lib/book-job.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-39c9671dcbc38c39", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/clone-runner.ts:1777", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/clone-runner.ts:1777"}, "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-6d1e514716d4bc51", "name": "Commented-code block (9 lines) in lib/voice-profile.ts:726", "shortDescription": {"text": "Commented-code block (9 lines) in lib/voice-profile.ts:726"}, "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-ca7c461a46c1a67f", "name": "Commented-code block (5 lines) in lib/book-segment.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in lib/book-segment.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ee9f03b7641b326d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/anyvoice-gateway.ts:73", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/anyvoice-gateway.ts:73"}, "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-1662ae7a5bb4e048", "name": "33 env vars used in code but missing from .env.example", "shortDescription": {"text": "33 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ANYVOICE_ALLOWED_EMAILS`, `ANYVOICE_ASR_BACKENDS_JSON`, `ANYVOICE_ASR_MODEL`, `ANYVOICE_FFMPEG`, `ANYVOICE_FFMPEG_PATH`, `ANYVOICE_HOT_WORKER_URL`, `ANYVOICE_PUBLIC_URL`, `ANYVOICE_QUALITY_GATE_ROOT` + 25 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-380b7cb95b387b9c", "name": "Near-duplicate function bodies in 11 places", "shortDescription": {"text": "Near-duplicate function bodies in 11 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/apply_voice_backend_selection.py:load_json, scripts/merge_voice_subjective_reviews.py:load_json, scripts/prepare_voice_lora_dataset.py:load_json_object, scripts/check_voxcpm_lora_trainer.py:load_json\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/apply_voice_backend_selection.py:write_json, scripts/apply_voxcpm_lora_adapter.py:write_json\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0027e313ade46c8f", "name": "Near-duplicate function bodies in 7 places", "shortDescription": {"text": "Near-duplicate function bodies in 7 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/apply_voice_backend_selection.py:sha256_file, scripts/build_voice_profile.py:sha256_file, scripts/select_voice_backend_candidate.py:sha256_file, scripts/register_voice_backend_renders.py:file_sha256\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/apply_voice_backend_selection.py:same_path, scripts/select_voice_backend_candidate.py:same_path, scripts/prepare_voice_lora_dataset.py:same_resolved_path, scripts/apply_voxcpm_lora_adapter.py:same_path\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-33a6b62e30ce7ab4", "name": "Near-duplicate function bodies in 6 places", "shortDescription": {"text": "Near-duplicate function bodies in 6 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/apply_voice_backend_selection.py:resolve_render_output_path, scripts/select_voice_backend_candidate.py:resolve_render_output_path, scripts/prepare_voice_lora_dataset.py:resolve_render_output_path, scripts/audit_voice_clone_goal.py:resolve_render_output_path\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fe1d9311d6aee734", "name": "Near-duplicate function bodies in 12 places", "shortDescription": {"text": "Near-duplicate function bodies in 12 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/merge_voice_subjective_reviews.py:file_sha256, scripts/serve_voice_review.py:sha256_file, scripts/record_voice_profile_recording_kit.py:file_sha256, scripts/score_voice_regression.py:sha256_file\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/record_voice_profile_recording_kit.py:text_sha256, scripts/check_voice_profile_recording_kit.py:text_sha256, scripts/normalize_voice_profile_recording_kit_audio.py:text_sha256\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/19465"}, "properties": {"repository": "shhtheonlyperson/anyvoice", "repoUrl": "https://github.com/shhtheonlyperson/anyvoice", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 370149, "scanner": "foundry_dataset", "fingerprint": "c26fe63f763e0cc8f01ef77a5abb7a1bf94ff28d518a02275a4b5d64d5c42688", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"source_or_other": 5, "deployment_env_gap": 1, "api_integration_gap": 1, "partial blueprint fit": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_alignment": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 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}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 44, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 5, "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": 5, "thread_has_comment_chain": 2, "comment_chain_touches_file": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 23, "node_types": {"repo": 1, "thread": 1, "comment": 2, "pr_file": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#9", "issue_number": "9", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-6b986e130517f289", "graph_gold_label": "assumption_check", "changed_file_labels": {"source_or_other": 25}}, "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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#9\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#9\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 23\nEdges: 44\nNode types: {'link_quality': 6, 'pr_file': 5, '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': 10, 'chain_has_link_quality': 6, 'thread_touches_file': 5, 'issue_chain_touches_file': 5, '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: {'source_or_other': 5, 'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8}\nQuality tiers: {'unresolved': 4, '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/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-6b8060fa81d2d252", "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": "shhtheonlyperson/anyvoice", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 370148, "scanner": "foundry_dataset", "fingerprint": "a4e15e3a005d77ce9ea7d19b1f7c80c8a046530ce8cb5971c8d5e460bb2ab6be", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "ui_or_frontend": 3, "source_or_other": 1, "deployment_env_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "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": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 5, "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": 5, "thread_has_comment_chain": 2, "comment_chain_links_commit": 1, "comment_chain_touches_file": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 2, "pr_file": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#11", "issue_number": "11", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-300d9e78128ee19f", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 5, "ui_or_frontend": 15, "source_or_other": 5}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#11\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#11\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#11\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 11\nGraph consistency label: weak_supervision_needs_review\nNodes: 24\nEdges: 45\nNode types: {'link_quality': 6, 'pr_file': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 10, 'chain_has_link_quality': 6, 'thread_touches_file': 5, 'issue_chain_touches_file': 5, '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, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ui_or_frontend': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'source_or_other': 1, 'test_or_ci': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 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, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-b31fa5a7a9185fd5", "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": "shhtheonlyperson/anyvoice", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 356041, "scanner": "foundry_dataset", "fingerprint": "0e0da280f923823d8b878e7fa39e0f66197f1d356717cbfb85643f2cc4b1e37c", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"source_or_other": 5, "deployment_env_gap": 1, "api_integration_gap": 1, "partial blueprint fit": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_alignment": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 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}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 44, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 5, "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": 5, "thread_has_comment_chain": 2, "comment_chain_touches_file": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 23, "node_types": {"repo": 1, "thread": 1, "comment": 2, "pr_file": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#9", "issue_number": "9", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-439ce772cb1ec84c", "graph_gold_label": "assumption_check", "changed_file_labels": {"source_or_other": 25}}, "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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#9\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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#9\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 23\nEdges: 44\nNode types: {'link_quality': 6, 'pr_file': 5, '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': 10, 'chain_has_link_quality': 6, 'thread_touches_file': 5, 'issue_chain_touches_file': 5, '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: {'source_or_other': 5, 'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8}\nQuality tiers: {'unresolved': 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/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-9402b0df3a67cb89", "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": "shhtheonlyperson/anyvoice", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 356040, "scanner": "foundry_dataset", "fingerprint": "797e0fa77f481e8d4bf8458c75751500c00af3c94712302ff12be26205827c98", "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": 2, "partial blueprint fit": 1, "verification_or_tests": 1, "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": 38, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 1, "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": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 2, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 2, "pr_file": 1, "alignment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#8", "issue_number": "8", "quality_tiers": {"high_confidence": 3, "assumption_check": 4, "weak_supervision": 1}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-a168ae3ee61fdaab", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 5}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#8\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#8\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 8\nGraph consistency label: supported_by_high_confidence_link\nNodes: 24\nEdges: 38\nNode types: {'link_quality': 8, 'alignment': 4, 'comment': 2, 'comment_chain': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'pr_file': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'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, 'comment_chain_links_commit': 2, 'comment_chain_touches_file': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'test_ci_gap': 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, 'test_or_ci': 1, 'verification_or_tests': 1, 'partial blueprint fit': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'assumption_check': 4, 'high_confidence': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-2f25bfffacecb1df", "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": "shhtheonlyperson/anyvoice", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 356039, "scanner": "foundry_dataset", "fingerprint": "8c684a56532252f7f2cd41d5d66368eeb443a056f1fec7b0780356c0c4ef034b", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "ui_or_frontend": 2, "ui_workflow_gap": 1, "deployment_env_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 2, "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": 2, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 2, "pr_file": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#4", "issue_number": "4", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 1}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-ce9da152bc0175bd", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"ui_or_frontend": 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: supported_by_verification_signal\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#4\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#4\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#4\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 4\nGraph consistency label: supported_by_verification_signal\nNodes: 24\nEdges: 37\nNode types: {'link_quality': 6, 'commit': 4, 'comment': 2, 'pr_file': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'comment_chain_touches_file': 4, 'thread_has_comment': 2, 'thread_touches_file': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'issue_chain_touches_file': 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': 3, 'claimed_resolved_with_verification_signal': 3, 'ui_or_frontend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'deployment_env_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-7ba21412525a0610", "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": "shhtheonlyperson/anyvoice", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 356038, "scanner": "foundry_dataset", "fingerprint": "ca5621a1849fbef0064d776df3fde38f6fb031f0a0354cc96d72f826d903da15", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "source_or_other": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 1, "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": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#3", "issue_number": "3", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 1}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-3ac376159a669911", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"source_or_other": 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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#3\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#3\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 3\nGraph consistency label: supported_by_verification_signal\nNodes: 24\nEdges: 34\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 6, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_touches_file': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'source_or_other': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-c1508c2fb0306209", "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": "shhtheonlyperson/anyvoice", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 356037, "scanner": "foundry_dataset", "fingerprint": "ed81308b4f608eb4dc6366bb640b60adcbbcafc64c3d3ee642c248383be38648", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "test_or_ci": 2, "test_ci_gap": 1, "api_or_backend": 1, "source_or_other": 2, "deployment_env_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "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": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 50, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 5, "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": 5, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 28, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#2", "issue_number": "2", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 1}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-c7bd2da4d5433692", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 5, "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: supported_by_verification_signal\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#2\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#2\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#2\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 2\nGraph consistency label: supported_by_verification_signal\nNodes: 28\nEdges: 50\nNode types: {'link_quality': 6, 'pr_file': 5, 'commit': 5, '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': 10, 'comment_chain_links_commit': 6, 'chain_has_link_quality': 6, 'thread_touches_file': 5, 'issue_chain_touches_file': 5, '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': 4, 'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'api_or_backend': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-615a16e95d914f89", "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": "shhtheonlyperson/anyvoice", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 356036, "scanner": "foundry_dataset", "fingerprint": "d1aff40e007c6c1ce4595a6faebf737e0cb0fc5042917865f8aa7993f3198252", "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, "ui_or_frontend": 3, "source_or_other": 1, "deployment_env_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "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": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 5, "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": 5, "thread_has_comment_chain": 2, "comment_chain_links_commit": 1, "comment_chain_touches_file": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 2, "pr_file": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#11", "issue_number": "11", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-7447a692624f2d21", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 5, "ui_or_frontend": 15, "source_or_other": 5}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#11\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#11\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 11\nGraph consistency label: weak_supervision_needs_review\nNodes: 24\nEdges: 45\nNode types: {'link_quality': 6, 'pr_file': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 10, 'chain_has_link_quality': 6, 'thread_touches_file': 5, 'issue_chain_touches_file': 5, '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, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ui_or_frontend': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'source_or_other': 1, 'test_or_ci': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 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, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-4a942210f141126d", "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": "shhtheonlyperson/anyvoice", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 356035, "scanner": "foundry_dataset", "fingerprint": "07e7e4524d5ebba6205acbb56c9ef80511654ae0746ffacb1ce4350e4c83bc12", "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": {"keys": ["source_or_other", "ambiguous_needs_more_evidence", "dependency_or_build", "test_or_ci", "thread_has_human_issue_and_fix_context", "issue_or_pull_request_thread", "test_ci_gap", "deployment_env_gap", "docs_or_claims", "api_or_backend", "ui_or_frontend", "comment_has_related_commit_context", "generated_provenance", "ci_success_signal", "verification_or_tests", "self_attested_or_generated_fix_unverified", "self_attested_unverified", "blueprint_human_gap_alignment", "partial blueprint fit", "blueprint_human_gap_disagreement", "mostly follows blueprint"], "count": 21, "_omitted": "large_dict"}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"self_attested_unverified": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {"ci_success_signal": 4}, "synthetic": false, "edge_count": 78, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 13, "comment_chain_has_ci": 2, "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": 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": 34, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "pr_file": 13, "alignment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#10", "issue_number": "10", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 1}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-969897a9d2534e6b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 5, "docs_or_claims": 5, "ui_or_frontend": 5, "source_or_other": 30, "dependency_or_build": 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: supported_by_verification_signal\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#10\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#10\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 10\nGraph consistency label: supported_by_verification_signal\nNodes: 34\nEdges: 78\nNode types: {'pr_file': 13, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 24, 'thread_touches_file': 13, 'issue_chain_touches_file': 12, 'chain_has_link_quality': 6, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_has_ci': 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}\nLabels: {'source_or_other': 6, 'ambiguous_needs_more_evidence': 3, 'dependency_or_build': 2, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'docs_or_claims': 1, 'api_or_backend': 1, 'ui_or_frontend': 1, 'comment_has_related_commit_context': 1, 'generated_provenance': 1, 'ci_success_signal': 1, 'verification_or_tests': 1, 'self_attested_or_generated_fix_unverified': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'self_attested_unverified': 2}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2, 'weak_supervision': 1}\nCI labels: {'ci_success_signal': 4}\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/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-7fe53dc94081afb2", "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": "shhtheonlyperson/anyvoice", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 356034, "scanner": "foundry_dataset", "fingerprint": "a3b190ff304e0571fb26132fde97fa859b5697cc7322d93e7cf912a0aa4648e6", "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": 35, "test_ci_gap": 1, "api_or_backend": 13, "docs_or_claims": 1, "ui_or_frontend": 11, "source_or_other": 39, "deployment_env_gap": 1, "dependency_or_build": 1, "partial blueprint fit": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 1, "blueprint_human_gap_disagreement": 1, "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": 165, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 100, "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": 12, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 122, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 2, "pr_file": 100, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#1", "issue_number": "1", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 1}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-7f4359c86ec7d3e2", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 175, "api_or_backend": 65, "docs_or_claims": 5, "ui_or_frontend": 55, "source_or_other": 195, "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_high_confidence_link\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#1\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#1\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 1\nGraph consistency label: supported_by_high_confidence_link\nNodes: 122\nEdges: 165\nNode types: {'pr_file': 100, 'link_quality': 6, 'commit': 4, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 100, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, '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: {'source_or_other': 39, 'test_or_ci': 35, 'api_or_backend': 13, 'ui_or_frontend': 11, 'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'docs_or_claims': 1, 'dependency_or_build': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-85b5237bdab39fad", "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": "shhtheonlyperson/anyvoice", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 312253, "scanner": "foundry_dataset", "fingerprint": "5dc70814a0f66342986e58994d060d637f92f8ff9ae67a29a1e78773b4cd860e", "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": "shhtheonlyperson/anyvoice#8", "human_labels": ["test_ci_gap", "test_or_ci"], "issue_number": "8", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-54e40c26653069f0", "helicopter_views": {"graphs": 2}, "artifact_families": {"docs": 2, "tests": 6}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1}, "linked_commit_count": 2, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 6, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#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_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: shhtheonlyperson/anyvoice#8\nRepo: shhtheonlyperson/anyvoice\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'test_ci_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9da715d6b6dd64cb\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/8\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: shhtheonlyperson (User)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/8\\nTitle: ci: bump checkout/setup-node actions to v5 (Node 24 runners)\\nBody:\\nGitHub forces JavaScript actions onto Node 24 from **2026-06-16** and removes Node 20 from runners on 2026-09-16. `actions/checkout@v4` and `actions/setup-node@v4` run on Node 20 and emit deprecation warnings on every CI run (flagged on the PR #7 post-merge run). Bump both to v5 in both jobs; `setup-python@v5` was not flagged and stays.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-94a4aefa0f47b80c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/8#issuecomment-4694503536\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/8#issuecomment-4694503536\\nTitle: \\nBody:\\n[vc]: #EM5ykNT4m9gt64DPcspb+Gf7KdSqtNxhy2J2a5L8JxI=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJhbnl2b2ljZSIsInByb2plY3RJZCI6InByal9FOHh5OEFwUHRjeEhGdkNSY2RvUmV6Q0JrUm40IiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL3RoZW9ubHlwZXJzb24vYW55dm9pY2UvQnphYmh2TVdKdGNveTE5UFRaWVRYd0xuWWhvZyIsInByZXZpZXdVcmwiOiJhbnl2b2ljZS1naXQtY2ktbm9kZTI0LWFjdGlvbnMtdGhlb25seXBlcnNvbi52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6ImFueXZvaWNlLWdpdC1jaS1ub2RlMjQtYWN0aW9ucy10aGVvbmx5cGVyc29uLnZlcmNlbC5hcHAifSwicm9vdERpcmVjdG9yeSI6bnVsbH1dfQ==\\nThe latest updates on your projects. Learn more about [Vercel for GitHub](https://vercel.link/github-learn\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "comment-chain-pattern-assumption_checks-8de35afd99513c9e", "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": "shhtheonlyperson/anyvoice", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 312252, "scanner": "foundry_dataset", "fingerprint": "d8fa7f549dd63feda725875b639e3f5c11ce3b36df2c6a6b9ee1a1f6f594429c", "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": "shhtheonlyperson/anyvoice#7", "human_labels": ["dependency_or_build", "deployment_env_gap", "docs_or_claims", "runtime_failure", "source_or_other", "test_or_ci"], "issue_number": "7", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-e3230019bf645365", "helicopter_views": {"graphs": 2}, "artifact_families": {"docs": 2, "tests": 6}, "source_chain_kind": "issue_chain", "changed_file_count": 33, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 8, "docs_or_claims": 2, "source_or_other": 21, "dependency_or_build": 2}, "linked_commit_count": 4, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 6, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#7\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: shhtheonlyperson/anyvoice#7\nRepo: shhtheonlyperson/anyvoice\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 4\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 33\nLabels: {'runtime_failure': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 21, 'docs_or_claims': 2, 'dependency_or_build': 2, 'test_or_ci': 8}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-202a6113ae8e0046\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/7\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: shhtheonlyperson (User)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/7\\nTitle: ComfyUI workflow: YouTube link \u2192 voice-clone user journey\\nBody:\\n## Summary\\n\\nAdds **`comfyui-anyvoice/`**, a ComfyUI custom node pack that ports the web app's \\\"import a YouTube link \u2192 create a voice clone\\\" journey into a graph workflow, plus a one-line hot-worker hardening.\\n\\n- **AnyVoiceYouTubeImport** \u2014 URL parse (`t=` param sets the start), yt-dlp section download + subtitles, caption-aligned 6\u201318s segment planning with Whisper ASR fallback, OpenCC s2twp conversion, strict zh-Hant transcript gate, 16k mono clip slicing. Consent toggle mirrors the web app's gate.\\n- **AnyVoiceClipsPreview** \u2014 audition extracted clips + read transcripts.\\n- **AnyVoiceEnrollProfile** \u2014 analyzer grading (A\u2013D) per clip, run dirs tagged with `voiceProfileId`, `meta.json` + imported-tier `profile.json`.\\n- **AnyVoiceVoiceClone** \u2014 VoxCPM2 synthesis via the hot worker (NDJSON progress) with one-shot bridge fallback; quality presets, stability seed, hifi/prompt clone modes.\\n- Ships `example_workflows/AnyVoice YouT\"\n  },\n  {\n    \"id\": \"github-feedback-comment-cbbcaf52a370d7a3\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/7#issuecomment-4684786648\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/7#issuecomment-4684786648\\nTitle: \\nBody:\\n[vc]: #UOCh6AOivdGcI/aRaMPmL9hCoXN8+qCJVuPpHiIeXxc=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aH\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "comment-chain-pattern-assumption_checks-18c3deca8049633b", "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": "shhtheonlyperson/anyvoice", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 312251, "scanner": "foundry_dataset", "fingerprint": "93543b15cf20ce439a9a60e1e82d82320764a277c60645f054692cd5712f7c05", "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": "shhtheonlyperson/anyvoice#6", "human_labels": ["api_or_backend", "dependency_or_build", "deployment_env_gap", "docs_or_claims", "runtime_failure", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "6", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-e3267371c3043d0c", "helicopter_views": {"graphs": 2}, "artifact_families": {"docs": 2, "tests": 6}, "source_chain_kind": "issue_chain", "changed_file_count": 45, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 9, "api_or_backend": 2, "docs_or_claims": 2, "ui_or_frontend": 5, "source_or_other": 24, "dependency_or_build": 3}, "linked_commit_count": 5, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 6, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#6\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: shhtheonlyperson/anyvoice#6\nRepo: shhtheonlyperson/anyvoice\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 45\nLabels: {'runtime_failure': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 24, 'test_or_ci': 9, 'api_or_backend': 2, 'ui_or_frontend': 5, 'docs_or_claims': 2, 'dependency_or_build': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4422f35396e05cce\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/6\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: shhtheonlyperson (User)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/6\\nTitle: Cross-repo resilience: worker-proxy security, venv discovery, test gates\\nBody:\\nMakes the codebase work resiliently across `~/proj/anyvoice` and `~/proj/brenda-voice`, including Vercel deploys. Three commits:\\n\\n## 1. feat(voice-profile): per-tier ready status, worker-forwarded profile routes, 3-min YouTube scans\\n- `status: \\\"ready\\\"` now means the profile's own requested tier is complete (imports use the lighter tier); `studioGrade` stays the strict audiobook/long-form/LoRA gate. UI, docs, the python verifier, and the LoRA dataset gate updated accordingly (with legacy fallback for manifests predating `studioGrade`).\\n- `/api/voice-profile/profiles` and `/api/voice-profile/enroll/youtube` forward to the configured worker on non-worker deployments.\\n- **Security hardening (multi-agent review findings):** Bearer worker auth is honored only when `ANYVOICE_WORKER_MODE=1`. The public deployment never accepts Bearer callers \u2014 a leaked worker token can no longer bypass the Google-OAuth allowlist or i\"\n  },\n  {\n    \"id\": \"github-feedback-comment-3a9d9a32d0f9fffc\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/6#issuecomment-4676071923\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/6#issuecomment-4676071923\\nTitle: \\nBody:\\n[vc]: #pQqZw1PalcD4wvB4HGkexcKBxLXMJBrEv5R9NzsuMYw=:eyJ\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "comment-chain-pattern-assumption_checks-6915393f7ffd8939", "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": "shhtheonlyperson/anyvoice", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 312250, "scanner": "foundry_dataset", "fingerprint": "1a5a5426b379c8db86a3eaeea30c252fc04438783d595e4eb4dbbc2765683004", "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": "shhtheonlyperson/anyvoice#11", "human_labels": ["deployment_env_gap", "source_or_other", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "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": "shhtheonlyperson/anyvoice", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-8da6eb19bf92dfa1", "helicopter_views": {"graphs": 2}, "artifact_families": {"docs": 2, "tests": 6}, "source_chain_kind": "issue_chain", "changed_file_count": 5, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "ui_or_frontend": 3, "source_or_other": 1}, "linked_commit_count": 1, "helicopter_view_count": 2, "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": 6, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#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: shhtheonlyperson/anyvoice#11\nRepo: shhtheonlyperson/anyvoice\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 5\nLabels: {'test_ci_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'ui_or_frontend': 3, 'source_or_other': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a34974c8918f53f7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/11\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: shhtheonlyperson (User)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/11\\nTitle: feat(anyvoice): browser-direct audio (blob-fetch) \u2014 unblocks dropping the Funnel\\nBody:\\nAudio was the **last worker-backed browser path** still on the Vercel proxy. An `<audio src>` / download link can't carry a bearer header, so in browser-direct mode this fetches the bytes **with the gateway bearer** and plays/downloads a `blob:` URL. When the flag is off (`NEXT_PUBLIC_ANYVOICE_GATEWAY_URL` unset) the Vercel path is used unchanged \u2014 **zero behavior change**.\\n\\n## Why this unblocks the Funnel\\nOnly **5 routes forward to the worker**: clone, clone/stream, voice-profile/profiles, enroll/youtube, and runs/{id}/audio. The first four already go browser-direct; **audio was the last one**. With it migrated, the public app has no worker-backed path left on the Vercel proxy, so the `Vercel\u2192worker` Funnel can be dropped (after a tailnet-device check).\\n\\n## What's here\\n- **`lib/anyvoice-gateway.ts`** \u2014 `audioObjectUrl()` (bearer-fetch \u2192 `blob:` URL, or the path unchanged off-flag) + `downloadAudio()` (b\"\n  },\n  {\n    \"id\": \"github-feedback-comment-b0452ca6aec03d9a\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/11#issuecomment-4714098517\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/11#issuecomment-4714098517\\nTitle: \\nBody:\\n[vc]: #oQIs19b3PE6Bpn94ibZshrrzYG2PUYHzLktHIJxgFG4=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJh\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "comment-chain-pattern-assumption_checks-939e674a64262082", "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": "shhtheonlyperson/anyvoice", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 312249, "scanner": "foundry_dataset", "fingerprint": "79fa41bf438dbfbab87a3fc3cabecee9807a1a6518cf5ff5a533e6085852bebd", "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": "shhtheonlyperson/anyvoice#10", "human_labels": ["api_or_backend", "dependency_or_build", "deployment_env_gap", "docs_or_claims", "source_or_other", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "10", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.812, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-4ba7b370516c5235", "helicopter_views": {"graphs": 2}, "artifact_families": {"docs": 2, "tests": 6}, "source_chain_kind": "issue_chain", "changed_file_count": 13, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 2, "api_or_backend": 1, "docs_or_claims": 1, "ui_or_frontend": 1, "source_or_other": 6, "dependency_or_build": 2}, "linked_commit_count": 3, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 2, "verification_artifact_count": 6, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#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_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: shhtheonlyperson/anyvoice#10\nRepo: shhtheonlyperson/anyvoice\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 3\nLinked CI commit count: 2\nLinked CI labels: {'ci_success_signal': 2}\nChanged file count: 13\nLabels: {'test_ci_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 6, 'docs_or_claims': 1, 'api_or_backend': 1, 'ui_or_frontend': 1, 'dependency_or_build': 2, 'test_or_ci': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d5dcde983c4c5474\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/10\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: shhtheonlyperson (User)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/10\\nTitle: feat(anyvoice): browser-direct gateway facade + comfyui primary entry\\nBody:\\nMakes the AnyVoice voice API reachable **tailnet-only over Tailscale** while the UI stays public + OAuth-gated on Vercel \u2014 the browser calls the gateway facade (`\u2026/v1/apps/anyvoice/*`) directly instead of routing heavy synthesis through the public worker Funnel. Same trust model as the gateway's other tailnet-only services.\\n\\n**Feature-flagged and off by default** \u2014 zero behavior change until `NEXT_PUBLIC_ANYVOICE_GATEWAY_URL` is set.\\n\\nThis branch bundles three commits (per the earlier \\\"comfyui primary entry\\\" thread):\\n- `edef977` Make comfyui-anyvoice the primary entry point (README + package.json)\\n- `da2eda2` worker-proxy gateway-facade translation + production-boundary smoke test + `@auth/core` (reconstructed after a working-tree loss earlier)\\n- `5ac622b` browser-direct gateway facade (this PR's focus)\\n\\n## Browser-direct facade\\n- **`lib/anyvoice-gateway.ts`** \u2014 `anyvoiceFetch()`: when the gateway URL env is set, r\"\n  },\n  {\n    \"id\": \"github-feedback-comment-7908557bf35aa17e\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/10#issuecomment-4704778844\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/10#issuecomment-4704778844\\nTitle: \\nBody:\\n[vc]: #SNH6xubBEu7SujUS6Nc+EQxFp\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "comment-chain-pattern-assumption_checks-3a50a1e09541e02a", "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": "shhtheonlyperson/anyvoice", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 312248, "scanner": "foundry_dataset", "fingerprint": "4c83460c8a6b60b9c9b4da1bee81ca9d8176b5a87812b7c505a4aa6726172bc2", "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": "shhtheonlyperson/anyvoice#1", "human_labels": ["api_or_backend", "dependency_or_build", "deployment_env_gap", "docs_or_claims", "source_or_other", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "1", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-40a581ec84499411", "helicopter_views": {"graphs": 2}, "artifact_families": {"docs": 2, "tests": 6}, "source_chain_kind": "issue_chain", "changed_file_count": 100, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 35, "api_or_backend": 13, "docs_or_claims": 1, "ui_or_frontend": 11, "source_or_other": 39, "dependency_or_build": 1}, "linked_commit_count": 5, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 6, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#1\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: shhtheonlyperson/anyvoice#1\nRepo: shhtheonlyperson/anyvoice\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 100\nLabels: {'test_ci_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 39, 'api_or_backend': 13, 'ui_or_frontend': 11, 'docs_or_claims': 1, 'dependency_or_build': 1, 'test_or_ci': 35}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9224e648769e938f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/1\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: shhtheonlyperson (User)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/1\\nTitle: feat(voice-clone): backend shootout, VoxCPM LoRA pipeline, recording-kit UI\\nBody:\\n## Summary\\n- Backend candidate rendering/selection + apply scripts for the voice-backend shootout\\n- Subjective review tooling (serve/triage/merge) and a local review server\\n- VoxCPM LoRA training, verification, and apply pipeline\\n- Browser recording drafts + recording-kit control route in the app\\n- Expanded clone runner/request/profile logic with broad new test coverage\\n\\n112 files changed.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-07a897bd83cf4c33\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/1#issuecomment-4628478806\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/1#issuecomment-4628478806\\nTitle: \\nBody:\\n[vc]: #CNFNuC3KDwFLJhljodhmSGbZkjiunUwujGWivk/3le0=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJhbnl2b2ljZSIsInByb2plY3RJZCI6InByal9FOHh5OEFwUHRjeEhGdkNSY2RvUmV6Q0JrUm40IiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL3RoZW9ubHlwZXJzb24vYW55dm9pY2UvQkZvQ0J5YnF4SlRlVWtaNFVGMVNrcUdycEtoaiIsInByZXZpZXdVcmwiOiJhbnl2b2ljZS1naXQtdm9pY2UtY2xvbmUtYmFja2VuZC1zaG9vdG91dC10aGVvbmx5cGVyc29uLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQi\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "comment-chain-pattern-assumption_checks-cc7559c241e21572", "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": "shhtheonlyperson/anyvoice", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 340992, "scanner": "foundry_dataset", "fingerprint": "95235b5a0686b78c16698e41f4004c2e966ee760231db21e8e17312fecec2cf0", "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": 2, "partial blueprint fit": 1, "verification_or_tests": 1, "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": 38, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 1, "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": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 2, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 2, "pr_file": 1, "alignment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#8", "issue_number": "8", "quality_tiers": {"high_confidence": 3, "assumption_check": 4, "weak_supervision": 1}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-9efec13d13df5667", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 5}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#8\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#8\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#8\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 8\nGraph consistency label: supported_by_high_confidence_link\nNodes: 24\nEdges: 38\nNode types: {'link_quality': 8, 'alignment': 4, 'comment': 2, 'comment_chain': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'pr_file': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'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, 'comment_chain_links_commit': 2, 'comment_chain_touches_file': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'test_ci_gap': 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, 'test_or_ci': 1, 'verification_or_tests': 1, 'partial blueprint fit': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'assumption_check': 4, 'high_confidence': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-5c3f5c2e3839bf91", "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": "shhtheonlyperson/anyvoice", "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: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 340991, "scanner": "foundry_dataset", "fingerprint": "f880c72b9222dd3f6ee92961749dadf458577d08a30722dbbf699bd12edd1eaf", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_or_ci": 2, "test_ci_gap": 1, "api_or_backend": 1, "source_or_other": 2, "deployment_env_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "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": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 50, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 5, "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": 5, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 28, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#2", "issue_number": "2", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 1}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-2fe6138c0c4c5f00", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 5, "source_or_other": 10}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#2\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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#2\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#2\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 2\nGraph consistency label: supported_by_verification_signal\nNodes: 28\nEdges: 50\nNode types: {'link_quality': 6, 'pr_file': 5, 'commit': 5, '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': 10, 'comment_chain_links_commit': 6, 'chain_has_link_quality': 6, 'thread_touches_file': 5, 'issue_chain_touches_file': 5, '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': 4, 'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'api_or_backend': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-6f07cd2b181abc19", "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": "shhtheonlyperson/anyvoice", "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: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 340990, "scanner": "foundry_dataset", "fingerprint": "5ba08d56e4e37ed092cedd2dc6967e47a525edc6f10136a6985c2d808e4ef671", "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, "ui_or_frontend": 3, "source_or_other": 1, "deployment_env_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "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": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 5, "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": 5, "thread_has_comment_chain": 2, "comment_chain_links_commit": 1, "comment_chain_touches_file": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 24, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 2, "pr_file": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#11", "issue_number": "11", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-9d9603aad4948103", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 5, "ui_or_frontend": 15, "source_or_other": 5}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#11\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#11\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 11\nGraph consistency label: weak_supervision_needs_review\nNodes: 24\nEdges: 45\nNode types: {'link_quality': 6, 'pr_file': 5, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 10, 'chain_has_link_quality': 6, 'thread_touches_file': 5, 'issue_chain_touches_file': 5, '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, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ui_or_frontend': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'source_or_other': 1, 'test_or_ci': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 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, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-96398ea69ea9a809", "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": "shhtheonlyperson/anyvoice", "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: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 340989, "scanner": "foundry_dataset", "fingerprint": "eef172d9c3c876cfae962b420ae832771b3174a4381549ae3bc054771815ec0a", "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": {"keys": ["source_or_other", "ambiguous_needs_more_evidence", "dependency_or_build", "test_or_ci", "thread_has_human_issue_and_fix_context", "issue_or_pull_request_thread", "test_ci_gap", "deployment_env_gap", "docs_or_claims", "api_or_backend", "ui_or_frontend", "comment_has_related_commit_context", "generated_provenance", "ci_success_signal", "verification_or_tests", "self_attested_or_generated_fix_unverified", "self_attested_unverified", "blueprint_human_gap_alignment", "partial blueprint fit", "blueprint_human_gap_disagreement", "mostly follows blueprint"], "count": 21, "_omitted": "large_dict"}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"self_attested_unverified": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {"ci_success_signal": 4}, "synthetic": false, "edge_count": 78, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 13, "comment_chain_has_ci": 2, "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": 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": 34, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "pr_file": 13, "alignment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#10", "issue_number": "10", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 1}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-49adf0ad932e3a2d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 5, "docs_or_claims": 5, "ui_or_frontend": 5, "source_or_other": 30, "dependency_or_build": 10}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#10\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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#10\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#10\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 10\nGraph consistency label: supported_by_verification_signal\nNodes: 34\nEdges: 78\nNode types: {'pr_file': 13, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 24, 'thread_touches_file': 13, 'issue_chain_touches_file': 12, 'chain_has_link_quality': 6, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_has_ci': 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}\nLabels: {'source_or_other': 6, 'ambiguous_needs_more_evidence': 3, 'dependency_or_build': 2, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'docs_or_claims': 1, 'api_or_backend': 1, 'ui_or_frontend': 1, 'comment_has_related_commit_context': 1, 'generated_provenance': 1, 'ci_success_signal': 1, 'verification_or_tests': 1, 'self_attested_or_generated_fix_unverified': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'self_attested_unverified': 2}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2, 'weak_supervision': 1}\nCI labels: {'ci_success_signal': 4}\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/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-cf13bb534d5a9ab4", "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": "shhtheonlyperson/anyvoice", "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: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 340988, "scanner": "foundry_dataset", "fingerprint": "c432cd1eee84089a57e8517dc9e5a107c3d0967961cd136f932c4c023887d5d7", "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": 35, "test_ci_gap": 1, "api_or_backend": 13, "docs_or_claims": 1, "ui_or_frontend": 11, "source_or_other": 39, "deployment_env_gap": 1, "dependency_or_build": 1, "partial blueprint fit": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 1, "blueprint_human_gap_disagreement": 1, "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": 165, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 100, "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": 12, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 24, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 122, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 2, "pr_file": 100, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#1", "issue_number": "1", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 1}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e79933140f3f7000", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 175, "api_or_backend": 65, "docs_or_claims": 5, "ui_or_frontend": 55, "source_or_other": 195, "dependency_or_build": 5}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#1\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: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#1\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#1\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 1\nGraph consistency label: supported_by_high_confidence_link\nNodes: 122\nEdges: 165\nNode types: {'pr_file': 100, 'link_quality': 6, 'commit': 4, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 100, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, '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: {'source_or_other': 39, 'test_or_ci': 35, 'api_or_backend': 13, 'ui_or_frontend': 11, 'verification_or_tests': 4, 'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'docs_or_claims': 1, 'dependency_or_build': 1, 'blueprint_human_gap_alignment': 1, 'partial blueprint fit': 1, 'blueprint_human_gap_disagreement': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-12ddd2e221c028c3", "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": "shhtheonlyperson/anyvoice", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 322876, "scanner": "foundry_dataset", "fingerprint": "e72ad2d1882cd6b08186f1005536de6508a9bfbc1c155afd28852f6480a78471", "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": "shhtheonlyperson/anyvoice#9", "human_labels": ["api_integration_gap", "deployment_env_gap", "source_or_other"], "issue_number": "9", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-f61ca21614f827bd", "helicopter_views": {"graphs": 2}, "artifact_families": {"docs": 2, "tests": 6}, "source_chain_kind": "issue_chain", "changed_file_count": 5, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"source_or_other": 5}, "linked_commit_count": 0, "helicopter_view_count": 2, "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": 6, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#9\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: shhtheonlyperson/anyvoice#9\nRepo: shhtheonlyperson/anyvoice\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 5\nLabels: {'api_integration_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 5}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-76a08207f8ebe03d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/9\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: shhtheonlyperson (User)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/9\\nTitle: refactor(zh-script): single source of truth for the Traditional-Chinese marker table\\nBody:\\n## Summary\\nThe Traditional/Simplified Chinese script gate \u2014 the **71 marker pairs** + `analyzeChineseScript` + the two enrollment gate tiers \u2014 was hand-copied in **4+ places**, with `comfyui-anyvoice/textgate.py` literally commented *\\\"keep byte-for-byte in sync with lib/text-prep.ts.\\\"* This collapses them to one source of truth.\\n\\n## Change\\n- **`data/zh-script-markers.json`** \u2014 the 71 `[traditional, simplified]` pairs, generated byte-exact from the TS source.\\n- **`scripts/anyvoice_zh_script.py`** \u2014 shared Python module (loads the JSON + `detect_chinese_script` + both gate tiers).\\n- **`lib/text-prep.ts`** \u2014 imports the JSON instead of the inline table.\\n- **`comfyui-anyvoice/anyvoice_comfy/textgate.py`** \u2014 loads the JSON via `repo_root()`.\\n- **`scripts/build_voice_profile.py`** \u2014 imports the shared module and **re-exports** `CHINESE_SCRIPT_MARKER_PAIRS` + the gate fns, so its **6 downstream impor\"\n  },\n  {\n    \"id\": \"github-feedback-comment-f5f2be3053aab173\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/9#issuecomment-4702781604\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/9#issuecomment-4702781604\\nTitle: \\nBody:\\n[vc]: #GuX0HQBwRAfmyq1ZsXTuzJnT1SLIl0GU1npYDOBiG0k=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJhbnl2b2ljZSIsInByb2plY3RJZCI6In\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "comment-chain-pattern-bad_chains-dede881855d8b4fa", "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": "shhtheonlyperson/anyvoice", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 322875, "scanner": "foundry_dataset", "fingerprint": "2a14d4fefe5c100f7bcb66adcbe814244a6b835a1e24fdc57260dbfedbe9910b", "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": "shhtheonlyperson/anyvoice#5", "human_labels": ["api_or_backend", "mock_placeholder", "security_auth_secret", "source_or_other", "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.82, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-0fcce5c58847c35f", "helicopter_views": {"graphs": 2}, "artifact_families": {"docs": 2, "tests": 6}, "source_chain_kind": "issue_chain", "changed_file_count": 29, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 17, "source_or_other": 2}, "linked_commit_count": 4, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 6, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#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_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: shhtheonlyperson/anyvoice#5\nRepo: shhtheonlyperson/anyvoice\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 4\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 29\nLabels: {'mock_placeholder': 1, 'security_auth_secret': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'api_or_backend': 17, 'source_or_other': 2, 'test_or_ci': 10}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-424b34e0f3a940eb\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/5\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: shhtheonlyperson (User)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/5\\nTitle: fix(security): enforce voice-profile ownership on all profile-scoped routes\\nBody:\\n## Summary\\nThe recent account-scoping work keyed voice data to the signed-in Google account, but only **list/rename/delete** actually checked ownership. Every route that accepts a caller-supplied `profileId` operated on the global profile root with **no owner check** \u2014 so an authenticated user who knew another account's `profileId` could read its manifest/clips, clone with that voice, or enroll clips into it (IDOR on biometric voice data).\\n\\n## Fix\\n- `userCanAccessVoiceProfile(profileId, userId)` (in `voice-profile-registry`) reuses the existing `ownsProfile` semantics:\\n  - **untagged / legacy** profiles stay shared \u2192 preserves the single-user, `local-default`, and pre-migration flows;\\n  - **account-tagged** profiles are owner-locked.\\n- `guardVoiceProfileAccess(session, profileId)` (new `lib/voice-profile-access.ts`) returns a ready **404** on denial \u2014 deliberately not 403, so the endpoint doesn't confirm \"\n  },\n  {\n    \"id\": \"github-feedback-comment-cc104676b4b945a4\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/shhtheonlyperson/anyvoice/pull/5#issuecomment-4628718895\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: shhtheonlyperson/anyvoice\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/shhtheonlyperson/anyvoice/pull/5#issuecomment-4628718895\\nTitle: \\nBody:\\n[vc]: #92vpUxleiAkH+6mP44lfkJw7+fALkyrDuBpotChwAcc=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hb\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "comment-chain-pattern-bad_chains-78c17f8c95982044", "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": "shhtheonlyperson/anyvoice", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 327121, "scanner": "foundry_dataset", "fingerprint": "0f557d3dd360a6bd3ed0be79bf490338fc3f570acd00a1669549d33213bad528", "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": {"test_or_ci": 10, "api_or_backend": 17, "source_or_other": 2, "mock_placeholder": 1, "security_auth_secret": 1, "verification_or_tests": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 85, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 29, "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": 4, "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": 2, "thread": 1, "comment": 2, "pr_file": 29, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#5", "issue_number": "5", "quality_tiers": {"high_confidence": 3, "weak_supervision": 1}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c2baba01bb071fc7", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 50, "api_or_backend": 85, "source_or_other": 10}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#5\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#5\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#5\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 5\nGraph consistency label: supported_by_high_confidence_link\nNodes: 43\nEdges: 85\nNode types: {'pr_file': 29, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 29, 'comment_chain_touches_file': 24, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 4, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'api_or_backend': 17, 'test_or_ci': 10, 'ambiguous_needs_more_evidence': 4, 'source_or_other': 2, 'comment_has_related_commit_context': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'security_auth_secret': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-fa2b70d3833caf5f", "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": "shhtheonlyperson/anyvoice", "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: shhtheonlyperson/anyvoice"}, "properties": {"repobilityId": 327120, "scanner": "foundry_dataset", "fingerprint": "f09b590d5d03dbb780d8c7ff7598549ef5dab016abbccaf7ce3317af68242cbb", "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": {"keys": ["source_or_other", "ambiguous_needs_more_evidence", "dependency_or_build", "test_or_ci", "thread_has_human_issue_and_fix_context", "issue_or_pull_request_thread", "test_ci_gap", "deployment_env_gap", "docs_or_claims", "api_or_backend", "ui_or_frontend", "comment_has_related_commit_context", "generated_provenance", "ci_success_signal", "verification_or_tests", "self_attested_or_generated_fix_unverified", "self_attested_unverified", "blueprint_human_gap_alignment", "partial blueprint fit", "blueprint_human_gap_disagreement", "mostly follows blueprint"], "count": 21, "_omitted": "large_dict"}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"self_attested_unverified": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {"ci_success_signal": 4}, "synthetic": false, "edge_count": 78, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 13, "comment_chain_has_ci": 2, "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": 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": 34, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "pr_file": 13, "alignment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "shhtheonlyperson/anyvoice#10", "issue_number": "10", "quality_tiers": {"high_confidence": 3, "assumption_check": 2, "weak_supervision": 1}, "repo_full_name": "shhtheonlyperson/anyvoice", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-4c78af0b10d9204a", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 5, "docs_or_claims": 5, "ui_or_frontend": 5, "source_or_other": 30, "dependency_or_build": 10}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#10\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: shhtheonlyperson/anyvoice\nThread: shhtheonlyperson/anyvoice#10\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: shhtheonlyperson/anyvoice#10\nRepo: shhtheonlyperson/anyvoice\nIssue/PR number: 10\nGraph consistency label: supported_by_verification_signal\nNodes: 34\nEdges: 78\nNode types: {'pr_file': 13, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 24, 'thread_touches_file': 13, 'issue_chain_touches_file': 12, 'chain_has_link_quality': 6, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_has_ci': 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}\nLabels: {'source_or_other': 6, 'ambiguous_needs_more_evidence': 3, 'dependency_or_build': 2, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'docs_or_claims': 1, 'api_or_backend': 1, 'ui_or_frontend': 1, 'comment_has_related_commit_context': 1, 'generated_provenance': 1, 'ci_success_signal': 1, 'verification_or_tests': 1, 'self_attested_or_generated_fix_unverified': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'self_attested_unverified': 2}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2, 'weak_supervision': 1}\nCI labels: {'ci_success_signal': 4}\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/shhtheonlyperson/anyvoice", "source_id": "graph-query-motif_query-49623dfad001c76b", "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": "shhtheonlyperson/anyvoice", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-3ce4682b5da37ad1", "level": "note", "message": {"text": "Possibly dead Python function: canonical_policy_json"}, "properties": {"repobilityId": "2c4ed21aad08201f", "scanner": "scanner-primary", "fingerprint": "3ce4682b5da37ad1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/build_voice_profile.py:509"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9d4877e6410c9b07", "level": "note", "message": {"text": "Possibly dead Python function: log_message"}, "properties": {"repobilityId": "965f3150b4af5b2e", "scanner": "scanner-primary", "fingerprint": "9d4877e6410c9b07", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/voxcpm_hot_worker_anyvoice.py:317"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6190ab7eddebda5d", "level": "note", "message": {"text": "Possibly dead Python function: do_GET"}, "properties": {"repobilityId": "2d943bb45e4f13bd", "scanner": "scanner-primary", "fingerprint": "6190ab7eddebda5d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/voxcpm_hot_worker_anyvoice.py:332"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c41297a7344cff27", "level": "note", "message": {"text": "Possibly dead Python function: do_POST"}, "properties": {"repobilityId": "53357410ca9379a9", "scanner": "scanner-primary", "fingerprint": "c41297a7344cff27", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/voxcpm_hot_worker_anyvoice.py:345"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-517f920559decbec", "level": "note", "message": {"text": "Possibly dead Python function: log_message"}, "properties": {"repobilityId": "965f3150b4af5b2e", "scanner": "scanner-primary", "fingerprint": "517f920559decbec", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/serve_voice_review.py:71"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bb383835414ab8d4", "level": "note", "message": {"text": "Possibly dead Python function: do_POST"}, "properties": {"repobilityId": "53357410ca9379a9", "scanner": "scanner-primary", "fingerprint": "bb383835414ab8d4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/serve_voice_review.py:82"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6e3c0c645210c039", "level": "note", "message": {"text": "Possibly dead Python function: do_GET"}, "properties": {"repobilityId": "2d943bb45e4f13bd", "scanner": "scanner-primary", "fingerprint": "6e3c0c645210c039", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/serve_voice_review.py:100"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f41d9a9b34d9d2c8", "level": "note", "message": {"text": "Possibly dead Python function: replace_year"}, "properties": {"repobilityId": "f9fcd8a429cc2159", "scanner": "scanner-primary", "fingerprint": "f41d9a9b34d9d2c8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/score_voice_regression.py:220"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e6f38a0f62339c7d", "level": "note", "message": {"text": "Possibly dead Python function: replace_month_day"}, "properties": {"repobilityId": "45f73158d53c9559", "scanner": "scanner-primary", "fingerprint": "e6f38a0f62339c7d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/score_voice_regression.py:225"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ace769fa495c6d6d", "level": "note", "message": {"text": "Possibly dead Python function: replace_latin_number"}, "properties": {"repobilityId": "12bdbe9e092d6b5e", "scanner": "scanner-primary", "fingerprint": "ace769fa495c6d6d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/score_voice_regression.py:235"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eabf8c495bd22f89", "level": "note", "message": {"text": "Possibly dead Python function: clip_sort_key"}, "properties": {"repobilityId": "a274a91161907b37", "scanner": "scanner-primary", "fingerprint": "eabf8c495bd22f89", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/voice_clone_regression.py:728"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-acca2193b4004f3b", "level": "note", "message": {"text": "Possibly dead Python function: canonical_policy_json"}, "properties": {"repobilityId": "2c4ed21aad08201f", "scanner": "scanner-primary", "fingerprint": "acca2193b4004f3b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/audit_voice_clone_goal.py:333"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-09a028b954e561ef", "level": "note", "message": {"text": "Possibly dead Python function: profile_has_product_capture_depth"}, "properties": {"repobilityId": "42c27dfa8897aa15", "scanner": "scanner-primary", "fingerprint": "09a028b954e561ef", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/audit_voice_clone_goal.py:832"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c952ec4df08345f6", "level": "note", "message": {"text": "Possibly dead Python function: latest_matching_json"}, "properties": {"repobilityId": "f78dd054aa81be89", "scanner": "scanner-primary", "fingerprint": "c952ec4df08345f6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/audit_voice_clone_goal.py:2379"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a42b4dd520594041", "level": "note", "message": {"text": "Possibly dead Python function: score_renders_for_mode"}, "properties": {"repobilityId": "41372127e9c7cf14", "scanner": "scanner-primary", "fingerprint": "a42b4dd520594041", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/audit_voice_clone_goal.py:3419"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a3ff2b1c22659f57", "level": "note", "message": {"text": "Possibly dead Python function: same_optional_path"}, "properties": {"repobilityId": "afb0ba3bf6d41072", "scanner": "scanner-primary", "fingerprint": "a3ff2b1c22659f57", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/audit_voice_clone_goal.py:3601"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-89e0e858a4582a3f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/recording-experience-roadmap.html:1538"}, "properties": {"repobilityId": "93a257628fc6f7b2", "scanner": "scanner-primary", "fingerprint": "89e0e858a4582a3f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/recording-experience-roadmap.html"}, "region": {"startLine": 1538}}}]}, {"ruleId": "scanner-7a853719b26d7587", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/record_voice_profile_recording_kit.py:669"}, "properties": {"repobilityId": "ae8fee4d593b8abb", "scanner": "scanner-primary", "fingerprint": "7a853719b26d7587", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/record_voice_profile_recording_kit.py"}, "region": {"startLine": 669}}}]}, {"ruleId": "scanner-875c464e27bf8444", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/check_vercel_path_lengths.mjs:2"}, "properties": {"repobilityId": "858167821b8d2257", "scanner": "scanner-primary", "fingerprint": "875c464e27bf8444", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/check_vercel_path_lengths.mjs"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-899eb17bef664200", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/voice_profile_next_step.py:935"}, "properties": {"repobilityId": "49fa7f8c09e04486", "scanner": "scanner-primary", "fingerprint": "899eb17bef664200", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/voice_profile_next_step.py"}, "region": {"startLine": 935}}}]}, {"ruleId": "scanner-034b3e22a6f6df93", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in lib/voice-profile-transcript-validation.ts:1"}, "properties": {"repobilityId": "18b1ef4fadabb5c6", "scanner": "scanner-primary", "fingerprint": "034b3e22a6f6df93", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/voice-profile-transcript-validation.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-654c3d02745b36f5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in lib/voice-profile-reanalysis.ts:1"}, "properties": {"repobilityId": "1d7778fe0b01b948", "scanner": "scanner-primary", "fingerprint": "654c3d02745b36f5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/voice-profile-reanalysis.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-27e6e30d2561f9ed", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in lib/clone-runner.ts:1"}, "properties": {"repobilityId": "0cab317fc1e0c307", "scanner": "scanner-primary", "fingerprint": "27e6e30d2561f9ed", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/clone-runner.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-df8d6cfa8f37bd6c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in lib/youtube-import.ts:1"}, "properties": {"repobilityId": "61487570edd39908", "scanner": "scanner-primary", "fingerprint": "df8d6cfa8f37bd6c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/youtube-import.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7d9729d9a1f1460b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in lib/voice-profile-verify.ts:1"}, "properties": {"repobilityId": "99cedb690ba04ad2", "scanner": "scanner-primary", "fingerprint": "7d9729d9a1f1460b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/voice-profile-verify.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-479884d5dc02aad1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in lib/recording-kit.ts:1"}, "properties": {"repobilityId": "617d5bce614234f8", "scanner": "scanner-primary", "fingerprint": "479884d5dc02aad1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/recording-kit.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d7fe0bbfe0766304", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in lib/voice-profile-next-step.ts:1"}, "properties": {"repobilityId": "e668c33e2b2d1507", "scanner": "scanner-primary", "fingerprint": "d7fe0bbfe0766304", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/voice-profile-next-step.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6c4c2b739d187e53", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in lib/voice-clone-goal-audit.ts:1"}, "properties": {"repobilityId": "531283a867cbcf11", "scanner": "scanner-primary", "fingerprint": "6c4c2b739d187e53", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/voice-clone-goal-audit.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6fb6f7e2335d2cf6", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in lib/profile-enrollment.ts:1"}, "properties": {"repobilityId": "952e7934efd764c5", "scanner": "scanner-primary", "fingerprint": "6fb6f7e2335d2cf6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/profile-enrollment.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c31f614672e4da64", "level": "note", "message": {"text": "Very large file: tests/audit-voice-clone-goal-script.test.ts (8554 lines)"}, "properties": {"repobilityId": "5926f017d366a9b7", "scanner": "scanner-primary", "fingerprint": "c31f614672e4da64", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0f3b2d2cc68590e2", "level": "note", "message": {"text": "Very large file: tests/voice-regression-score.test.ts (1579 lines)"}, "properties": {"repobilityId": "c06fe8f13a4cba2a", "scanner": "scanner-primary", "fingerprint": "0f3b2d2cc68590e2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6663bc8f3ae33a95", "level": "note", "message": {"text": "Very large file: tests/clone-runner.test.ts (2560 lines)"}, "properties": {"repobilityId": "fa8d6c121639dc11", "scanner": "scanner-primary", "fingerprint": "6663bc8f3ae33a95", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ff2b9ed0b368cd65", "level": "note", "message": {"text": "Very large file: tests/voxcpm-lora-training-job-script.test.ts (1637 lines)"}, "properties": {"repobilityId": "ff9613b7d9d5a32e", "scanner": "scanner-primary", "fingerprint": "ff2b9ed0b368cd65", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-56e08dcd9d0a4900", "level": "note", "message": {"text": "Very large file: tests/recording-kit-record-script.test.ts (1655 lines)"}, "properties": {"repobilityId": "7f4e528a0519882b", "scanner": "scanner-primary", "fingerprint": "56e08dcd9d0a4900", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a185077f855081c7", "level": "note", "message": {"text": "Very large file: tests/profile-clone-input.test.ts (1764 lines)"}, "properties": {"repobilityId": "d40e2d770849ddfd", "scanner": "scanner-primary", "fingerprint": "a185077f855081c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d6801020b7fb05e4", "level": "note", "message": {"text": "Very large file: tests/voice-profile-next-step-script.test.ts (2867 lines)"}, "properties": {"repobilityId": "3fb24004418bb04f", "scanner": "scanner-primary", "fingerprint": "d6801020b7fb05e4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9b89d60ddc2a4219", "level": "note", "message": {"text": "Very large file: tests/build-voice-profile-script.test.ts (1978 lines)"}, "properties": {"repobilityId": "9d399e6786aed7dc", "scanner": "scanner-primary", "fingerprint": "9b89d60ddc2a4219", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c2af77f2cbae6085", "level": "note", "message": {"text": "Very large file: scripts/build_voice_profile.py (1241 lines)"}, "properties": {"repobilityId": "10e32eaf8d38e166", "scanner": "scanner-primary", "fingerprint": "c2af77f2cbae6085", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ce88f37b6fda0290", "level": "note", "message": {"text": "Very large file: scripts/record_voice_profile_recording_kit.py (1843 lines)"}, "properties": {"repobilityId": "ff4de324d09f7ec8", "scanner": "scanner-primary", "fingerprint": "ce88f37b6fda0290", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ee58e9f837c2da80", "level": "note", "message": {"text": "Very large file: scripts/score_voice_regression.py (1527 lines)"}, "properties": {"repobilityId": "43413c4d6cbbfe5b", "scanner": "scanner-primary", "fingerprint": "ee58e9f837c2da80", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f8b832f81ea636ca", "level": "note", "message": {"text": "Very large file: scripts/voice_clone_regression.py (1880 lines)"}, "properties": {"repobilityId": "763b99e79e049fd4", "scanner": "scanner-primary", "fingerprint": "f8b832f81ea636ca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2a5adc5275423cc3", "level": "note", "message": {"text": "Very large file: scripts/audit_voice_clone_goal.py (5141 lines)"}, "properties": {"repobilityId": "224a00a66a43a560", "scanner": "scanner-primary", "fingerprint": "2a5adc5275423cc3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bfdb568f494ed600", "level": "note", "message": {"text": "Very large file: scripts/voice_profile_next_step.py (2579 lines)"}, "properties": {"repobilityId": "8d885d2d3ea7e9d9", "scanner": "scanner-primary", "fingerprint": "bfdb568f494ed600", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2e8ddae7e344015d", "level": "note", "message": {"text": "Very large file: scripts/prepare_voxcpm_lora_training_job.py (1396 lines)"}, "properties": {"repobilityId": "2dd07b34483d8ed3", "scanner": "scanner-primary", "fingerprint": "2e8ddae7e344015d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c3f86526b4d98e1c", "level": "note", "message": {"text": "Very large file: components/VoiceCloneStudio.tsx (1637 lines)"}, "properties": {"repobilityId": "98a365db1034017e", "scanner": "scanner-primary", "fingerprint": "c3f86526b4d98e1c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-617bf60615a9c370", "level": "note", "message": {"text": "Very large file: components/anyvoice/BuildTab.tsx (2030 lines)"}, "properties": {"repobilityId": "22961ef85e3f0b5b", "scanner": "scanner-primary", "fingerprint": "617bf60615a9c370", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d3af585ab38adca5", "level": "note", "message": {"text": "Very large file: lib/clone-runner.ts (2298 lines)"}, "properties": {"repobilityId": "113ccb5c69ce38b2", "scanner": "scanner-primary", "fingerprint": "d3af585ab38adca5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-444761769bfa4710", "level": "note", "message": {"text": "Very large file: lib/voice-profile.ts (1469 lines)"}, "properties": {"repobilityId": "2166f5540f229660", "scanner": "scanner-primary", "fingerprint": "444761769bfa4710", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "a07da49ee8bff633", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "a27d67b31f33d5b0", "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": "f4e3f8f47eb19303", "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": "e82e8f81d6347061", "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": "f592aea1da6ec650", "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": "815ede3ab97500e0", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-5317b4fa2365847b", "level": "none", "message": {"text": "Commented-code block (6 lines) in playwright.config.ts:7"}, "properties": {"repobilityId": "2c52456051a24425", "scanner": "scanner-primary", "fingerprint": "5317b4fa2365847b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf607b5be91c681a", "level": "none", "message": {"text": "Commented-code block (5 lines) in proxy.ts:13"}, "properties": {"repobilityId": "e89213925c825454", "scanner": "scanner-primary", "fingerprint": "cf607b5be91c681a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3126955c3e0d6c98", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/ffmpeg-filter-chain.test.ts:5"}, "properties": {"repobilityId": "1252940e5e024839", "scanner": "scanner-primary", "fingerprint": "3126955c3e0d6c98", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d032b6650ce396c", "level": "note", "message": {"text": "Stub function `log_message` (body is just `pass`/`return`) \u2014 scripts/voxcpm_hot_worker_anyvoice.py:317"}, "properties": {"repobilityId": "eab1794719e5171f", "scanner": "scanner-primary", "fingerprint": "0d032b6650ce396c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-19a58a7daf53e2bf", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/record_voice_profile_recording_kit.py:170"}, "properties": {"repobilityId": "231b873a978b78ac", "scanner": "scanner-primary", "fingerprint": "19a58a7daf53e2bf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1861973d0ed2ea6a", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/render_voice_backend_job.py:423"}, "properties": {"repobilityId": "7fb9109c549757c3", "scanner": "scanner-primary", "fingerprint": "1861973d0ed2ea6a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-67e311c354cbb724", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/transcribe_voice_regression.py:152"}, "properties": {"repobilityId": "1d1c07b17d08999a", "scanner": "scanner-primary", "fingerprint": "67e311c354cbb724", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2d5dee3fcbae5171", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/synthesize_voxcpm_anyvoice.py:64"}, "properties": {"repobilityId": "46600e71a533ebbd", "scanner": "scanner-primary", "fingerprint": "2d5dee3fcbae5171", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-085fd58947483589", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/synthesize_voxcpm_anyvoice.py:89"}, "properties": {"repobilityId": "82ed49446e988029", "scanner": "scanner-primary", "fingerprint": "085fd58947483589", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bd1d66cc9f8a9f20", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/import_voice_profile_clips.py:119"}, "properties": {"repobilityId": "68ed10316757b8d6", "scanner": "scanner-primary", "fingerprint": "bd1d66cc9f8a9f20", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-40611087aae71a7b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_voxcpm_lora_trainer.py:86"}, "properties": {"repobilityId": "2288948eaceddfb8", "scanner": "scanner-primary", "fingerprint": "40611087aae71a7b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c01e63ce03e181b2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/voice_clone_regression.py:1621"}, "properties": {"repobilityId": "f72803d6d265c38c", "scanner": "scanner-primary", "fingerprint": "c01e63ce03e181b2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7e7289ed8264ba09", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_voice_profile_recording_kit.py:66"}, "properties": {"repobilityId": "dc1a02d8c2e259c1", "scanner": "scanner-primary", "fingerprint": "7e7289ed8264ba09", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-48325cb5f916c22d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_voice_quality_gate.py:57"}, "properties": {"repobilityId": "23c9d61960fcea43", "scanner": "scanner-primary", "fingerprint": "48325cb5f916c22d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-73410fb125fdcf4b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/analyze_voice_reference.py:62"}, "properties": {"repobilityId": "90c974cad4204d8d", "scanner": "scanner-primary", "fingerprint": "73410fb125fdcf4b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-914d13fb44a53cc0", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/normalize_voice_profile_recording_kit_audio.py:214"}, "properties": {"repobilityId": "031129b7463b7b74", "scanner": "scanner-primary", "fingerprint": "914d13fb44a53cc0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dc11e3072205a0bc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/VoiceCloneStudio.tsx:838"}, "properties": {"repobilityId": "e6ad5a5221c575bd", "scanner": "scanner-primary", "fingerprint": "dc11e3072205a0bc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bd30b41d86c02641", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/BookReader.tsx:211"}, "properties": {"repobilityId": "436f9d1964b32dd6", "scanner": "scanner-primary", "fingerprint": "bd30b41d86c02641", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7feece63e9cb3204", "level": "note", "message": {"text": "Legacy-named symbol `localeForLegacy` in components/anyvoice/AnyVoiceApp.tsx:78"}, "properties": {"repobilityId": "58e2a0fee6463e48", "scanner": "scanner-primary", "fingerprint": "7feece63e9cb3204", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5c0214e3a069ef32", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/anyvoice/lib/anyvoice-client.ts:72"}, "properties": {"repobilityId": "560b48dd58574099", "scanner": "scanner-primary", "fingerprint": "5c0214e3a069ef32", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-73c59b933b34277b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/runs/[jobId]/audio/route.ts:33"}, "properties": {"repobilityId": "23b47ccf1ebce860", "scanner": "scanner-primary", "fingerprint": "73c59b933b34277b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-83aa7699bf8361b3", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/api/gateway-token/route.ts:4"}, "properties": {"repobilityId": "e4a01c0e0c0d9ddd", "scanner": "scanner-primary", "fingerprint": "83aa7699bf8361b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0162e559a16394b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/recording-kit-control/recording-kit-control.tsx:144"}, "properties": {"repobilityId": "1ffd18ee7c6d167c", "scanner": "scanner-primary", "fingerprint": "b0162e559a16394b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0f58838108f419cd", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/voice-profile-registry.ts:117"}, "properties": {"repobilityId": "02622f4a87653a56", "scanner": "scanner-primary", "fingerprint": "0f58838108f419cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1d723aa77481ade", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/book-job.ts:6"}, "properties": {"repobilityId": "716f06a26de29790", "scanner": "scanner-primary", "fingerprint": "e1d723aa77481ade", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39c9671dcbc38c39", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/clone-runner.ts:1777"}, "properties": {"repobilityId": "9f653bdca1b5285e", "scanner": "scanner-primary", "fingerprint": "39c9671dcbc38c39", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6d1e514716d4bc51", "level": "none", "message": {"text": "Commented-code block (9 lines) in lib/voice-profile.ts:726"}, "properties": {"repobilityId": "bdcd2876072fe394", "scanner": "scanner-primary", "fingerprint": "6d1e514716d4bc51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca7c461a46c1a67f", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/book-segment.ts:3"}, "properties": {"repobilityId": "9337074aa9470c13", "scanner": "scanner-primary", "fingerprint": "ca7c461a46c1a67f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee9f03b7641b326d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/anyvoice-gateway.ts:73"}, "properties": {"repobilityId": "982bbdb84dc63b59", "scanner": "scanner-primary", "fingerprint": "ee9f03b7641b326d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1662ae7a5bb4e048", "level": "note", "message": {"text": "33 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "90293c220e284644", "scanner": "scanner-primary", "fingerprint": "1662ae7a5bb4e048", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-380b7cb95b387b9c", "level": "note", "message": {"text": "Near-duplicate function bodies in 11 places"}, "properties": {"repobilityId": "95862e57eb4243a4", "scanner": "scanner-primary", "fingerprint": "380b7cb95b387b9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "c93788f54a715cf8", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-0027e313ade46c8f", "level": "note", "message": {"text": "Near-duplicate function bodies in 7 places"}, "properties": {"repobilityId": "76672776c0dedeb8", "scanner": "scanner-primary", "fingerprint": "0027e313ade46c8f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-380b7cb95b387b9c", "level": "note", "message": {"text": "Near-duplicate function bodies in 11 places"}, "properties": {"repobilityId": "95909cc2d95cc5d4", "scanner": "scanner-primary", "fingerprint": "380b7cb95b387b9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "8090dbd28f4f8a7a", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "fb21f016312d86a7", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-33a6b62e30ce7ab4", "level": "note", "message": {"text": "Near-duplicate function bodies in 6 places"}, "properties": {"repobilityId": "7a187ff068c07927", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "bf3474b8d5f9c249", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "ce39bdc2e8e2e16b", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "b7f76f5ede39274a", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-fe1d9311d6aee734", "level": "note", "message": {"text": "Near-duplicate function bodies in 12 places"}, "properties": {"repobilityId": "f1873be3c3965b52", "scanner": "scanner-primary", "fingerprint": "fe1d9311d6aee734", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "27a627386cbebfaf", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "d35c152ca1f8fa6b", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "e2a05290569fdb03", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "24906b7b31f03968", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "d310103a15ad84b3", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "0dcc75095a1eb05c", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-33a6b62e30ce7ab4", "level": "note", "message": {"text": "Near-duplicate function bodies in 6 places"}, "properties": {"repobilityId": "56b2faa3955b560d", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "e4ad65e5a0b1c196", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "cf797399b5ee59fb", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}