{"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: tipropark/faturamento", "shortDescription": {"text": "Foundry mined unresolved feedback: tipropark/faturamento"}, "fullDescription": {"text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: tipropark/faturamento\nThread: tipropark/faturamento#1\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: tipropark/faturamento\nThread: tipropark/faturamento#1\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: tipropark/faturamento#1\nRepo: tipropark/faturamento\nIssue/PR number: 1\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_ha"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: tipropark/faturamento", "shortDescription": {"text": "Foundry mined bad chains: tipropark/faturamento"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: tipropark/faturamento\nThread: tipropark/faturamento#1\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: tipropark/faturamento#1\nRepo: tipropark/faturamento\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'build_install_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c025552e561e89a4\",\n    \"kind\": \"issue_body\",\n    \"label\": \"build_install_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/tipropark/faturamento/issues/1\",\n    \""}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "high", "confidence": 0.84, "cwe": "", "owasp": ""}}, {"id": "scanner-d562bb42e15e0e21", "name": "Possibly dead Python function: calculate_aso_score", "shortDescription": {"text": "Possibly dead Python function: calculate_aso_score"}, "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-006a2dcd7d38d95b", "name": "Possibly dead Python function: identify_gaps", "shortDescription": {"text": "Possibly dead Python function: identify_gaps"}, "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-8fbdcdc5b9594ca5", "name": "Possibly dead Python function: analyze_competitor_set", "shortDescription": {"text": "Possibly dead Python function: analyze_competitor_set"}, "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-80438aa5cc783ba5", "name": "Possibly dead Python function: translate_metadata", "shortDescription": {"text": "Possibly dead Python function: translate_metadata"}, "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-b26c5fedc294b3b6", "name": "Possibly dead Python function: adapt_keywords", "shortDescription": {"text": "Possibly dead Python function: adapt_keywords"}, "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-7dec0665df0fa6b6", "name": "Possibly dead Python function: validate_translations", "shortDescription": {"text": "Possibly dead Python function: validate_translations"}, "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-4feef2301892b6c1", "name": "Possibly dead Python function: plan_localization_strategy", "shortDescription": {"text": "Possibly dead Python function: plan_localization_strategy"}, "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-62e387942873d840", "name": "Possibly dead Python function: track_sentiment_trends", "shortDescription": {"text": "Possibly dead Python function: track_sentiment_trends"}, "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-f634c3643fe0ec45", "name": "Possibly dead Python function: generate_response_templates", "shortDescription": {"text": "Possibly dead Python function: generate_response_templates"}, "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-eb73c5d36e94db23", "name": "Possibly dead Python function: analyze_reviews", "shortDescription": {"text": "Possibly dead Python function: analyze_reviews"}, "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-251b9d824f027c8b", "name": "Possibly dead Python function: validate_app_store_compliance", "shortDescription": {"text": "Possibly dead Python function: validate_app_store_compliance"}, "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-e92447714343ce02", "name": "Possibly dead Python function: create_update_plan", "shortDescription": {"text": "Possibly dead Python function: create_update_plan"}, "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-bffe4da3ec32a841", "name": "Possibly dead Python function: optimize_launch_timing", "shortDescription": {"text": "Possibly dead Python function: optimize_launch_timing"}, "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-09a0e0f34774fc2b", "name": "Possibly dead Python function: plan_seasonal_campaigns", "shortDescription": {"text": "Possibly dead Python function: plan_seasonal_campaigns"}, "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-947fa38a3a620ec5", "name": "Possibly dead Python function: generate_launch_checklist", "shortDescription": {"text": "Possibly dead Python function: generate_launch_checklist"}, "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-2a2e5e3faf81bf7e", "name": "Possibly dead Python function: validate_character_limits", "shortDescription": {"text": "Possibly dead Python function: validate_character_limits"}, "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-b935e9542204898a", "name": "Possibly dead Python function: optimize_app_metadata", "shortDescription": {"text": "Possibly dead Python function: optimize_app_metadata"}, "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-1a003c77385e5e91", "name": "Possibly dead Python function: find_long_tail_opportunities", "shortDescription": {"text": "Possibly dead Python function: find_long_tail_opportunities"}, "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-d8ccb89df01153ce", "name": "Possibly dead Python function: extract_keywords_from_text", "shortDescription": {"text": "Possibly dead Python function: extract_keywords_from_text"}, "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-a56871e79b2b8c22", "name": "Possibly dead Python function: analyze_keyword_set", "shortDescription": {"text": "Possibly dead Python function: analyze_keyword_set"}, "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-40318fe072f809d9", "name": "Possibly dead Python function: process_test_case", "shortDescription": {"text": "Possibly dead Python function: process_test_case"}, "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-0c2767b71b71b3ca", "name": "Possibly dead Python function: compare_prompts", "shortDescription": {"text": "Possibly dead Python function: compare_prompts"}, "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-210a773ba01c1494", "name": "Possibly dead Python function: update_notebook", "shortDescription": {"text": "Possibly dead Python function: update_notebook"}, "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-8ffeacdb66726491", "name": "Possibly dead Python function: increment_use_count", "shortDescription": {"text": "Possibly dead Python function: increment_use_count"}, "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-0b2957c80aed6b3f", "name": "Possibly dead Python function: is_expired", "shortDescription": {"text": "Possibly dead Python function: is_expired"}, "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-2d87cd1af1db4ca8", "name": "Stray `console.log` in TS/JS \u2014 check_casing.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_casing.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8953e91cbe798fb4", "name": "Stray `console.log` in TS/JS \u2014 update_sql_tz.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 update_sql_tz.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e25b8bf075b43ab1", "name": "Stray `console.log` in TS/JS \u2014 check_today_count.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_today_count.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7c7fb00b20f183b6", "name": "Stray `console.log` in TS/JS \u2014 check_op_summary.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_op_summary.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc28d632a9e2b2f9", "name": "Stray `console.log` in TS/JS \u2014 check_other_types.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_other_types.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5623d4be12529941", "name": "Stray `console.log` in TS/JS \u2014 fix_metas_stats.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 fix_metas_stats.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6e6a360d441a8845", "name": "Stray `console.log` in TS/JS \u2014 chk_men.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 chk_men.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8fb1546e957fa317", "name": "Stray `console.log` in TS/JS \u2014 inspect_ops_fields.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 inspect_ops_fields.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa7f3f73c2fda984", "name": "Stray `console.log` in TS/JS \u2014 check_cais.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_cais.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c4ede9eb44091cc8", "name": "Stray `console.log` in TS/JS \u2014 query7.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 query7.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e3976ab573e6b41d", "name": "Stray `console.log` in TS/JS \u2014 fix_sql_calc.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 fix_sql_calc.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7ba6b24857b68b79", "name": "Stray `console.log` in TS/JS \u2014 check_cols.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_cols.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cdef50b555f9c5b6", "name": "Stray `console.log` in TS/JS \u2014 fix_metas.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 fix_metas.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c2c1dba8e8341981", "name": "Stray `console.log` in TS/JS \u2014 check_resumo_cais.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_resumo_cais.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9168881890506ab7", "name": "Stray `console.log` in TS/JS \u2014 test_20000_dist.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test_20000_dist.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d8b19bd594f7b4a", "name": "Stray `console.log` in TS/JS \u2014 check_dates.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_dates.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bc7c47418156295e", "name": "Stray `console.log` in TS/JS \u2014 check_sync_status.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_sync_status.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-94a52ac70923f77e", "name": "Stray `console.log` in TS/JS \u2014 trigger_all_alerts.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 trigger_all_alerts.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0f065334bacb0dcd", "name": "Stray `console.log` in TS/JS \u2014 inspect_cais.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 inspect_cais.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-010d61119c4269e7", "name": "Stray `console.log` in TS/JS \u2014 check_adj.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_adj.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6dc4fccd645ee113", "name": "Stray `console.log` in TS/JS \u2014 check_movs_real.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_movs_real.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-87affc8e0c5eb4e3", "name": "Stray `console.log` in TS/JS \u2014 check_eventual.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_eventual.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c548bbaa1ea37154", "name": "Stray `console.log` in TS/JS \u2014 query4.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 query4.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c3597c301efcc255", "name": "Stray `console.log` in TS/JS \u2014 audit_senior.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 audit_senior.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-00c9f33c0237df4b", "name": "Stray `console.log` in TS/JS \u2014 fix_metas_agressive.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 fix_metas_agressive.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5eaf9be023d870c0", "name": "Stray `console.log` in TS/JS \u2014 fix_all_summaries.js:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 fix_all_summaries.js:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9d294305ec1ade03", "name": "Stray `console.log` in TS/JS \u2014 check_receita_sample.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_receita_sample.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d10c037770ada13d", "name": "Stray `console.log` in TS/JS \u2014 final_check_17.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 final_check_17.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-435a19cf98a63eb3", "name": "Stray `console.log` in TS/JS \u2014 test_api_client.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test_api_client.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-33a838bc31da827c", "name": "Stray `console.log` in TS/JS \u2014 check_all_types.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_all_types.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea0bd7eb1369b8ac", "name": "Stray `console.log` in TS/JS \u2014 find_400.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 find_400.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e877616dc2e36f7d", "name": "Stray `console.log` in TS/JS \u2014 scan_all_cais.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scan_all_cais.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0b9db1eb71bcb14d", "name": "Stray `console.log` in TS/JS \u2014 nuke_today.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 nuke_today.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-592ef8eb0178cd9d", "name": "Stray `console.log` in TS/JS \u2014 inspect_totals.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 inspect_totals.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5f00ec5a98b65e3a", "name": "Stray `console.log` in TS/JS \u2014 check_mensalista.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_mensalista.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6c35af51b32262cc", "name": "Stray `console.log` in TS/JS \u2014 debug_movs.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 debug_movs.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f08e6076017400a2", "name": "Stray `console.log` in TS/JS \u2014 kick_api.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 kick_api.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49b829c461863b71", "name": "Stray `console.log` in TS/JS \u2014 check_yesterday_summ.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_yesterday_summ.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-22aafef1e7fab2e6", "name": "Stray `console.log` in TS/JS \u2014 check_db_alertas.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_db_alertas.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5e8febab157116e6", "name": "Stray `console.log` in TS/JS \u2014 purge_today.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 purge_today.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e246679bd2b337ef", "name": "Stray `console.log` in TS/JS \u2014 inspect_op.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 inspect_op.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ea1fda64a2d1e75", "name": "Stray `console.log` in TS/JS \u2014 check_data.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_data.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3e84b49a4509eb27", "name": "Stray `console.log` in TS/JS \u2014 inspect_today.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 inspect_today.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3aaf3fe63c76cd1f", "name": "Stray `console.log` in TS/JS \u2014 check_discrepancy_detalhe.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_discrepancy_detalhe.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-78a6632c392648f9", "name": "Stray `console.log` in TS/JS \u2014 test_yest_api.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test_yest_api.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6740aeeb63796219", "name": "Stray `console.log` in TS/JS \u2014 check_mensalistas.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_mensalistas.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1a0ee707daeddf54", "name": "Stray `console.log` in TS/JS \u2014 server.js:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server.js:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ae8270ed0e365bb", "name": "Stray `console.log` in TS/JS \u2014 test_ilike.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test_ilike.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9b6849b7fe0688fd", "name": "Stray `console.log` in TS/JS \u2014 check_mensalistas_dates.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_mensalistas_dates.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-97b336d03ebcdb17", "name": "Stray `console.log` in TS/JS \u2014 find_1348.js:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 find_1348.js:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eccdea61df13ab9d", "name": "Stray `console.log` in TS/JS \u2014 check_count.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_count.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4105a0a5bccc1d2c", "name": "Stray `console.log` in TS/JS \u2014 query.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 query.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf0bb3c2d3677061", "name": "Stray `console.log` in TS/JS \u2014 check_summaries.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_summaries.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-288ae0dbc151a82c", "name": "Stray `console.log` in TS/JS \u2014 test_20000.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test_20000.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8e93de8285faeb47", "name": "Stray `console.log` in TS/JS \u2014 query6.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 query6.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac8963fe99c04ac4", "name": "Stray `console.log` in TS/JS \u2014 check_raw_dates.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_raw_dates.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4392752e7f73810c", "name": "Stray `console.log` in TS/JS \u2014 query5.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 query5.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c024649b9edf8800", "name": "Stray `console.log` in TS/JS \u2014 query3.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 query3.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a2c20e024d34892", "name": "Stray `console.log` in TS/JS \u2014 check_nulls.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_nulls.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ae7f4b052f462bd", "name": "Stray `console.log` in TS/JS \u2014 check_sync_status_lite.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_sync_status_lite.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a44c0d44d5aa60a", "name": "Stray `console.log` in TS/JS \u2014 check_today_summ.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_today_summ.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a4258bb109024dd", "name": "Stray `console.log` in TS/JS \u2014 check_class.js:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_class.js:68"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f6308df05db9af28", "name": "Stray `console.log` in TS/JS \u2014 fix_all.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 fix_all.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-68d7f1633b1de00c", "name": "Stray `console.log` in TS/JS \u2014 fix_metas_final.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 fix_metas_final.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2bfcbe7f8ccc0478", "name": "Stray `console.log` in TS/JS \u2014 query2.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 query2.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-319a53a434798181", "name": "Stray `console.log` in TS/JS \u2014 check_past_summary.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_past_summary.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fb57fb81235e5796", "name": "Stray `console.log` in TS/JS \u2014 check_cais_yest.js:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_cais_yest.js:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6741338015811914", "name": "Stray `console.log` in TS/JS \u2014 check_others.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_others.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7ffd41e33eefad68", "name": "Stray `console.log` in TS/JS \u2014 check_receita.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check_receita.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b90ffc980ff00be2", "name": "Stray `console.log` in TS/JS \u2014 scripts/register_module_governance.js:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/register_module_governance.js:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d3d99e04a8ec8f4a", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed_central_solicitacoes_perms.js:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed_central_solicitacoes_perms.js:48"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c1e87e8e02adb75c", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrar_faturamento.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrar_faturamento.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-53e2b1408e8a91a0", "name": "Stray `console.log` in TS/JS \u2014 scratch/find_agemar.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/find_agemar.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6e4eccf4305582f4", "name": "Stray `console.log` in TS/JS \u2014 scratch/run_test_payload.js:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/run_test_payload.js:45"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-81e009ee23b661c5", "name": "Stray `console.log` in TS/JS \u2014 scratch/inspect_cp_movs.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/inspect_cp_movs.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9b6dcaf8e1d82013", "name": "Stray `console.log` in TS/JS \u2014 scratch/wipe_central.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/wipe_central.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-06d1c136f9b1a3d6", "name": "Stray `console.log` in TS/JS \u2014 scratch/check-status.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-status.ts:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b574b9308742b049", "name": "Stray `console.log` in TS/JS \u2014 scratch/reprocess_faturamento.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/reprocess_faturamento.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3db1a30a617845f", "name": "Stray `console.log` in TS/JS \u2014 scratch/check_cloudpark_today.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_cloudpark_today.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d9f30b1c37def406", "name": "Stray `console.log` in TS/JS \u2014 scratch/reprocess_final.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/reprocess_final.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a2956825d370288d", "name": "Stray `console.log` in TS/JS \u2014 scratch/check_cloudpark_data.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_cloudpark_data.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b962ccf0cb4aaae4", "name": "Stray `console.log` in TS/JS \u2014 scratch/setup_approvals.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/setup_approvals.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3576100cf40a6fbf", "name": "Stray `console.log` in TS/JS \u2014 scratch/consolidate_statuses.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/consolidate_statuses.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-99b19992ba1f3ec5", "name": "Stray `console.log` in TS/JS \u2014 scratch/inspect_agemar.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/inspect_agemar.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d52992f89ae4c7d", "name": "Stray `console.log` in TS/JS \u2014 scratch/check_personal_data.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_personal_data.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad287f94aed34bf1", "name": "Stray `console.log` in TS/JS \u2014 scratch/find_tables.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/find_tables.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-935fafc9e6648dc3", "name": "Stray `console.log` in TS/JS \u2014 scratch/check_fix.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_fix.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fef218da7f3ba7da", "name": "Stray `console.log` in TS/JS \u2014 scratch/list_ops.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/list_ops.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f3e5bbfd6df1b87d", "name": "Stray `console.log` in TS/JS \u2014 scratch/inspect_imip.js:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/inspect_imip.js:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d501697a59da3c48", "name": "Stray `console.log` in TS/JS \u2014 scratch/list_yesterday.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/list_yesterday.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8d8bf8a92e48dbcd", "name": "Stray `console.log` in TS/JS \u2014 scratch/check_schema_approvals.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_schema_approvals.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-10476a375dc7a923", "name": "Stray `console.log` in TS/JS \u2014 scratch/check_db_direct.js:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_db_direct.js:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e4c7df7ebc1eab4", "name": "Stray `console.log` in TS/JS \u2014 scratch/targeted_reprocess.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/targeted_reprocess.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9257839d6945b374", "name": "Stray `console.log` in TS/JS \u2014 scratch/check_status_duplicates.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_status_duplicates.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0666f5743a5d6397", "name": "Stray `console.log` in TS/JS \u2014 scratch/reprocess_faturamento_robust.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/reprocess_faturamento_robust.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-90133926aaafd6fc", "name": "Stray `console.log` in TS/JS \u2014 scratch/explore_db.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/explore_db.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-32ede327b357c152", "name": "Stray `console.log` in TS/JS \u2014 scratch/simulate_status_api.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/simulate_status_api.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ac47a06fe0948e0", "name": "Stray `console.log` in TS/JS \u2014 scratch/try_alter_table.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/try_alter_table.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a9653f7aefb12140", "name": "Stray `console.log` in TS/JS \u2014 scratch/find_ti_depto.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/find_ti_depto.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fc5e059328a9e40e", "name": "Stray `console.log` in TS/JS \u2014 src/components/PWAInstallPrompt.tsx:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/components/PWAInstallPrompt.tsx:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf58b9d3b758a3b9", "name": "Stray `console.log` in TS/JS \u2014 src/components/PWARegistration.tsx:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/components/PWARegistration.tsx:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a2feb6b38175937b", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/central-solicitacoes/dashboards/DefaultDashboard.ts", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/central-solicitacoes/dashboards/DefaultDashboard.tsx:55"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e94ab4306da6820d", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/layout.tsx:46", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/layout.tsx:46"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-13eb04635c183dfb", "name": "Stray `console.log` in TS/JS \u2014 src/app/api/central-solicitacoes/ai-suggest/route.ts:160", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/central-solicitacoes/ai-suggest/route.ts:160"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9a2fc6b9d8c21f01", "name": "Stray `console.log` in TS/JS \u2014 src/app/api/central-solicitacoes/ai-classify/route.ts:150", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/central-solicitacoes/ai-classify/route.ts:150"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ade06ec3f4df737a", "name": "Stray `console.log` in TS/JS \u2014 src/app/api/central-solicitacoes/stats/route.ts:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/central-solicitacoes/stats/route.ts:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4972a3c190945e57", "name": "Stray `console.log` in TS/JS \u2014 src/app/api/operacoes/[id]/agente-config/route.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/operacoes/[id]/agente-config/route.ts:45"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6b740b65771f27db", "name": "Stray `console.log` in TS/JS \u2014 src/app/api/metas-faturamento/route.ts:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/metas-faturamento/route.ts:63"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f464a17ee73fcefd", "name": "Stray `console.log` in TS/JS \u2014 src/app/api/sac/ai/cron-analise/route.ts:101", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/sac/ai/cron-analise/route.ts:101"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-95e86eabdcf23f90", "name": "Stray `console.log` in TS/JS \u2014 src/app/api/sac/ai/analisar-pendentes/route.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/sac/ai/analisar-pendentes/route.ts:64"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d859199ed6a07a8d", "name": "Stray `console.log` in TS/JS \u2014 src/app/api/sac/mobichat/sync/route.ts:97", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/sac/mobichat/sync/route.ts:97"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3194de4f94ae9bf", "name": "Stray `console.log` in TS/JS \u2014 src/app/api/sac/atendimentos/[id]/ai-analisar/route.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/sac/atendimentos/[id]/ai-analisar/route.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb7c34f2c4e50d47", "name": "Stray `console.log` in TS/JS \u2014 src/app/api/webhooks/mobichat/route.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/webhooks/mobichat/route.ts:45"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-25f29b4187ad032d", "name": "Stray `console.log` in TS/JS \u2014 src/app/api/faturamento/templates/route.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/faturamento/templates/route.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6771611b27168ffd", "name": "Stray `console.log` in TS/JS \u2014 src/app/api/faturamento/importar-movimentos/route.ts:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/faturamento/importar-movimentos/route.ts:40"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-85ca0ddf562316b6", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/central-solicitacoes/nova/page.tsx:2067", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/central-solicitacoes/nova/page.tsx:2067"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d038a355978f6dd2", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:200"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d891c4ad4b256cf4", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:329"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3d1b19d3961daf90", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(dashboard)/admin/notificacoes/canais/page.tsx:595", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(dashboard)/admin/notificacoes/canais/page.tsx:595"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-760091c89e231721", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/admin/usuarios/page.tsx:546", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/admin/usuarios/page.tsx:546"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7c85bcc585f6ca21", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/admin/faturamento/page.tsx:1216", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/admin/faturamento/page.tsx:1216"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7960ad3bccef4965", "name": "Stray `console.log` in TS/JS \u2014 src/app/(dashboard)/admin/faturamento/page.tsx:187", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(dashboard)/admin/faturamento/page.tsx:187"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a7b346eb861b63e6", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/admin/faturamento/alertas/page.tsx:88", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/admin/faturamento/alertas/page.tsx:88"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65b49f82370db2ad", "name": "Stray `console.log` in TS/JS \u2014 src/lib/faturamento-alertas.ts:84", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/faturamento-alertas.ts:84"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9b74ec0cff3c2230", "name": "Stray `console.log` in TS/JS \u2014 src/lib/mobile/fcm.ts:108", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/mobile/fcm.ts:108"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11041f674fe41b5b", "name": "Stray `console.log` in TS/JS \u2014 src/lib/hooks/useSessionWatcher.ts:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/hooks/useSessionWatcher.ts:79"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-07becd287fe173f2", "name": "Stray `console.log` in TS/JS \u2014 src/lib/sac/ia-auto-trigger.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/sac/ia-auto-trigger.ts:64"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4786515fc32c1b62", "name": "Possible secret in skills/api-documentation-generator/SKILL.md", "shortDescription": {"text": "Possible secret in skills/api-documentation-generator/SKILL.md"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-b561fd71b8d49ea1", "name": "Insecure pattern 'dangerous_innerhtml' in skills/frontend-mobile-security-xss-scan/SKILL.md:164", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in skills/frontend-mobile-security-xss-scan/SKILL.md:164"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4998469b40bbe5d2", "name": "Insecure pattern 'direct_innerhtml_assignment' in skills/frontend-mobile-security-xss-scan/SKILL.md:215", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skills/frontend-mobile-security-xss-scan/SKILL.md:215"}, "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-5623b592646c673d", "name": "Possible secret in skills/api-endpoint-builder/SKILL.md", "shortDescription": {"text": "Possible secret in skills/api-endpoint-builder/SKILL.md"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-840b868178b4937e", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/central-solicitacoes/dashboards/DefaultDashboard.tsx:55", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/central-solicitacoes/dashboards/DefaultDashboard.tsx:55"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8d6373e19925a90a", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/layout.tsx:46", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/layout.tsx:46"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-29efa463da77bebb", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:200", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:200"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e764e9faae384927", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:329", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:329"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-14fd79cb236cec79", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/(dashboard)/admin/notificacoes/canais/page.tsx:595", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(dashboard)/admin/notificacoes/canais/page.tsx:595"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c745e76730412d39", "name": "Possible secret in src/lib/mobile/fcm.ts", "shortDescription": {"text": "Possible secret in src/lib/mobile/fcm.ts"}, "fullDescription": {"text": "Detected pattern matching private_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-28c4a04bd807da0c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "appleboy/ssh-action@v1.2.0 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4d1a4a25c49f8603", "name": "Very large file: src/app/(dashboard)/sac-colaborador/[id]/page.tsx (939 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/sac-colaborador/[id]/page.tsx (939 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-406b0d3ed2570620", "name": "Very large file: src/app/(dashboard)/central-solicitacoes/[id]/page.tsx (3964 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/central-solicitacoes/[id]/page.tsx (3964 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-9fca7e6ca6320428", "name": "Very large file: src/app/(dashboard)/central-solicitacoes/nova/page.tsx (2898 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/central-solicitacoes/nova/page.tsx (2898 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-0421ec73c52a2139", "name": "Very large file: src/app/(dashboard)/admin/contas-fixas/faturas/page.tsx (1269 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/admin/contas-fixas/faturas/page.tsx (1269 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-3106ddc78265bc42", "name": "Very large file: src/app/(dashboard)/admin/operacoes/page.tsx (1056 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/admin/operacoes/page.tsx (1056 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-cde5def25da71c04", "name": "Very large file: src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx (1385 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx (1385 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-ad575f7a035ffb76", "name": "Very large file: src/app/(dashboard)/admin/patrimonio/[id]/page.tsx (1944 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/admin/patrimonio/[id]/page.tsx (1944 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-4c577cb7e2f768c3", "name": "Very large file: src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx (1245 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx (1245 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-b917ce47a60f3e06", "name": "Very large file: src/app/(dashboard)/admin/usuarios/page.tsx (896 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/admin/usuarios/page.tsx (896 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-be1dcc020220281a", "name": "Very large file: src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx (1470 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx (1470 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-f9bad3986c3b003b", "name": "Very large file: src/app/(dashboard)/admin/faturamento/page.tsx (1814 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/admin/faturamento/page.tsx (1814 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-802c0a5d7e838be0", "name": "Very large file: src/app/(dashboard)/admin/faturamento/metas/page.tsx (1198 lines)", "shortDescription": {"text": "Very large file: src/app/(dashboard)/admin/faturamento/metas/page.tsx (1198 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-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "10 test file(s) for 769 source file(s) (ratio 0.01). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "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 882 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 260 placeholder/mock markers across 93 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-bea357a6497a2d5d", "name": "Agent authority lacks a verifier contract: CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-122f91b7f2906dc4", "name": "Agent authority lacks a verifier contract: .claude/settings.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-18b7d2662f270820", "name": "Agent authority lacks a verifier contract: .claude/rules/orchestrator.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/rules/orchestrator.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-242ea83e4a858e1c", "name": "Agent instruction/config may expose a secret: skills/ai-studio-image/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/ai-studio-image/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-276e8bb0c39cb3bf", "name": "Agent authority lacks a verifier contract: skills/ai-studio-image/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/ai-studio-image/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-803787c86848301d", "name": "Agent authority lacks a verifier contract: skills/web-design-guidelines/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/web-design-guidelines/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-db3a351fc3a94abc", "name": "Agent authority lacks a verifier contract: skills/architecture/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/architecture/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-07d0716f70bfb96b", "name": "Agent authority lacks a verifier contract: skills/database-design/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/database-design/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d1dd574c997532f", "name": "Agent authority lacks a verifier contract: skills/documentation/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/documentation/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-55e27bc5b83af7c0", "name": "Agent authority lacks a verifier contract: skills/audit-skills/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/audit-skills/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-18f5cea7b9dd377b", "name": "Agent instruction contains unpinned remote install: skills/audit-skills/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/audit-skills/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e85b25c72034a7e3", "name": "Agent instruction/config may expose a secret: skills/antigravity-skill-orchestrator/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/antigravity-skill-orchestrator/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-05164b9878fa6570", "name": "Agent instruction/config may expose a secret: skills/n8n-mcp-tools-expert/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/n8n-mcp-tools-expert/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-af62950407b96f49", "name": "Agent instruction/config may expose a secret: skills/devops-deploy/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/devops-deploy/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-631e8d625c1028ee", "name": "Agent authority lacks a verifier contract: skills/documentation-templates/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/documentation-templates/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1ab66e91cffe4398", "name": "Agent authority lacks a verifier contract: skills/frontend-mobile-security-xss-scan/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/frontend-mobile-security-xss-scan/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-82b4f91fd59f0312", "name": "Agent authority lacks a verifier contract: skills/app-builder/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/app-builder/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-317fb058bedfe929", "name": "Agent authority lacks a verifier contract: skills/app-builder/templates/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/app-builder/templates/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7b2233973c3c495a", "name": "Agent authority lacks a verifier contract: skills/database-migrations-migration-observability/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/database-migrations-migration-observability/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-37a9cd5189085481", "name": "Agent authority lacks a verifier contract: skills/notebooklm/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/notebooklm/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-56a88650b4ca0b22", "name": "Agent authority lacks a verifier contract: skills/copywriting/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/copywriting/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-553533e16c45193c", "name": "Legacy-named symbol `faturamento_consolidar_dia_v2` in query4.js:9", "shortDescription": {"text": "Legacy-named symbol `faturamento_consolidar_dia_v2` in query4.js:9"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d13c37af414dfb69", "name": "Legacy-named symbol `faturamento_consolidar_dia_v2` in query5.js:9", "shortDescription": {"text": "Legacy-named symbol `faturamento_consolidar_dia_v2` in query5.js:9"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ccb7965cd73029c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/run_test_payload.js:35", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/run_test_payload.js:35"}, "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-c7d27de25bc8baa4", "name": "Legacy-named symbol `try_backup` in skills/ai-studio-image/scripts/config.py:28", "shortDescription": {"text": "Legacy-named symbol `try_backup` in skills/ai-studio-image/scripts/config.py:28"}, "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-31d010a9c12d03d9", "name": "Network/subprocess call without timeout or try/except \u2014 skills/audio-transcriber/scripts/transcribe.py:26", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/audio-transcriber/scripts/transcribe.py:26"}, "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-6e75adb52e70f695", "name": "Network/subprocess call without timeout or try/except \u2014 skills/notebooklm/scripts/__init__.py:53", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/notebooklm/scripts/__init__.py:53"}, "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-660c792ccb4848a2", "name": "Network/subprocess call without timeout or try/except \u2014 skills/notebooklm/scripts/setup_environment.py:62", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/notebooklm/scripts/setup_environment.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-7251cc3a703d55dd", "name": "Network/subprocess call without timeout or try/except \u2014 skills/notebooklm/scripts/run.py:38", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/notebooklm/scripts/run.py:38"}, "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-a71a2f88f38bbe07", "name": "Commented-code block (6 lines) in public/sw.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in public/sw.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-04ec95ad2c8d95a0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public/sw.js:87", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/sw.js:87"}, "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-2a7d4df223d22a64", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/central-solicitacoes/dashboards/TIDashboard.tsx:56", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/central-solicitacoes/dashboards/TIDashboard.tsx:56"}, "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-99277f29a70d3459", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/central-solicitacoes/dashboards/RHDashboard.tsx:42", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/central-solicitacoes/dashboards/RHDashboard.tsx:42"}, "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-a965e5a1c09f0a0c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/central-solicitacoes/dashboards/DiretoriaDashboard.tsx:58", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/central-solicitacoes/dashboards/DiretoriaDashboard.tsx:58"}, "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-c3fd0fec42ce716c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/patrimonio/SubcategoriaModal.tsx:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/patrimonio/SubcategoriaModal.tsx:37"}, "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-71e88c5fae4d5709", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/sac/SacAnexoUploader.tsx:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/sac/SacAnexoUploader.tsx:41"}, "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-0ff54349413400ae", "name": "Legacy-named symbol `evolution_central_logs_v1` in src/app/api/central-solicitacoes/[id]/route.ts:786", "shortDescription": {"text": "Legacy-named symbol `evolution_central_logs_v1` in src/app/api/central-solicitacoes/[id]/route.ts:786"}, "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-e5c695893fb742b3", "name": "Commented-code block (5 lines) in src/app/api/central-solicitacoes/[id]/route.ts:174", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/api/central-solicitacoes/[id]/route.ts:174"}, "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-c24ee935bcf78fbe", "name": "Commented-code block (5 lines) in src/app/api/central-solicitacoes/[id]/aprovacao/route.ts:169", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/api/central-solicitacoes/[id]/aprovacao/route.ts:169"}, "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-fd2e93272462e394", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/utils/veiculo/route.ts:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/utils/veiculo/route.ts:34"}, "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-362a05dbd4050e2d", "name": "Commented-code block (5 lines) in src/app/api/mobile/v1/patio/app-config/route.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/api/mobile/v1/patio/app-config/route.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-a2c0b5f7d4ade73e", "name": "Commented-code block (5 lines) in src/app/api/admin/patio/resultados/route.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/api/admin/patio/resultados/route.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-21a45078839e44e7", "name": "Commented-code block (7 lines) in src/app/api/admin/patio/tickets/route.ts:7", "shortDescription": {"text": "Commented-code block (7 lines) in src/app/api/admin/patio/tickets/route.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-d6d092b04f25e0e5", "name": "Commented-code block (6 lines) in src/app/api/admin/patio/caixas/route.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in src/app/api/admin/patio/caixas/route.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-c1d36047a1fe86ab", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/patrimonio/[id]/download-termo/route.ts:102", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/patrimonio/[id]/download-termo/route.ts:102"}, "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-2e26a2861fcb0746", "name": "Commented-code block (5 lines) in src/app/api/sac/mobichat/sync/route.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/api/sac/mobichat/sync/route.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-abcf7628ccdcbd26", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/webhooks/assinafy/[secret]/route.ts:139", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/webhooks/assinafy/[secret]/route.ts:139"}, "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-6b64781a44b29512", "name": "Commented-code block (5 lines) in src/app/api/calendario/eventos/[id]/route.ts:9", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/api/calendario/eventos/[id]/route.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e0166530962bf7fb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/sac-colaborador/relatorios/RelatorioColaboradoresClien", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/sac-colaborador/relatorios/RelatorioColaboradoresClient.tsx:93"}, "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-f6477aa2933a4414", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:111", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:111"}, "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-fac7bcb78ce84efb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:86", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:86"}, "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-5bfe48956c99fd24", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/page.tsx:52", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/page.tsx:52"}, "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-1020c5ccf6ac0725", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:819", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:819"}, "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-cc5428805512eae4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/nova/page.tsx:137", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/nova/page.tsx:137"}, "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-3c1350ef4bf30146", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/todas/page.tsx:446", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/todas/page.tsx:446"}, "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-b8317ac173b6c06c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:79"}, "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-c9b5ba19a3655c5e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:190", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:190"}, "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-0b362f3393c45883", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:84"}, "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-47fe8dce09ca8258", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/mural-avisos/MuralAvisosPageClient.tsx:15", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/mural-avisos/MuralAvisosPageClient.tsx:15"}, "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-78689f81a46801f0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/notificacoes/page.tsx:116", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/notificacoes/page.tsx:116"}, "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-cd45a21983654090", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/operacoes/page.tsx:14", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/operacoes/page.tsx:14"}, "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-29a3fc076ff65131", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/dashboard/WeatherCard.tsx:167", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/dashboard/WeatherCard.tsx:167"}, "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-682c728633383196", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/dashboard/CalendarioDashboardSection.tsx:22", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/dashboard/CalendarioDashboardSection.tsx:22"}, "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-6e6e560aef8547e0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/dashboard/MuralAvisos.tsx:17", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/dashboard/MuralAvisos.tsx:17"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7619de21faaa481c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:92", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:92"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5618027867a27324", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:160", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:160"}, "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-672bec1089f49287", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/faturas/nova/page.tsx:100", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/faturas/nova/page.tsx:100"}, "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-3a7a4b1c7723948e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:92", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:92"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c24b1bfb41c71256", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/faturas-tef/nova/page.tsx:90", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/faturas-tef/nova/page.tsx:90"}, "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-f916bd8e1cf3fd35", "name": "Legacy-named symbol `evolution_contas_fixas_tef_v2` in src/app/(dashboard)/admin/contas-fixas/contratos-tef/novo/page.ts", "shortDescription": {"text": "Legacy-named symbol `evolution_contas_fixas_tef_v2` in src/app/(dashboard)/admin/contas-fixas/contratos-tef/novo/page.tsx:139"}, "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-fb6d7cbf85d21b0a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/portal-clientes/novo/page.tsx:142", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/portal-clientes/novo/page.tsx:142"}, "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-768b2b86a384dfa4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:108", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:108"}, "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-ffdbdada360a2414", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/notificacoes/canais/page.tsx:168", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/notificacoes/canais/page.tsx:168"}, "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-d75347e7551793c2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:110", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:110"}, "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-5106925e6289bcac", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/operacoes/page.tsx:91", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/operacoes/page.tsx:91"}, "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-d265917c8e84c0cb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/kanban/page.tsx:78", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/kanban/page.tsx:78"}, "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-47a55c40863253df", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/kanban/[id]/page.tsx:524", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/kanban/[id]/page.tsx:524"}, "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-c54e61e1cdd7e676", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:658", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:658"}, "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-6637db9877b6b593", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/layout.tsx:58", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/layout.tsx:58"}, "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-c2575eb37ee7bc00", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/config/page.tsx:283", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/config/page.tsx:283"}, "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-22dae9ee442f4f7e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/tarifas/page.tsx:110", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/tarifas/page.tsx:110"}, "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-5644500c7f9083db", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/financeiro/page.tsx:112", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/financeiro/page.tsx:112"}, "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-7fda9030a3b8d67b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/operadores/page.tsx:60", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/operadores/page.tsx:60"}, "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-d0feb7fbfd798e4f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patrimonio/novo/page.tsx:212", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patrimonio/novo/page.tsx:212"}, "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-e70341e9dc76164f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:40"}, "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-66cf52bface7c8cc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/supervisores/page.tsx:81", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/supervisores/page.tsx:81"}, "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-2c1252db96d31fd8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:47", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:47"}, "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-768375b91e322bde", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/metas/tratativa/[id]/page.tsx:86", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/metas/tratativa/[id]/page.tsx:86"}, "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-87493100310f25e6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:32"}, "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-7e82a56bd5a15a1e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:47", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:47"}, "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-9aaf974fff02a61f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/faturamento/tratativa/[id]/page.tsx:82", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/faturamento/tratativa/[id]/page.tsx:82"}, "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-edab38b23e5d86b3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/estoque/movimentacoes/page.tsx:113", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/estoque/movimentacoes/page.tsx:113"}, "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-b9a4de201527e087", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/estoque/locais/page.tsx:98", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/estoque/locais/page.tsx:98"}, "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-95741fc156dee320", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:164", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:164"}, "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-7d9f5478e6f71126", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/usuarios/page.tsx:159", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/usuarios/page.tsx:159"}, "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-400c1b3dee19cf50", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/PermissoesMatriz.tsx:", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/PermissoesMatriz.tsx:17"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d129049b20de94ed", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/TecnologiaMuralAvisos", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/TecnologiaMuralAvisosClient.tsx:18"}, "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-dc35dc5ef718b0f5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:302", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:302"}, "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-4a69128489e959ef", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/tecnologia-ia/logs-personal/page.tsx:64", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/tecnologia-ia/logs-personal/page.tsx:64"}, "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-b41a79de7d6f77ee", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/faturamento/alertas/[id]/page.tsx:65", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/faturamento/alertas/[id]/page.tsx:65"}, "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-6eef4f0b219bf434", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/calendario/CalendarioPageClient.tsx:19", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/calendario/CalendarioPageClient.tsx:19"}, "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-9fed1f3847574d97", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/calendario/EventoFormModal.tsx:121", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/calendario/EventoFormModal.tsx:121"}, "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-63e9837626e0fac2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/integrations/mobichat/client.ts:38", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/integrations/mobichat/client.ts:38"}, "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-574881135f7f2f1e", "name": "Commented-code block (7 lines) in src/lib/notifications/publisher.ts:8", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/notifications/publisher.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4f7818948dc8954e", "name": "Commented-code block (5 lines) in src/lib/notifications/push-client.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/notifications/push-client.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-be394f7d32f7d74b", "name": "Commented-code block (5 lines) in src/lib/notifications/phone.ts:34", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/notifications/phone.ts:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-207f2ab5fb4b592d", "name": "Commented-code block (6 lines) in src/lib/notifications/channels/push-web.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/notifications/channels/push-web.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bf12feb7ef2b7da1", "name": "Commented-code block (5 lines) in src/lib/mobile/fcm.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/mobile/fcm.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-adedc05446ed10c1", "name": "Legacy-named symbol `evolution_user_sessions_v2` in src/lib/hooks/useSessionWatcher.ts:22", "shortDescription": {"text": "Legacy-named symbol `evolution_user_sessions_v2` in src/lib/hooks/useSessionWatcher.ts:22"}, "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-faa74774244d64df", "name": "Legacy-named symbol `evolution_sac_relatorio_colaboradores_v1` in src/lib/sac/relatorios.ts:20", "shortDescription": {"text": "Legacy-named symbol `evolution_sac_relatorio_colaboradores_v1` in src/lib/sac/relatorios.ts:20"}, "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-97d668ca6abdf4b8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useNotifications.ts:56", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useNotifications.ts:56"}, "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-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:\nskills/ai-studio-image/scripts/generate.py:generate_with_imagen, skills/ai-studio-image/scripts/generate.py:generate\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:\nskills/senior-architect/scripts/project_architect.py:run, skills/senior-architect/scripts/dependency_analyzer.py:run, skills/senior-architect/scripts/architecture_diagram_generator.py:run, skills/senior-fullstack/scripts/project_scaffolder.py:run\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-8cdf2789ab63d5bb", "name": "Dangling fetch: POST http://localhost:3000/api/personal/importar-resumo (scratch/run_test_payload.js:35)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:3000/api/personal/importar-resumo (scratch/run_test_payload.js:35)"}, "fullDescription": {"text": "`scratch/run_test_payload.js:35` calls `POST http://localhost:3000/api/personal/importar-resumo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:3000/api/personal/importar-resumo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4c7ba62ce72dba30", "name": "Dangling fetch: PUT /api/perfil/senha (src/components/ChangePasswordModal.tsx:89)", "shortDescription": {"text": "Dangling fetch: PUT /api/perfil/senha (src/components/ChangePasswordModal.tsx:89)"}, "fullDescription": {"text": "`src/components/ChangePasswordModal.tsx:89` calls `PUT /api/perfil/senha` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/perfil/senha`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0c430a107d6b53f6", "name": "Dangling fetch: POST /api/central-solicitacoes/ai-classify (src/components/central-solicitacoes/AIClassifyModal.tsx:61)", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/ai-classify (src/components/central-solicitacoes/AIClassifyModal.tsx:61)"}, "fullDescription": {"text": "`src/components/central-solicitacoes/AIClassifyModal.tsx:61` calls `POST /api/central-solicitacoes/ai-classify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/ai-classify`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b24f8d6177180301", "name": "Dangling fetch: PATCH /api/central-solicitacoes/${solicitacao.id} (src/components/central-solicitacoes/AvaliacaoCard.tsx", "shortDescription": {"text": "Dangling fetch: PATCH /api/central-solicitacoes/${solicitacao.id} (src/components/central-solicitacoes/AvaliacaoCard.tsx:68)"}, "fullDescription": {"text": "`src/components/central-solicitacoes/AvaliacaoCard.tsx:68` calls `PATCH /api/central-solicitacoes/${solicitacao.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1b42a544eef4bbb0", "name": "Dangling fetch: GET /api/central-solicitacoes/admin/analytics (src/components/central-solicitacoes/dashboards/AdminDashb", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/analytics (src/components/central-solicitacoes/dashboards/AdminDashboardV2.tsx:563)"}, "fullDescription": {"text": "`src/components/central-solicitacoes/dashboards/AdminDashboardV2.tsx:563` calls `GET /api/central-solicitacoes/admin/analytics` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/analytics`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-46b947461fc036ab", "name": "Dangling fetch: GET /api/auth/session (src/components/central-solicitacoes/dashboards/TIDashboard.tsx:48)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/components/central-solicitacoes/dashboards/TIDashboard.tsx:48)"}, "fullDescription": {"text": "`src/components/central-solicitacoes/dashboards/TIDashboard.tsx:48` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-18dad67c240b2d05", "name": "Dangling fetch: GET /api/central-solicitacoes/admin/equipes (src/components/central-solicitacoes/dashboards/TIDashboard.", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/equipes (src/components/central-solicitacoes/dashboards/TIDashboard.tsx:56)"}, "fullDescription": {"text": "`src/components/central-solicitacoes/dashboards/TIDashboard.tsx:56` calls `GET /api/central-solicitacoes/admin/equipes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/equipes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a5407f7f75cfb5d4", "name": "Dangling fetch: GET /api/central-solicitacoes?limit=100 (src/components/central-solicitacoes/dashboards/TIDashboard.tsx:", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes?limit=100 (src/components/central-solicitacoes/dashboards/TIDashboard.tsx:71)"}, "fullDescription": {"text": "`src/components/central-solicitacoes/dashboards/TIDashboard.tsx:71` calls `GET /api/central-solicitacoes?limit=100` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f7ae4d781cdc74b6", "name": "Dangling fetch: GET /api/auth/session (src/components/central-solicitacoes/dashboards/RHDashboard.tsx:35)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/components/central-solicitacoes/dashboards/RHDashboard.tsx:35)"}, "fullDescription": {"text": "`src/components/central-solicitacoes/dashboards/RHDashboard.tsx:35` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ffd1600d149fbaf8", "name": "Dangling fetch: GET /api/central-solicitacoes?limit=100 (src/components/central-solicitacoes/dashboards/RHDashboard.tsx:", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes?limit=100 (src/components/central-solicitacoes/dashboards/RHDashboard.tsx:42)"}, "fullDescription": {"text": "`src/components/central-solicitacoes/dashboards/RHDashboard.tsx:42` calls `GET /api/central-solicitacoes?limit=100` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e5cbc334014af6a9", "name": "Dangling fetch: GET /api/auth/session (src/components/central-solicitacoes/dashboards/DiretoriaDashboard.tsx:51)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/components/central-solicitacoes/dashboards/DiretoriaDashboard.tsx:51)"}, "fullDescription": {"text": "`src/components/central-solicitacoes/dashboards/DiretoriaDashboard.tsx:51` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-11d2c578d601d307", "name": "Dangling fetch: GET /api/central-solicitacoes?limit=100 (src/components/central-solicitacoes/dashboards/DiretoriaDashboa", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes?limit=100 (src/components/central-solicitacoes/dashboards/DiretoriaDashboard.tsx:58)"}, "fullDescription": {"text": "`src/components/central-solicitacoes/dashboards/DiretoriaDashboard.tsx:58` calls `GET /api/central-solicitacoes?limit=100` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d9325d645496e7c9", "name": "Dangling fetch: POST /api/patrimonio/subcategorias (src/components/patrimonio/SubcategoriaModal.tsx:37)", "shortDescription": {"text": "Dangling fetch: POST /api/patrimonio/subcategorias (src/components/patrimonio/SubcategoriaModal.tsx:37)"}, "fullDescription": {"text": "`src/components/patrimonio/SubcategoriaModal.tsx:37` calls `POST /api/patrimonio/subcategorias` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/subcategorias`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7f50c01cc22bc397", "name": "Dangling fetch: PATCH /api/patrimonio/subcategorias/${id} (src/components/patrimonio/SubcategoriaModal.tsx:49)", "shortDescription": {"text": "Dangling fetch: PATCH /api/patrimonio/subcategorias/${id} (src/components/patrimonio/SubcategoriaModal.tsx:49)"}, "fullDescription": {"text": "`src/components/patrimonio/SubcategoriaModal.tsx:49` calls `PATCH /api/patrimonio/subcategorias/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/subcategorias/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-55af11f18b26cd4d", "name": "Dangling fetch: PATCH /api/patrimonio/subcategorias/${id} (src/components/patrimonio/SubcategoriaModal.tsx:59)", "shortDescription": {"text": "Dangling fetch: PATCH /api/patrimonio/subcategorias/${id} (src/components/patrimonio/SubcategoriaModal.tsx:59)"}, "fullDescription": {"text": "`src/components/patrimonio/SubcategoriaModal.tsx:59` calls `PATCH /api/patrimonio/subcategorias/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/subcategorias/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-83737db894464033", "name": "Dangling fetch: PATCH /api/patrimonio/subcategorias/${id} (src/components/patrimonio/SubcategoriaModal.tsx:68)", "shortDescription": {"text": "Dangling fetch: PATCH /api/patrimonio/subcategorias/${id} (src/components/patrimonio/SubcategoriaModal.tsx:68)"}, "fullDescription": {"text": "`src/components/patrimonio/SubcategoriaModal.tsx:68` calls `PATCH /api/patrimonio/subcategorias/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/subcategorias/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a636612e64f7b8a1", "name": "Dangling fetch: DELETE /api/patrimonio/subcategorias?id=${id} (src/components/patrimonio/SubcategoriaModal.tsx:78)", "shortDescription": {"text": "Dangling fetch: DELETE /api/patrimonio/subcategorias?id=${id} (src/components/patrimonio/SubcategoriaModal.tsx:78)"}, "fullDescription": {"text": "`src/components/patrimonio/SubcategoriaModal.tsx:78` calls `DELETE /api/patrimonio/subcategorias?id=${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/subcategorias`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-721f77cfc10070df", "name": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/ai-analisar (src/components/sac/SacIaAnaliseCard.tsx:49)", "shortDescription": {"text": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/ai-analisar (src/components/sac/SacIaAnaliseCard.tsx:49)"}, "fullDescription": {"text": "`src/components/sac/SacIaAnaliseCard.tsx:49` calls `POST /api/sac/atendimentos/${atendimentoId}/ai-analisar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/ai-analisar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-32d6d139e23a6a06", "name": "Dangling fetch: PATCH /api/sac/atendimentos/${atendimentoId}/classificar (src/components/sac/SacClassificarDialog.tsx:42", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${atendimentoId}/classificar (src/components/sac/SacClassificarDialog.tsx:42)"}, "fullDescription": {"text": "`src/components/sac/SacClassificarDialog.tsx:42` calls `PATCH /api/sac/atendimentos/${atendimentoId}/classificar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/classificar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ff47e9882e8230fe", "name": "Dangling fetch: GET /api/sac/busca/colaboradores?q=${encodeURIComponent(val)} (src/components/sac/SacIdentificacaoDialog", "shortDescription": {"text": "Dangling fetch: GET /api/sac/busca/colaboradores?q=${encodeURIComponent(val)} (src/components/sac/SacIdentificacaoDialog.tsx:96)"}, "fullDescription": {"text": "`src/components/sac/SacIdentificacaoDialog.tsx:96` calls `GET /api/sac/busca/colaboradores?q=${encodeURIComponent(val)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/busca/colaboradores`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f3b9de2a8aaf6df0", "name": "Dangling fetch: GET /api/sac/busca/operacoes?q=${encodeURIComponent(val)} (src/components/sac/SacIdentificacaoDialog.tsx", "shortDescription": {"text": "Dangling fetch: GET /api/sac/busca/operacoes?q=${encodeURIComponent(val)} (src/components/sac/SacIdentificacaoDialog.tsx:118)"}, "fullDescription": {"text": "`src/components/sac/SacIdentificacaoDialog.tsx:118` calls `GET /api/sac/busca/operacoes?q=${encodeURIComponent(val)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/busca/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8f99ded09427da59", "name": "Dangling fetch: PATCH /api/sac/atendimentos/${atendimentoId}/identificacao (src/components/sac/SacIdentificacaoDialog.ts", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${atendimentoId}/identificacao (src/components/sac/SacIdentificacaoDialog.tsx:149)"}, "fullDescription": {"text": "`src/components/sac/SacIdentificacaoDialog.tsx:149` calls `PATCH /api/sac/atendimentos/${atendimentoId}/identificacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/identificacao`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-79ce626513491ef8", "name": "Dangling fetch: PATCH /api/sac/atendimentos/${atendimentoId}/prioridade (src/components/sac/SacPrioridadeOverrideDialog.", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${atendimentoId}/prioridade (src/components/sac/SacPrioridadeOverrideDialog.tsx:36)"}, "fullDescription": {"text": "`src/components/sac/SacPrioridadeOverrideDialog.tsx:36` calls `PATCH /api/sac/atendimentos/${atendimentoId}/prioridade` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/prioridade`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8ecb196f93985547", "name": "Dangling fetch: GET /api/sac/atendimentos/${atendimentoId}/anexos/${anexoId} (src/components/sac/SacAnexoLista.tsx:33)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/atendimentos/${atendimentoId}/anexos/${anexoId} (src/components/sac/SacAnexoLista.tsx:33)"}, "fullDescription": {"text": "`src/components/sac/SacAnexoLista.tsx:33` calls `GET /api/sac/atendimentos/${atendimentoId}/anexos/${anexoId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/anexos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9d014a48a664ad6d", "name": "Dangling fetch: PATCH /api/sac/atendimentos/${atendimentoId}/anexos/${anexoId} (src/components/sac/SacAnexoLista.tsx:50)", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${atendimentoId}/anexos/${anexoId} (src/components/sac/SacAnexoLista.tsx:50)"}, "fullDescription": {"text": "`src/components/sac/SacAnexoLista.tsx:50` calls `PATCH /api/sac/atendimentos/${atendimentoId}/anexos/${anexoId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/anexos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-34fb7dbcaccb8039", "name": "Dangling fetch: GET /api/sac/usuarios/search?q=${encodeURIComponent(q)}&perfis=${perfis} (src/components/sac/SacEncaminh", "shortDescription": {"text": "Dangling fetch: GET /api/sac/usuarios/search?q=${encodeURIComponent(q)}&perfis=${perfis} (src/components/sac/SacEncaminharDialog.tsx:46)"}, "fullDescription": {"text": "`src/components/sac/SacEncaminharDialog.tsx:46` calls `GET /api/sac/usuarios/search?q=${encodeURIComponent(q)}&perfis=${perfis}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/usuarios/search`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e42b19f765b87f89", "name": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/encaminhar (src/components/sac/SacEncaminharDialog.tsx:70)", "shortDescription": {"text": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/encaminhar (src/components/sac/SacEncaminharDialog.tsx:70)"}, "fullDescription": {"text": "`src/components/sac/SacEncaminharDialog.tsx:70` calls `POST /api/sac/atendimentos/${atendimentoId}/encaminhar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/encaminhar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a64e7185ac351d2a", "name": "Dangling fetch: GET /api/sac/demandas (src/components/sac/SacMobichatCard.tsx:57)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/demandas (src/components/sac/SacMobichatCard.tsx:57)"}, "fullDescription": {"text": "`src/components/sac/SacMobichatCard.tsx:57` calls `GET /api/sac/demandas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/demandas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b4950a6ba1ad5bad", "name": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/mobichat/vincular (src/components/sac/SacMobichatCard.tsx:75", "shortDescription": {"text": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/mobichat/vincular (src/components/sac/SacMobichatCard.tsx:75)"}, "fullDescription": {"text": "`src/components/sac/SacMobichatCard.tsx:75` calls `POST /api/sac/atendimentos/${atendimentoId}/mobichat/vincular` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/mobichat/vincular`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-91152503a9d58023", "name": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/mobichat/enviar-mensagem (src/components/sac/SacMobichatCard", "shortDescription": {"text": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/mobichat/enviar-mensagem (src/components/sac/SacMobichatCard.tsx:93)"}, "fullDescription": {"text": "`src/components/sac/SacMobichatCard.tsx:93` calls `POST /api/sac/atendimentos/${atendimentoId}/mobichat/enviar-mensagem` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/mobichat/enviar-mensagem`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-126994972d958669", "name": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/mobichat/finalizar (src/components/sac/SacMobichatCard.tsx:1", "shortDescription": {"text": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/mobichat/finalizar (src/components/sac/SacMobichatCard.tsx:111)"}, "fullDescription": {"text": "`src/components/sac/SacMobichatCard.tsx:111` calls `POST /api/sac/atendimentos/${atendimentoId}/mobichat/finalizar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/mobichat/finalizar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6b6b6daa3ab46b94", "name": "Dangling fetch: DELETE /api/sac/atendimentos/${atendimentoId}/responsaveis/${respId} (src/components/sac/SacResponsavelL", "shortDescription": {"text": "Dangling fetch: DELETE /api/sac/atendimentos/${atendimentoId}/responsaveis/${respId} (src/components/sac/SacResponsavelLista.tsx:35)"}, "fullDescription": {"text": "`src/components/sac/SacResponsavelLista.tsx:35` calls `DELETE /api/sac/atendimentos/${atendimentoId}/responsaveis/${respId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/responsaveis/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8fdea62351c0c090", "name": "Dangling fetch: GET /api/sac/colaboradores/search?q=${encodeURIComponent(q)} (src/components/sac/ColaboradorAutocomplete", "shortDescription": {"text": "Dangling fetch: GET /api/sac/colaboradores/search?q=${encodeURIComponent(q)} (src/components/sac/ColaboradorAutocomplete.tsx:60)"}, "fullDescription": {"text": "`src/components/sac/ColaboradorAutocomplete.tsx:60` calls `GET /api/sac/colaboradores/search?q=${encodeURIComponent(q)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/colaboradores/search`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b755adec81fb5939", "name": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/anexos (src/components/sac/SacAnexoUploader.tsx:26)", "shortDescription": {"text": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/anexos (src/components/sac/SacAnexoUploader.tsx:26)"}, "fullDescription": {"text": "`src/components/sac/SacAnexoUploader.tsx:26` calls `POST /api/sac/atendimentos/${atendimentoId}/anexos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/anexos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-10046b2af2a7d3fe", "name": "Dangling fetch: GET /api/auth/session (src/components/faturamento/AlertaTratativaModal.tsx:72)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/components/faturamento/AlertaTratativaModal.tsx:72)"}, "fullDescription": {"text": "`src/components/faturamento/AlertaTratativaModal.tsx:72` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-18073a9778425350", "name": "Dangling fetch: GET /api/usuarios?perfil=auditoria (src/components/faturamento/AlertaTratativaModal.tsx:82)", "shortDescription": {"text": "Dangling fetch: GET /api/usuarios?perfil=auditoria (src/components/faturamento/AlertaTratativaModal.tsx:82)"}, "fullDescription": {"text": "`src/components/faturamento/AlertaTratativaModal.tsx:82` calls `GET /api/usuarios?perfil=auditoria` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/usuarios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-38dae27e389bc134", "name": "Dangling fetch: GET /api/faturamento/alertas?alerta_id=${alerta.id}&mode=history (src/components/faturamento/AlertaTrata", "shortDescription": {"text": "Dangling fetch: GET /api/faturamento/alertas?alerta_id=${alerta.id}&mode=history (src/components/faturamento/AlertaTratativaModal.tsx:89)"}, "fullDescription": {"text": "`src/components/faturamento/AlertaTratativaModal.tsx:89` calls `GET /api/faturamento/alertas?alerta_id=${alerta.id}&mode=history` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/faturamento/alertas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0f36dbd722d13afb", "name": "Dangling fetch: POST /api/faturamento/alertas (src/components/faturamento/AlertaTratativaModal.tsx:102)", "shortDescription": {"text": "Dangling fetch: POST /api/faturamento/alertas (src/components/faturamento/AlertaTratativaModal.tsx:102)"}, "fullDescription": {"text": "`src/components/faturamento/AlertaTratativaModal.tsx:102` calls `POST /api/faturamento/alertas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/faturamento/alertas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-36e530f6be447e20", "name": "Dangling fetch: DELETE /api/faturamento/alertas?feedback_id=${fid} (src/components/faturamento/AlertaTratativaModal.tsx:", "shortDescription": {"text": "Dangling fetch: DELETE /api/faturamento/alertas?feedback_id=${fid} (src/components/faturamento/AlertaTratativaModal.tsx:137)"}, "fullDescription": {"text": "`src/components/faturamento/AlertaTratativaModal.tsx:137` calls `DELETE /api/faturamento/alertas?feedback_id=${fid}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/faturamento/alertas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f92049bc0f63ac01", "name": "Dangling fetch: PATCH /api/faturamento/alertas (src/components/faturamento/AlertaTratativaModal.tsx:149)", "shortDescription": {"text": "Dangling fetch: PATCH /api/faturamento/alertas (src/components/faturamento/AlertaTratativaModal.tsx:149)"}, "fullDescription": {"text": "`src/components/faturamento/AlertaTratativaModal.tsx:149` calls `PATCH /api/faturamento/alertas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/faturamento/alertas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-82529f321dbe0823", "name": "Dangling fetch: GET https://wdapi2.com.br/consulta/${placa}/f78e4d2627e7f9f305b4e64f9f687a74 (src/app/api/utils/veiculo/", "shortDescription": {"text": "Dangling fetch: GET https://wdapi2.com.br/consulta/${placa}/f78e4d2627e7f9f305b4e64f9f687a74 (src/app/api/utils/veiculo/route.ts:38)"}, "fullDescription": {"text": "`src/app/api/utils/veiculo/route.ts:38` calls `GET https://wdapi2.com.br/consulta/${placa}/f78e4d2627e7f9f305b4e64f9f687a74` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/wdapi2.com.br/consulta/<p>/f78e4d2627e7f9f305b4e64f9f687a74`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c3272d13f1bed734", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (src/app/api/auditoria/auditor-senior/analisar/route.ts:440)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (src/app/api/auditoria/auditor-senior/analisar/route.ts:440)"}, "fullDescription": {"text": "`src/app/api/auditoria/auditor-senior/analisar/route.ts:440` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-842c282fcaab68fd", "name": "Dangling fetch: GET /api/sac/atendimentos?${params} (src/app/(dashboard)/sac-colaborador/page.tsx:101)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/atendimentos?${params} (src/app/(dashboard)/sac-colaborador/page.tsx:101)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/page.tsx:101` calls `GET /api/sac/atendimentos?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f3e5686cb23fed4e", "name": "Dangling fetch: GET /api/sac/me (src/app/(dashboard)/sac-colaborador/page.tsx:102)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/me (src/app/(dashboard)/sac-colaborador/page.tsx:102)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/page.tsx:102` calls `GET /api/sac/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0aab35aaabad1145", "name": "Dangling fetch: GET /api/sac/atendimentos?${params} (src/app/(dashboard)/sac-colaborador/page.tsx:126)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/atendimentos?${params} (src/app/(dashboard)/sac-colaborador/page.tsx:126)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/page.tsx:126` calls `GET /api/sac/atendimentos?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e55cbb7b2e430e15", "name": "Dangling fetch: GET /api/sac/operacoes/search?q=${encodeURIComponent(q)} (src/app/(dashboard)/sac-colaborador/novo/page.", "shortDescription": {"text": "Dangling fetch: GET /api/sac/operacoes/search?q=${encodeURIComponent(q)} (src/app/(dashboard)/sac-colaborador/novo/page.tsx:72)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/novo/page.tsx:72` calls `GET /api/sac/operacoes/search?q=${encodeURIComponent(q)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/operacoes/search`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b572d2d17646da7b", "name": "Dangling fetch: POST /api/sac/atendimentos (src/app/(dashboard)/sac-colaborador/novo/page.tsx:106)", "shortDescription": {"text": "Dangling fetch: POST /api/sac/atendimentos (src/app/(dashboard)/sac-colaborador/novo/page.tsx:106)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/novo/page.tsx:106` calls `POST /api/sac/atendimentos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a79733bb672eda73", "name": "Dangling fetch: GET /api/sac/atendimentos?${params} (src/app/(dashboard)/sac-colaborador/relatorios/RelatorioColaborador", "shortDescription": {"text": "Dangling fetch: GET /api/sac/atendimentos?${params} (src/app/(dashboard)/sac-colaborador/relatorios/RelatorioColaboradoresClient.tsx:93)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/relatorios/RelatorioColaboradoresClient.tsx:93` calls `GET /api/sac/atendimentos?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9be850d24873a79e", "name": "Dangling fetch: GET /api/sac/atendimentos/${id}/anexos (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:150)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/atendimentos/${id}/anexos (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:150)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/[id]/page.tsx:150` calls `GET /api/sac/atendimentos/${id}/anexos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/anexos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5f03c6b65c6a8168", "name": "Dangling fetch: GET /api/sac/atendimentos/${id}/mobichat/mensagens (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:15", "shortDescription": {"text": "Dangling fetch: GET /api/sac/atendimentos/${id}/mobichat/mensagens (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:158)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/[id]/page.tsx:158` calls `GET /api/sac/atendimentos/${id}/mobichat/mensagens` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/mobichat/mensagens`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-136083522eb07819", "name": "Dangling fetch: GET /api/sac/atendimentos/${id} (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:179)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/atendimentos/${id} (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:179)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/[id]/page.tsx:179` calls `GET /api/sac/atendimentos/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8e902d7b2bd3d560", "name": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:180)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:180)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/[id]/page.tsx:180` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-81373194b6a8ebd0", "name": "Dangling fetch: GET /api/sac/me (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:181)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/me (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:181)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/[id]/page.tsx:181` calls `GET /api/sac/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-802404fa0db22105", "name": "Dangling fetch: GET /api/sac/atendimentos/${id} (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:211)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/atendimentos/${id} (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:211)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/[id]/page.tsx:211` calls `GET /api/sac/atendimentos/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dd9dc824f7c9f6ae", "name": "Dangling fetch: PATCH /api/sac/atendimentos/${id} (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:277)", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${id} (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:277)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/[id]/page.tsx:277` calls `PATCH /api/sac/atendimentos/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9d7ea96c29dd9a27", "name": "Dangling fetch: PATCH /api/sac/atendimentos/${id}/status (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:292)", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${id}/status (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:292)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/[id]/page.tsx:292` calls `PATCH /api/sac/atendimentos/${id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c1aa5ee2bf11e77a", "name": "Dangling fetch: POST /api/sac/atendimentos/${id}/cancelar (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:305)", "shortDescription": {"text": "Dangling fetch: POST /api/sac/atendimentos/${id}/cancelar (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:305)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/[id]/page.tsx:305` calls `POST /api/sac/atendimentos/${id}/cancelar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/cancelar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-94407173f682cad6", "name": "Dangling fetch: POST /api/sac/atendimentos/${id}/movimentacoes (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:320)", "shortDescription": {"text": "Dangling fetch: POST /api/sac/atendimentos/${id}/movimentacoes (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:320)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/[id]/page.tsx:320` calls `POST /api/sac/atendimentos/${id}/movimentacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/movimentacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-180cd908784ee216", "name": "Dangling fetch: GET /api/sac/atendimentos/${id}/export/pdf (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:335)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/atendimentos/${id}/export/pdf (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:335)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/[id]/page.tsx:335` calls `GET /api/sac/atendimentos/${id}/export/pdf` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>/export/pdf`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-486f901347930e67", "name": "Dangling fetch: PATCH /api/sac/atendimentos/${id} (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:364)", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${id} (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:364)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/[id]/page.tsx:364` calls `PATCH /api/sac/atendimentos/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/atendimentos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1852ecac1d1d8751", "name": "Dangling fetch: GET /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/natureza-prioridade/page.tsx", "shortDescription": {"text": "Dangling fetch: GET /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/natureza-prioridade/page.tsx:32)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/natureza-prioridade/page.tsx:32` calls `GET /api/sac/natureza-prioridade` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/natureza-prioridade`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-61ed5fcfb2e8d04e", "name": "Dangling fetch: PATCH /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/natureza-prioridade/page.t", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/natureza-prioridade/page.tsx:60)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/natureza-prioridade/page.tsx:60` calls `PATCH /api/sac/natureza-prioridade` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/natureza-prioridade`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-496cf890999eb4cd", "name": "Dangling fetch: POST /api/sac/tipos-config (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:106)", "shortDescription": {"text": "Dangling fetch: POST /api/sac/tipos-config (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:106)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:106` calls `POST /api/sac/tipos-config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/tipos-config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-47fc6880f9b27722", "name": "Dangling fetch: PATCH /api/sac/tipos-config/${form.codigo} (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/pa", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/tipos-config/${form.codigo} (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:111)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:111` calls `PATCH /api/sac/tipos-config/${form.codigo}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/tipos-config/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c06e70cb1cb0a852", "name": "Dangling fetch: POST /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:24", "shortDescription": {"text": "Dangling fetch: POST /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:249)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:249` calls `POST /api/sac/natureza-prioridade` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/natureza-prioridade`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-38e1d7854b494d9c", "name": "Dangling fetch: PATCH /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:2", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:254)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:254` calls `PATCH /api/sac/natureza-prioridade` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/natureza-prioridade`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dfec5c9cb80b7381", "name": "Dangling fetch: GET /api/sac/tipos-config (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:474)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/tipos-config (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:474)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:474` calls `GET /api/sac/tipos-config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/tipos-config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6d08e0e9bfefb79f", "name": "Dangling fetch: GET /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:485", "shortDescription": {"text": "Dangling fetch: GET /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:485)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:485` calls `GET /api/sac/natureza-prioridade` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/natureza-prioridade`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae3f9ae94e3c54d1", "name": "Dangling fetch: PATCH /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:5", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:518)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:518` calls `PATCH /api/sac/natureza-prioridade` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/natureza-prioridade`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a1b2fdc5b3aace7b", "name": "Dangling fetch: PATCH /api/sac/tipos-config/${tipo.codigo} (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/pa", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/tipos-config/${tipo.codigo} (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:535)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:535` calls `PATCH /api/sac/tipos-config/${tipo.codigo}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/tipos-config/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-82f03db8b8fd4c11", "name": "Dangling fetch: GET /api/sac/admin/usuarios (src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:68)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/admin/usuarios (src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:68)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:68` calls `GET /api/sac/admin/usuarios` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/admin/usuarios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7c05a833564c191d", "name": "Dangling fetch: GET /api/sac/admin/usuarios/search?q=${encodeURIComponent(userQuery)} (src/app/(dashboard)/sac-colaborad", "shortDescription": {"text": "Dangling fetch: GET /api/sac/admin/usuarios/search?q=${encodeURIComponent(userQuery)} (src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:85)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:85` calls `GET /api/sac/admin/usuarios/search?q=${encodeURIComponent(userQuery)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/admin/usuarios/search`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f15fc6795078ed7c", "name": "Dangling fetch: POST /api/sac/admin/usuarios (src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:110)", "shortDescription": {"text": "Dangling fetch: POST /api/sac/admin/usuarios (src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:110)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:110` calls `POST /api/sac/admin/usuarios` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/admin/usuarios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-386f25d680fb6151", "name": "Dangling fetch: DELETE /api/sac/admin/usuarios/${confirm.userId}?perfil=${confirm.perfil} (src/app/(dashboard)/sac-colab", "shortDescription": {"text": "Dangling fetch: DELETE /api/sac/admin/usuarios/${confirm.userId}?perfil=${confirm.perfil} (src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:128)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:128` calls `DELETE /api/sac/admin/usuarios/${confirm.userId}?perfil=${confirm.perfil}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/admin/usuarios/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6fd0f8e263da9649", "name": "Dangling fetch: GET /api/sac/feriados (src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:55)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/feriados (src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:55)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:55` calls `GET /api/sac/feriados` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/feriados`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7d249443459bb04a", "name": "Dangling fetch: POST /api/sac/feriados (src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:86)", "shortDescription": {"text": "Dangling fetch: POST /api/sac/feriados (src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:86)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:86` calls `POST /api/sac/feriados` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/feriados`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cb2fdbdbbd82ca91", "name": "Dangling fetch: DELETE /api/sac/feriados/${id} (src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:103)", "shortDescription": {"text": "Dangling fetch: DELETE /api/sac/feriados/${id} (src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:103)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:103` calls `DELETE /api/sac/feriados/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/feriados/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b058fcbe2a520b20", "name": "Dangling fetch: GET /api/sac/ai/monitor (src/app/(dashboard)/sac-colaborador/admin/ia-analise/page.tsx:236)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/ai/monitor (src/app/(dashboard)/sac-colaborador/admin/ia-analise/page.tsx:236)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/ia-analise/page.tsx:236` calls `GET /api/sac/ai/monitor` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/ai/monitor`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f7f221da1561c328", "name": "Dangling fetch: POST /api/sac/ai/monitor (src/app/(dashboard)/sac-colaborador/admin/ia-analise/page.tsx:248)", "shortDescription": {"text": "Dangling fetch: POST /api/sac/ai/monitor (src/app/(dashboard)/sac-colaborador/admin/ia-analise/page.tsx:248)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/ia-analise/page.tsx:248` calls `POST /api/sac/ai/monitor` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/ai/monitor`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a8219a74c9fa4583", "name": "Dangling fetch: POST /api/sac/ai/monitor (src/app/(dashboard)/sac-colaborador/admin/ia-analise/page.tsx:264)", "shortDescription": {"text": "Dangling fetch: POST /api/sac/ai/monitor (src/app/(dashboard)/sac-colaborador/admin/ia-analise/page.tsx:264)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/ia-analise/page.tsx:264` calls `POST /api/sac/ai/monitor` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/ai/monitor`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5b250493cda0f87b", "name": "Dangling fetch: GET /api/sac/demandas (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:62)", "shortDescription": {"text": "Dangling fetch: GET /api/sac/demandas (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:62)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:62` calls `GET /api/sac/demandas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/demandas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-45f48654c4fc7ef9", "name": "Dangling fetch: PATCH /api/sac/demandas/${id} (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:83)", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/demandas/${id} (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:83)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:83` calls `PATCH /api/sac/demandas/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/demandas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3f5304dd95c0aa7e", "name": "Dangling fetch: PATCH /api/sac/demandas/${d.id} (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:101)", "shortDescription": {"text": "Dangling fetch: PATCH /api/sac/demandas/${d.id} (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:101)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:101` calls `PATCH /api/sac/demandas/${d.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/demandas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b6427f5ab2ef2f0e", "name": "Dangling fetch: DELETE /api/sac/demandas/${d.id} (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:112)", "shortDescription": {"text": "Dangling fetch: DELETE /api/sac/demandas/${d.id} (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:112)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:112` calls `DELETE /api/sac/demandas/${d.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/demandas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b3584348c3758924", "name": "Dangling fetch: POST /api/sac/demandas (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:125)", "shortDescription": {"text": "Dangling fetch: POST /api/sac/demandas (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:125)"}, "fullDescription": {"text": "`src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:125` calls `POST /api/sac/demandas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sac/demandas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b5414a92e035a0c1", "name": "Dangling fetch: GET /api/central-solicitacoes/stats (src/app/(dashboard)/central-solicitacoes/page.tsx:49)", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/stats (src/app/(dashboard)/central-solicitacoes/page.tsx:49)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/page.tsx:49` calls `GET /api/central-solicitacoes/stats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/stats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a1f917a99f674594", "name": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/page.tsx:50)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/page.tsx:50)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/page.tsx:50` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ed7b9f031fff60ee", "name": "Dangling fetch: GET /api/central-solicitacoes/minha-nota (src/app/(dashboard)/central-solicitacoes/page.tsx:51)", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/minha-nota (src/app/(dashboard)/central-solicitacoes/page.tsx:51)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/page.tsx:51` calls `GET /api/central-solicitacoes/minha-nota` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/minha-nota`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f932ef457c922aed", "name": "Dangling fetch: GET /api/central-solicitacoes/admin/perfis-dashboard (src/app/(dashboard)/central-solicitacoes/page.tsx:", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/perfis-dashboard (src/app/(dashboard)/central-solicitacoes/page.tsx:52)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/page.tsx:52` calls `GET /api/central-solicitacoes/admin/perfis-dashboard` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/perfis-dashboard`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d5b1325447b42667", "name": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/layout.tsx:64)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/layout.tsx:64)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/layout.tsx:64` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bfe2503ca394f2c7", "name": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/layout.tsx:7", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/layout.tsx:70)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/layout.tsx:70` calls `GET /api/central-solicitacoes/me/atendente-deptos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/me/atendente-deptos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-71f66654717f6119", "name": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:57)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:57)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:57` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dda94edd15fb93d8", "name": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/relatorios/p", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:58)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:58` calls `GET /api/central-solicitacoes/me/atendente-deptos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/me/atendente-deptos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ccfeb5b10c61dc14", "name": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:59)", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:59)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:59` calls `GET /api/central-solicitacoes/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3c4ee4cb96d53684", "name": "Dangling fetch: GET /api/central-solicitacoes/relatorios?${params} (src/app/(dashboard)/central-solicitacoes/relatorios/", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/relatorios?${params} (src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:90)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:90` calls `GET /api/central-solicitacoes/relatorios?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/relatorios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-73152b3bcbf4981e", "name": "Dangling fetch: GET /api/central-solicitacoes/relatorios/excel?${params} (src/app/(dashboard)/central-solicitacoes/relat", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/relatorios/excel?${params} (src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:118)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:118` calls `GET /api/central-solicitacoes/relatorios/excel?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/relatorios/excel`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e3db9e76514a528b", "name": "Dangling fetch: GET /api/central-solicitacoes?minhas=true&limit=100 (src/app/(dashboard)/central-solicitacoes/minhas/pag", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes?minhas=true&limit=100 (src/app/(dashboard)/central-solicitacoes/minhas/page.tsx:18)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/minhas/page.tsx:18` calls `GET /api/central-solicitacoes?minhas=true&limit=100` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2c3911ea429d99b0", "name": "Dangling fetch: GET /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:406)", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:406)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:406` calls `GET /api/central-solicitacoes/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1d3249a863f97683", "name": "Dangling fetch: GET /api/central-solicitacoes/${id}/interacoes (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:4", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/${id}/interacoes (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:407)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:407` calls `GET /api/central-solicitacoes/${id}/interacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>/interacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-931fa3ede0bcbc69", "name": "Dangling fetch: GET /api/usuarios (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:436)", "shortDescription": {"text": "Dangling fetch: GET /api/usuarios (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:436)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:436` calls `GET /api/usuarios` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/usuarios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3a235d288271aa3c", "name": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:449)", "shortDescription": {"text": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:449)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:449` calls `PUT /api/central-solicitacoes/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0058147a72fd2c16", "name": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:519)", "shortDescription": {"text": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:519)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:519` calls `PUT /api/central-solicitacoes/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1d1b235dfdd2ed76", "name": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:539)", "shortDescription": {"text": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:539)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:539` calls `PUT /api/central-solicitacoes/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c5e2448b0a77aedb", "name": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:562)", "shortDescription": {"text": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:562)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:562` calls `PUT /api/central-solicitacoes/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3201780f94b519d2", "name": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:576)", "shortDescription": {"text": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:576)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:576` calls `PUT /api/central-solicitacoes/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a4830b90f82207aa", "name": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:588)", "shortDescription": {"text": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:588)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:588` calls `PUT /api/central-solicitacoes/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5ba06861f91fa27d", "name": "Dangling fetch: POST /api/central-solicitacoes/${id}/aprovacao (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:6", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/${id}/aprovacao (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:605)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:605` calls `POST /api/central-solicitacoes/${id}/aprovacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>/aprovacao`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9d5152be0d8c5fb5", "name": "Dangling fetch: PATCH /api/central-solicitacoes/${id}/itens (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:631)", "shortDescription": {"text": "Dangling fetch: PATCH /api/central-solicitacoes/${id}/itens (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:631)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:631` calls `PATCH /api/central-solicitacoes/${id}/itens` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>/itens`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c29164848c94d380", "name": "Dangling fetch: GET /api/kanban/quadros (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:670)", "shortDescription": {"text": "Dangling fetch: GET /api/kanban/quadros (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:670)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:670` calls `GET /api/kanban/quadros` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/quadros`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6797257018109841", "name": "Dangling fetch: POST /api/kanban/tarefas (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:689)", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/tarefas (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:689)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:689` calls `POST /api/kanban/tarefas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ccf14bab83a6fede", "name": "Dangling fetch: DELETE /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:713)", "shortDescription": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:713)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:713` calls `DELETE /api/central-solicitacoes/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e39eb31db6ae6f74", "name": "Dangling fetch: DELETE /api/central-solicitacoes/${id}/interacoes/${commentToDelete.id} (src/app/(dashboard)/central-sol", "shortDescription": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/${id}/interacoes/${commentToDelete.id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:733)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:733` calls `DELETE /api/central-solicitacoes/${id}/interacoes/${commentToDelete.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>/interacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d87b190f7ce96245", "name": "Dangling fetch: POST /api/central-solicitacoes/upload (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:794)", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/upload (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:794)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:794` calls `POST /api/central-solicitacoes/upload` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/upload`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f6fd156e126df8b3", "name": "Dangling fetch: POST /api/central-solicitacoes/${id}/interacoes (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/${id}/interacoes (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:819)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:819` calls `POST /api/central-solicitacoes/${id}/interacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>/interacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-31a9adebaf902d05", "name": "Dangling fetch: POST /api/central-solicitacoes/${id}/interacoes (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/${id}/interacoes (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:856)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:856` calls `POST /api/central-solicitacoes/${id}/interacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>/interacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4138b8a3763b6a35", "name": "Dangling fetch: GET /api/central-solicitacoes/${id}/ai-resumo (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:30", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/${id}/ai-resumo (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:3045)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:3045` calls `GET /api/central-solicitacoes/${id}/ai-resumo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>/ai-resumo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ed7e2e39b88fb5f4", "name": "Dangling fetch: GET /api/central-solicitacoes/${id}/ai-resumo (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:30", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/${id}/ai-resumo (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:3090)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:3090` calls `GET /api/central-solicitacoes/${id}/ai-resumo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>/ai-resumo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7572440076965dfd", "name": "Dangling fetch: GET /api/central-solicitacoes/${id}/ai-assistente (src/app/(dashboard)/central-solicitacoes/[id]/page.ts", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/${id}/ai-assistente (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:3181)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:3181` calls `GET /api/central-solicitacoes/${id}/ai-assistente` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>/ai-assistente`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6dc7b8eb5342dac9", "name": "Dangling fetch: GET /api/central-solicitacoes/${id}/ai-assistente (src/app/(dashboard)/central-solicitacoes/[id]/page.ts", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/${id}/ai-assistente (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:3266)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:3266` calls `GET /api/central-solicitacoes/${id}/ai-assistente` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>/ai-assistente`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-209153413a142b88", "name": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:135)", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:135)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:135` calls `GET /api/central-solicitacoes/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-15eedd1d41ffe53e", "name": "Dangling fetch: GET /api/central-solicitacoes/pendente-avaliacao (src/app/(dashboard)/central-solicitacoes/nova/page.tsx", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/pendente-avaliacao (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:136)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:136` calls `GET /api/central-solicitacoes/pendente-avaliacao` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/pendente-avaliacao`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5491355ca7594f95", "name": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:137)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:137)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:137` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-361892ea788d0b66", "name": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/nova/page.ts", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:219)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:219` calls `GET /api/central-solicitacoes/me/atendente-deptos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/me/atendente-deptos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b11961222a502a1b", "name": "Dangling fetch: GET /api/central-solicitacoes/me/supervisores (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:22", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/me/supervisores (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:224)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:224` calls `GET /api/central-solicitacoes/me/supervisores` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/me/supervisores`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f38ed00872d2e07f", "name": "Dangling fetch: GET /api/central-solicitacoes/operacoes (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:245)", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/operacoes (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:245)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:245` calls `GET /api/central-solicitacoes/operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c4ef73cebd54ad50", "name": "Dangling fetch: GET /api/estoque/locais?operacao_id=${operacaoIdValue} (src/app/(dashboard)/central-solicitacoes/nova/pa", "shortDescription": {"text": "Dangling fetch: GET /api/estoque/locais?operacao_id=${operacaoIdValue} (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:276)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:276` calls `GET /api/estoque/locais?operacao_id=${operacaoIdValue}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/locais`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a0c98b3ed8b561ca", "name": "Dangling fetch: GET /api/estoque/itens?subcategoria_id=${selectedSubcatId}&ativo=true (src/app/(dashboard)/central-solic", "shortDescription": {"text": "Dangling fetch: GET /api/estoque/itens?subcategoria_id=${selectedSubcatId}&ativo=true (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:300)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:300` calls `GET /api/estoque/itens?subcategoria_id=${selectedSubcatId}&ativo=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/itens`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f0a993627e0e3e4b", "name": "Dangling fetch: GET /api/estoque/disponibilidade?${params} (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:316)", "shortDescription": {"text": "Dangling fetch: GET /api/estoque/disponibilidade?${params} (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:316)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:316` calls `GET /api/estoque/disponibilidade?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/disponibilidade`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7cad287e9c3d2304", "name": "Dangling fetch: GET /api/estoque/locais (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:385)", "shortDescription": {"text": "Dangling fetch: GET /api/estoque/locais (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:385)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:385` calls `GET /api/estoque/locais` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/locais`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1fa83a65a8f20e4e", "name": "Dangling fetch: POST /api/central-solicitacoes/ai-validar (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:466)", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/ai-validar (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:466)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:466` calls `POST /api/central-solicitacoes/ai-validar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/ai-validar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e77354c63a7c5497", "name": "Dangling fetch: POST /api/central-solicitacoes (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:582)", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:582)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:582` calls `POST /api/central-solicitacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fa8699f3fed3b0be", "name": "Dangling fetch: DELETE /api/central-solicitacoes/ai-suggest/upload (src/app/(dashboard)/central-solicitacoes/nova/page.t", "shortDescription": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/ai-suggest/upload (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:643)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:643` calls `DELETE /api/central-solicitacoes/ai-suggest/upload` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/ai-suggest/upload`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-091758c611d562d4", "name": "Dangling fetch: POST /api/central-solicitacoes/ai-suggest/upload (src/app/(dashboard)/central-solicitacoes/nova/page.tsx", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/ai-suggest/upload (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:701)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:701` calls `POST /api/central-solicitacoes/ai-suggest/upload` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/ai-suggest/upload`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-805dca9ebbaf4bcf", "name": "Dangling fetch: POST /api/central-solicitacoes/ai-suggest (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:746)", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/ai-suggest (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:746)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/nova/page.tsx:746` calls `POST /api/central-solicitacoes/ai-suggest` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/ai-suggest`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e48095833d4d0254", "name": "Dangling fetch: GET /api/central-solicitacoes/metricas?inicio=${periodo.inicio}&fim=${periodo.fim} (src/app/(dashboard)/", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/metricas?inicio=${periodo.inicio}&fim=${periodo.fim} (src/app/(dashboard)/central-solicitacoes/indicadores/page.tsx:25)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/indicadores/page.tsx:25` calls `GET /api/central-solicitacoes/metricas?inicio=${periodo.inicio}&fim=${periodo.fim}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/metricas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f4aca5540247be4c", "name": "Dangling fetch: GET /central-solicitacoes/${sol.id} (src/app/(dashboard)/central-solicitacoes/finalizadas/page.tsx:76)", "shortDescription": {"text": "Dangling fetch: GET /central-solicitacoes/${sol.id} (src/app/(dashboard)/central-solicitacoes/finalizadas/page.tsx:76)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/finalizadas/page.tsx:76` calls `GET /central-solicitacoes/${sol.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-142c8dbec6025e62", "name": "Dangling fetch: GET /api/central-solicitacoes/${sol.id} (src/app/(dashboard)/central-solicitacoes/finalizadas/page.tsx:7", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/${sol.id} (src/app/(dashboard)/central-solicitacoes/finalizadas/page.tsx:77)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/finalizadas/page.tsx:77` calls `GET /api/central-solicitacoes/${sol.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0487c850a905d93d", "name": "Dangling fetch: GET /api/central-solicitacoes?${params} (src/app/(dashboard)/central-solicitacoes/finalizadas/page.tsx:1", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes?${params} (src/app/(dashboard)/central-solicitacoes/finalizadas/page.tsx:158)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/finalizadas/page.tsx:158` calls `GET /api/central-solicitacoes?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4f197dfebcc92b3a", "name": "Dangling fetch: GET /central-solicitacoes/${sol.id} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:168)", "shortDescription": {"text": "Dangling fetch: GET /central-solicitacoes/${sol.id} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:168)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/todas/page.tsx:168` calls `GET /central-solicitacoes/${sol.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c1a565ae917fd65e", "name": "Dangling fetch: GET /api/central-solicitacoes/${sol.id} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:169)", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/${sol.id} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:169)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/todas/page.tsx:169` calls `GET /api/central-solicitacoes/${sol.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a4313347470d1b53", "name": "Dangling fetch: GET /api/central-solicitacoes?${params} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:446)", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes?${params} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:446)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/todas/page.tsx:446` calls `GET /api/central-solicitacoes?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-563d6aa7c8fe6673", "name": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:461)", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:461)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/todas/page.tsx:461` calls `GET /api/central-solicitacoes/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c8ff82b6866e6a11", "name": "Dangling fetch: GET /api/central-solicitacoes/opcoes-filtro (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:463", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/opcoes-filtro (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:463)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/todas/page.tsx:463` calls `GET /api/central-solicitacoes/opcoes-filtro` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/opcoes-filtro`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b2533c11325528f6", "name": "Dangling fetch: GET /api/central-solicitacoes?${params} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:486)", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes?${params} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:486)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/todas/page.tsx:486` calls `GET /api/central-solicitacoes?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1db170b7dcf8bce6", "name": "Dangling fetch: GET /api/central-solicitacoes/export?${params} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/export?${params} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:563)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/todas/page.tsx:563` calls `GET /api/central-solicitacoes/export?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/export`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9bdec9dc9359c63b", "name": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/configuracoes/page.tsx:77)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/configuracoes/page.tsx:77)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/page.tsx:77` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9d30788b345d3861", "name": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/configuracoe", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/configuracoes/page.tsx:78)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/page.tsx:78` calls `GET /api/central-solicitacoes/me/atendente-deptos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/me/atendente-deptos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f64024b9205ff56c", "name": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:77)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:77)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:77` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f55e8517dcd4fc6d", "name": "Dangling fetch: GET /api/central-solicitacoes/aprovacoes/stats (src/app/(dashboard)/central-solicitacoes/configuracoes/a", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/aprovacoes/stats (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:78)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:78` calls `GET /api/central-solicitacoes/aprovacoes/stats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/aprovacoes/stats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-52a1cdfc38414534", "name": "Dangling fetch: GET /api/central-solicitacoes/config?include_inactive=true (src/app/(dashboard)/central-solicitacoes/con", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/config?include_inactive=true (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:79)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:79` calls `GET /api/central-solicitacoes/config?include_inactive=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ffbe71a2511b9c19", "name": "Dangling fetch: GET /api/central-solicitacoes/admin/equipes (src/app/(dashboard)/central-solicitacoes/configuracoes/apro", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/equipes (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:80)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:80` calls `GET /api/central-solicitacoes/admin/equipes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/equipes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fb332a1c57cb82ac", "name": "Dangling fetch: GET /api/usuarios (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:81)", "shortDescription": {"text": "Dangling fetch: GET /api/usuarios (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:81)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:81` calls `GET /api/usuarios` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/usuarios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae6b50d2c940e363", "name": "Dangling fetch: POST /api/central-solicitacoes/admin/manager (src/app/(dashboard)/central-solicitacoes/configuracoes/apr", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/admin/manager (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:123)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:123` calls `POST /api/central-solicitacoes/admin/manager` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/manager`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5660027273c60f73", "name": "Dangling fetch: GET /api/central-solicitacoes/admin/equipes (src/app/(dashboard)/central-solicitacoes/configuracoes/equi", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/equipes (src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:23)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:23` calls `GET /api/central-solicitacoes/admin/equipes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/equipes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eb3b04d5682f1dee", "name": "Dangling fetch: GET /api/usuarios (src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:24)", "shortDescription": {"text": "Dangling fetch: GET /api/usuarios (src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:24)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:24` calls `GET /api/usuarios` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/usuarios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2553ebfa2bb3a5bb", "name": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/pag", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:25)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:25` calls `GET /api/central-solicitacoes/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b41472e0c3e7d3e6", "name": "Dangling fetch: POST /api/central-solicitacoes/admin/equipes (src/app/(dashboard)/central-solicitacoes/configuracoes/equ", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/admin/equipes (src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:57)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:57` calls `POST /api/central-solicitacoes/admin/equipes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/equipes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-286f6c0f6d451822", "name": "Dangling fetch: DELETE /api/central-solicitacoes/admin/equipes?id=${confirmRemove.id} (src/app/(dashboard)/central-solic", "shortDescription": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/admin/equipes?id=${confirmRemove.id} (src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:87)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:87` calls `DELETE /api/central-solicitacoes/admin/equipes?id=${confirmRemove.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/equipes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b4a072d707110f42", "name": "Dangling fetch: GET /api/central-solicitacoes/status (src/app/(dashboard)/central-solicitacoes/configuracoes/status/page", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/status (src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:129)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:129` calls `GET /api/central-solicitacoes/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0aecd0bf39833e9f", "name": "Dangling fetch: GET /api/central-solicitacoes/departamentos (src/app/(dashboard)/central-solicitacoes/configuracoes/stat", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/departamentos (src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:130)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:130` calls `GET /api/central-solicitacoes/departamentos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/departamentos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7b200a5321618a1a", "name": "Dangling fetch: GET /api/central-solicitacoes/status (src/app/(dashboard)/central-solicitacoes/configuracoes/status/page", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/status (src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:190)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:190` calls `GET /api/central-solicitacoes/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9180a2cbfbcc20bb", "name": "Dangling fetch: DELETE /api/central-solicitacoes/status?id=${confirmDelete.id} (src/app/(dashboard)/central-solicitacoes", "shortDescription": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/status?id=${confirmDelete.id} (src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:223)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:223` calls `DELETE /api/central-solicitacoes/status?id=${confirmDelete.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-47f922b8d976aa95", "name": "Dangling fetch: GET /api/central-solicitacoes/departamentos (src/app/(dashboard)/central-solicitacoes/configuracoes/depa", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/departamentos (src/app/(dashboard)/central-solicitacoes/configuracoes/departamentos/page.tsx:105)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/departamentos/page.tsx:105` calls `GET /api/central-solicitacoes/departamentos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/departamentos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ca6c5e34ff1043a1", "name": "Dangling fetch: GET /api/central-solicitacoes/departamentos (src/app/(dashboard)/central-solicitacoes/configuracoes/depa", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/departamentos (src/app/(dashboard)/central-solicitacoes/configuracoes/departamentos/page.tsx:159)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/departamentos/page.tsx:159` calls `GET /api/central-solicitacoes/departamentos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/departamentos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2b611c567da001a6", "name": "Dangling fetch: DELETE /api/central-solicitacoes/departamentos?id=${confirmDelete.id} (src/app/(dashboard)/central-solic", "shortDescription": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/departamentos?id=${confirmDelete.id} (src/app/(dashboard)/central-solicitacoes/configuracoes/departamentos/page.tsx:192)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/departamentos/page.tsx:192` calls `DELETE /api/central-solicitacoes/departamentos?id=${confirmDelete.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/departamentos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1665cfd4371ff6ef", "name": "Dangling fetch: GET /api/central-solicitacoes/config?include_inactive=true (src/app/(dashboard)/central-solicitacoes/con", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/config?include_inactive=true (src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:84)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:84` calls `GET /api/central-solicitacoes/config?include_inactive=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f12eefc8fb898c85", "name": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/configuracoe", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:85)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:85` calls `GET /api/central-solicitacoes/me/atendente-deptos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/me/atendente-deptos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2102594b7172165c", "name": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:86)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:86)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:86` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-56d46c07e850d474", "name": "Dangling fetch: POST /api/central-solicitacoes/admin/manager (src/app/(dashboard)/central-solicitacoes/configuracoes/cat", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/admin/manager (src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:240)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:240` calls `POST /api/central-solicitacoes/admin/manager` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/manager`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8daa308d81b0efc9", "name": "Dangling fetch: POST /api/central-solicitacoes/admin/manager (src/app/(dashboard)/central-solicitacoes/configuracoes/cat", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/admin/manager (src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:266)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:266` calls `POST /api/central-solicitacoes/admin/manager` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/manager`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dadb7eb5dee9dcb4", "name": "Dangling fetch: POST /api/central-solicitacoes/admin/manager (src/app/(dashboard)/central-solicitacoes/configuracoes/cat", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/admin/manager (src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:296)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:296` calls `POST /api/central-solicitacoes/admin/manager` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/manager`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0de4de8e9faa4421", "name": "Dangling fetch: GET /api/central-solicitacoes/admin/perfis-dashboard (src/app/(dashboard)/central-solicitacoes/configura", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/perfis-dashboard (src/app/(dashboard)/central-solicitacoes/configuracoes/perfis/page.tsx:93)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/perfis/page.tsx:93` calls `GET /api/central-solicitacoes/admin/perfis-dashboard` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/perfis-dashboard`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-21e8214b1a6211c4", "name": "Dangling fetch: GET /api/central-solicitacoes/admin/equipes (src/app/(dashboard)/central-solicitacoes/configuracoes/perf", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/equipes (src/app/(dashboard)/central-solicitacoes/configuracoes/perfis/page.tsx:94)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/perfis/page.tsx:94` calls `GET /api/central-solicitacoes/admin/equipes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/equipes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-034f48c0d0893c74", "name": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/configuracoes/perfis/page.tsx:95)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/configuracoes/perfis/page.tsx:95)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/perfis/page.tsx:95` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5716e7fe5edeff76", "name": "Dangling fetch: PUT /api/central-solicitacoes/admin/perfis-dashboard (src/app/(dashboard)/central-solicitacoes/configura", "shortDescription": {"text": "Dangling fetch: PUT /api/central-solicitacoes/admin/perfis-dashboard (src/app/(dashboard)/central-solicitacoes/configuracoes/perfis/page.tsx:134)"}, "fullDescription": {"text": "`src/app/(dashboard)/central-solicitacoes/configuracoes/perfis/page.tsx:134` calls `PUT /api/central-solicitacoes/admin/perfis-dashboard` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/admin/perfis-dashboard`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0648b1c3dabcb10d", "name": "Dangling fetch: DELETE /api/avisos/${confirmDelete.id} (src/app/(dashboard)/mural-avisos/MuralAvisosPageClient.tsx:73)", "shortDescription": {"text": "Dangling fetch: DELETE /api/avisos/${confirmDelete.id} (src/app/(dashboard)/mural-avisos/MuralAvisosPageClient.tsx:73)"}, "fullDescription": {"text": "`src/app/(dashboard)/mural-avisos/MuralAvisosPageClient.tsx:73` calls `DELETE /api/avisos/${confirmDelete.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/avisos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3d9189918faeafec", "name": "Dangling fetch: PATCH /api/notifications/${item.id}/read (src/app/(dashboard)/notificacoes/page.tsx:116)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/${item.id}/read (src/app/(dashboard)/notificacoes/page.tsx:116)"}, "fullDescription": {"text": "`src/app/(dashboard)/notificacoes/page.tsx:116` calls `PATCH /api/notifications/${item.id}/read` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/<p>/read`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9ba6d0c40c24cb47", "name": "Dangling fetch: PATCH /api/notifications/read-all (src/app/(dashboard)/notificacoes/page.tsx:128)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/read-all (src/app/(dashboard)/notificacoes/page.tsx:128)"}, "fullDescription": {"text": "`src/app/(dashboard)/notificacoes/page.tsx:128` calls `PATCH /api/notifications/read-all` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/read-all`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ca7e49321b6ff97e", "name": "Dangling fetch: GET /api/notifications/preferences (src/app/(dashboard)/notificacoes/preferencias/page.tsx:189)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications/preferences (src/app/(dashboard)/notificacoes/preferencias/page.tsx:189)"}, "fullDescription": {"text": "`src/app/(dashboard)/notificacoes/preferencias/page.tsx:189` calls `GET /api/notifications/preferences` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/preferences`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-154f0e05d0e5d02d", "name": "Dangling fetch: GET /api/notifications/recipients (src/app/(dashboard)/notificacoes/preferencias/page.tsx:190)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications/recipients (src/app/(dashboard)/notificacoes/preferencias/page.tsx:190)"}, "fullDescription": {"text": "`src/app/(dashboard)/notificacoes/preferencias/page.tsx:190` calls `GET /api/notifications/recipients` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/recipients`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-019d884065aefb3b", "name": "Dangling fetch: PUT /api/notifications/preferences (src/app/(dashboard)/notificacoes/preferencias/page.tsx:250)", "shortDescription": {"text": "Dangling fetch: PUT /api/notifications/preferences (src/app/(dashboard)/notificacoes/preferencias/page.tsx:250)"}, "fullDescription": {"text": "`src/app/(dashboard)/notificacoes/preferencias/page.tsx:250` calls `PUT /api/notifications/preferences` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/preferences`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-489bdb0d6941d0dc", "name": "Dangling fetch: PATCH /api/usuarios/me/notificacoes (src/app/(dashboard)/perfil/WhatsAppToggle.tsx:22)", "shortDescription": {"text": "Dangling fetch: PATCH /api/usuarios/me/notificacoes (src/app/(dashboard)/perfil/WhatsAppToggle.tsx:22)"}, "fullDescription": {"text": "`src/app/(dashboard)/perfil/WhatsAppToggle.tsx:22` calls `PATCH /api/usuarios/me/notificacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/usuarios/me/notificacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-48f74588d2fae548", "name": "Dangling fetch: POST /api/perfil/avatar (src/app/(dashboard)/perfil/AvatarUploader.tsx:58)", "shortDescription": {"text": "Dangling fetch: POST /api/perfil/avatar (src/app/(dashboard)/perfil/AvatarUploader.tsx:58)"}, "fullDescription": {"text": "`src/app/(dashboard)/perfil/AvatarUploader.tsx:58` calls `POST /api/perfil/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/perfil/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3e52b0ef163ba81b", "name": "Dangling fetch: DELETE /api/perfil/avatar (src/app/(dashboard)/perfil/AvatarUploader.tsx:79)", "shortDescription": {"text": "Dangling fetch: DELETE /api/perfil/avatar (src/app/(dashboard)/perfil/AvatarUploader.tsx:79)"}, "fullDescription": {"text": "`src/app/(dashboard)/perfil/AvatarUploader.tsx:79` calls `DELETE /api/perfil/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/perfil/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a6c8dd3201e563b5", "name": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/operacoes/page.tsx:14)", "shortDescription": {"text": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/operacoes/page.tsx:14)"}, "fullDescription": {"text": "`src/app/(dashboard)/operacoes/page.tsx:14` calls `GET /api/operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bf58880fa0897b82", "name": "Dangling fetch: GET https://api.bigdatacloud.net/data/reverse-geocode-client?latitude=${latitude}&longitude=${longitude}", "shortDescription": {"text": "Dangling fetch: GET https://api.bigdatacloud.net/data/reverse-geocode-client?latitude=${latitude}&longitude=${longitude}&localityLanguage=pt (src/app/(dashboard)/dashboard/WeatherCard.tsx:174)"}, "fullDescription": {"text": "`src/app/(dashboard)/dashboard/WeatherCard.tsx:174` calls `GET https://api.bigdatacloud.net/data/reverse-geocode-client?latitude=${latitude}&longitude=${longitude}&localityLanguage=pt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.bigdatacloud.net/data/reverse-geocode-client`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-006af451df733d41", "name": "Dangling fetch: DELETE /api/avisos/${confirmDelete.id} (src/app/(dashboard)/dashboard/MuralAvisos.tsx:79)", "shortDescription": {"text": "Dangling fetch: DELETE /api/avisos/${confirmDelete.id} (src/app/(dashboard)/dashboard/MuralAvisos.tsx:79)"}, "fullDescription": {"text": "`src/app/(dashboard)/dashboard/MuralAvisos.tsx:79` calls `DELETE /api/avisos/${confirmDelete.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/avisos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2445ef9032cb616c", "name": "Dangling fetch: POST /api/contas-fixas/fornecedores (src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:49)", "shortDescription": {"text": "Dangling fetch: POST /api/contas-fixas/fornecedores (src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:49)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:49` calls `POST /api/contas-fixas/fornecedores` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/fornecedores`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b3b738934505086f", "name": "Dangling fetch: PUT /api/contas-fixas/fornecedores/${id} (src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:7", "shortDescription": {"text": "Dangling fetch: PUT /api/contas-fixas/fornecedores/${id} (src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:79)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:79` calls `PUT /api/contas-fixas/fornecedores/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/fornecedores/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ba19b996847fd186", "name": "Dangling fetch: PUT /api/contas-fixas/fornecedores/${f.id} (src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx", "shortDescription": {"text": "Dangling fetch: PUT /api/contas-fixas/fornecedores/${f.id} (src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:92)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:92` calls `PUT /api/contas-fixas/fornecedores/${f.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/fornecedores/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a424260056f84fdf", "name": "Dangling fetch: POST /api/contas-fixas/faturas/${id}/pagar (src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx", "shortDescription": {"text": "Dangling fetch: POST /api/contas-fixas/faturas/${id}/pagar (src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:110)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:110` calls `POST /api/contas-fixas/faturas/${id}/pagar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/faturas/<p>/pagar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-51dd942d8a6d4e00", "name": "Dangling fetch: POST /api/contas-fixas/faturas/${id}/cancelar (src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.", "shortDescription": {"text": "Dangling fetch: POST /api/contas-fixas/faturas/${id}/cancelar (src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:133)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:133` calls `POST /api/contas-fixas/faturas/${id}/cancelar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/faturas/<p>/cancelar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cb7814dd38d649ac", "name": "Dangling fetch: POST /api/contas-fixas/faturas/${id}/anexos (src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.ts", "shortDescription": {"text": "Dangling fetch: POST /api/contas-fixas/faturas/${id}/anexos (src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:153)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:153` calls `POST /api/contas-fixas/faturas/${id}/anexos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/faturas/<p>/anexos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3f2b530ad389154d", "name": "Dangling fetch: DELETE /api/contas-fixas/faturas/${id}/anexos/${aid} (src/app/(dashboard)/admin/contas-fixas/faturas/[id", "shortDescription": {"text": "Dangling fetch: DELETE /api/contas-fixas/faturas/${id}/anexos/${aid} (src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:184)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:184` calls `DELETE /api/contas-fixas/faturas/${id}/anexos/${aid}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/faturas/<p>/anexos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-27c262180d47b389", "name": "Dangling fetch: POST /api/contas-fixas/faturas/${faturaId}/anexos (src/app/(dashboard)/admin/contas-fixas/faturas/nova/p", "shortDescription": {"text": "Dangling fetch: POST /api/contas-fixas/faturas/${faturaId}/anexos (src/app/(dashboard)/admin/contas-fixas/faturas/nova/page.tsx:100)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/faturas/nova/page.tsx:100` calls `POST /api/contas-fixas/faturas/${faturaId}/anexos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/faturas/<p>/anexos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ca36fa9e3f109962", "name": "Dangling fetch: POST /api/contas-fixas/faturas (src/app/(dashboard)/admin/contas-fixas/faturas/nova/page.tsx:134)", "shortDescription": {"text": "Dangling fetch: POST /api/contas-fixas/faturas (src/app/(dashboard)/admin/contas-fixas/faturas/nova/page.tsx:134)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/faturas/nova/page.tsx:134` calls `POST /api/contas-fixas/faturas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/faturas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b78b33aab3ee3941", "name": "Dangling fetch: POST /api/contas-fixas/cnpjs (src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:49)", "shortDescription": {"text": "Dangling fetch: POST /api/contas-fixas/cnpjs (src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:49)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:49` calls `POST /api/contas-fixas/cnpjs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/cnpjs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dd53338649e70ccc", "name": "Dangling fetch: PUT /api/contas-fixas/cnpjs/${c.id} (src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:79)", "shortDescription": {"text": "Dangling fetch: PUT /api/contas-fixas/cnpjs/${c.id} (src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:79)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:79` calls `PUT /api/contas-fixas/cnpjs/${c.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/cnpjs/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9030f96a614d580d", "name": "Dangling fetch: PUT /api/contas-fixas/cnpjs/${c.id} (src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:92)", "shortDescription": {"text": "Dangling fetch: PUT /api/contas-fixas/cnpjs/${c.id} (src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:92)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:92` calls `PUT /api/contas-fixas/cnpjs/${c.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/cnpjs/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-20537f07ae33ae4d", "name": "Dangling fetch: POST /api/contas-fixas/contratos (src/app/(dashboard)/admin/contas-fixas/contratos/novo/page.tsx:76)", "shortDescription": {"text": "Dangling fetch: POST /api/contas-fixas/contratos (src/app/(dashboard)/admin/contas-fixas/contratos/novo/page.tsx:76)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/contratos/novo/page.tsx:76` calls `POST /api/contas-fixas/contratos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/contratos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dba3788b9200969f", "name": "Dangling fetch: PUT /api/contas-fixas/contratos/${id} (src/app/(dashboard)/admin/contas-fixas/contratos/[id]/editar/page", "shortDescription": {"text": "Dangling fetch: PUT /api/contas-fixas/contratos/${id} (src/app/(dashboard)/admin/contas-fixas/contratos/[id]/editar/page.tsx:91)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/contratos/[id]/editar/page.tsx:91` calls `PUT /api/contas-fixas/contratos/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/contratos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a61a9a68a9fadc5e", "name": "Dangling fetch: DELETE /api/contas-fixas/contratos/${id} (src/app/(dashboard)/admin/contas-fixas/contratos/[id]/editar/p", "shortDescription": {"text": "Dangling fetch: DELETE /api/contas-fixas/contratos/${id} (src/app/(dashboard)/admin/contas-fixas/contratos/[id]/editar/page.tsx:114)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/contratos/[id]/editar/page.tsx:114` calls `DELETE /api/contas-fixas/contratos/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/contratos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-473be22b87b08777", "name": "Dangling fetch: POST /api/contas-fixas/faturas/${faturaId}/anexos (src/app/(dashboard)/admin/contas-fixas/faturas-tef/no", "shortDescription": {"text": "Dangling fetch: POST /api/contas-fixas/faturas/${faturaId}/anexos (src/app/(dashboard)/admin/contas-fixas/faturas-tef/nova/page.tsx:90)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/faturas-tef/nova/page.tsx:90` calls `POST /api/contas-fixas/faturas/${faturaId}/anexos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/faturas/<p>/anexos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-334dbd240d33a14e", "name": "Dangling fetch: POST /api/contas-fixas/faturas (src/app/(dashboard)/admin/contas-fixas/faturas-tef/nova/page.tsx:111)", "shortDescription": {"text": "Dangling fetch: POST /api/contas-fixas/faturas (src/app/(dashboard)/admin/contas-fixas/faturas-tef/nova/page.tsx:111)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/faturas-tef/nova/page.tsx:111` calls `POST /api/contas-fixas/faturas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/faturas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8371a3d1d7ac04d9", "name": "Dangling fetch: POST /api/contas-fixas/contratos (src/app/(dashboard)/admin/contas-fixas/contratos-tef/novo/page.tsx:75)", "shortDescription": {"text": "Dangling fetch: POST /api/contas-fixas/contratos (src/app/(dashboard)/admin/contas-fixas/contratos-tef/novo/page.tsx:75)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/contas-fixas/contratos-tef/novo/page.tsx:75` calls `POST /api/contas-fixas/contratos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contas-fixas/contratos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b672eb8e6e01d15b", "name": "Dangling fetch: POST /api/portal/clientes (src/app/(dashboard)/admin/portal-clientes/novo/page.tsx:142)", "shortDescription": {"text": "Dangling fetch: POST /api/portal/clientes (src/app/(dashboard)/admin/portal-clientes/novo/page.tsx:142)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/portal-clientes/novo/page.tsx:142` calls `POST /api/portal/clientes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/clientes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-97d3771c9103d37e", "name": "Dangling fetch: PATCH /api/portal/clientes/${id} (src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:108)", "shortDescription": {"text": "Dangling fetch: PATCH /api/portal/clientes/${id} (src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:108)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:108` calls `PATCH /api/portal/clientes/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/clientes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-325161b2314e062f", "name": "Dangling fetch: PUT /api/portal/clientes/${id}/operacoes (src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:116)", "shortDescription": {"text": "Dangling fetch: PUT /api/portal/clientes/${id}/operacoes (src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:116)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:116` calls `PUT /api/portal/clientes/${id}/operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/clientes/<p>/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d0075694970e4dde", "name": "Dangling fetch: PATCH /api/portal/clientes/${id} (src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:131)", "shortDescription": {"text": "Dangling fetch: PATCH /api/portal/clientes/${id} (src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:131)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:131` calls `PATCH /api/portal/clientes/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/clientes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f8b6f25557cd2153", "name": "Dangling fetch: DELETE /api/portal/clientes/${id} (src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:140)", "shortDescription": {"text": "Dangling fetch: DELETE /api/portal/clientes/${id} (src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:140)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:140` calls `DELETE /api/portal/clientes/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/portal/clientes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2dd192522912d096", "name": "Dangling fetch: GET /api/notifications/admin/event-types (src/app/(dashboard)/admin/notificacoes/page.tsx:34)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications/admin/event-types (src/app/(dashboard)/admin/notificacoes/page.tsx:34)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/page.tsx:34` calls `GET /api/notifications/admin/event-types` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/admin/event-types`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b291d2c05cb7f5c3", "name": "Dangling fetch: GET /api/notifications/admin/deliveries?status=failed&page=0 (src/app/(dashboard)/admin/notificacoes/pag", "shortDescription": {"text": "Dangling fetch: GET /api/notifications/admin/deliveries?status=failed&page=0 (src/app/(dashboard)/admin/notificacoes/page.tsx:35)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/page.tsx:35` calls `GET /api/notifications/admin/deliveries?status=failed&page=0` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/admin/deliveries`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a93f691d4f643b6a", "name": "Dangling fetch: GET /api/central-solicitacoes/notificacoes-log?status=falha,pulado,enviado&desde=${sinceStr}T00:00:00.00", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/notificacoes-log?status=falha,pulado,enviado&desde=${sinceStr}T00:00:00.000Z&ate=${todayStr}T23:59:59.000Z&limit=500 (src/app/(dashboard)/admin/notificacoes/page.tsx:36)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/page.tsx:36` calls `GET /api/central-solicitacoes/notificacoes-log?status=falha,pulado,enviado&desde=${sinceStr}T00:00:00.000Z&ate=${todayStr}T23:59:59.000Z&limit=500` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/notificacoes-log`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c0ee09d8e8bae78a", "name": "Dangling fetch: GET /api/notifications/admin/event-types (src/app/(dashboard)/admin/notificacoes/eventos/page.tsx:94)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications/admin/event-types (src/app/(dashboard)/admin/notificacoes/eventos/page.tsx:94)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/eventos/page.tsx:94` calls `GET /api/notifications/admin/event-types` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/admin/event-types`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b561cb2ec94c29bc", "name": "Dangling fetch: PATCH /api/notifications/admin/event-types/${id} (src/app/(dashboard)/admin/notificacoes/eventos/page.ts", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/admin/event-types/${id} (src/app/(dashboard)/admin/notificacoes/eventos/page.tsx:130)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/eventos/page.tsx:130` calls `PATCH /api/notifications/admin/event-types/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/admin/event-types/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ab756b90050a7085", "name": "Dangling fetch: PATCH /api/notifications/admin/event-types/${eventId} (src/app/(dashboard)/admin/notificacoes/eventos/pa", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/admin/event-types/${eventId} (src/app/(dashboard)/admin/notificacoes/eventos/page.tsx:149)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/eventos/page.tsx:149` calls `PATCH /api/notifications/admin/event-types/${eventId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/admin/event-types/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2bf2d22480fbe1ea", "name": "Dangling fetch: PATCH /api/notifications/admin/event-types/${eventId} (src/app/(dashboard)/admin/notificacoes/eventos/pa", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/admin/event-types/${eventId} (src/app/(dashboard)/admin/notificacoes/eventos/page.tsx:177)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/eventos/page.tsx:177` calls `PATCH /api/notifications/admin/event-types/${eventId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/admin/event-types/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e5aea5b844fd5bd1", "name": "Dangling fetch: GET /api/notifications/admin/templates (src/app/(dashboard)/admin/notificacoes/templates/page.tsx:75)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications/admin/templates (src/app/(dashboard)/admin/notificacoes/templates/page.tsx:75)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/templates/page.tsx:75` calls `GET /api/notifications/admin/templates` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/admin/templates`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-07efabfc41fa385a", "name": "Dangling fetch: PUT /api/notifications/admin/templates (src/app/(dashboard)/admin/notificacoes/templates/page.tsx:157)", "shortDescription": {"text": "Dangling fetch: PUT /api/notifications/admin/templates (src/app/(dashboard)/admin/notificacoes/templates/page.tsx:157)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/templates/page.tsx:157` calls `PUT /api/notifications/admin/templates` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/admin/templates`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-26bf2ebb90a40790", "name": "Dangling fetch: GET /api/notifications/admin/email-audit?days=${days} (src/app/(dashboard)/admin/notificacoes/auditoria-", "shortDescription": {"text": "Dangling fetch: GET /api/notifications/admin/email-audit?days=${days} (src/app/(dashboard)/admin/notificacoes/auditoria-email/page.tsx:45)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/auditoria-email/page.tsx:45` calls `GET /api/notifications/admin/email-audit?days=${days}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/admin/email-audit`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f44f2080a18c2b7a", "name": "Dangling fetch: GET /api/central-solicitacoes/notificacoes-config (src/app/(dashboard)/admin/notificacoes/canais/page.ts", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/notificacoes-config (src/app/(dashboard)/admin/notificacoes/canais/page.tsx:75)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/canais/page.tsx:75` calls `GET /api/central-solicitacoes/notificacoes-config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/notificacoes-config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b640defb230a0d18", "name": "Dangling fetch: PUT /api/central-solicitacoes/notificacoes-config (src/app/(dashboard)/admin/notificacoes/canais/page.ts", "shortDescription": {"text": "Dangling fetch: PUT /api/central-solicitacoes/notificacoes-config (src/app/(dashboard)/admin/notificacoes/canais/page.tsx:168)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/canais/page.tsx:168` calls `PUT /api/central-solicitacoes/notificacoes-config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/notificacoes-config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-737bc784e4164b1c", "name": "Dangling fetch: GET /api/central-solicitacoes/notificacoes-templates (src/app/(dashboard)/admin/notificacoes/canais/page", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/notificacoes-templates (src/app/(dashboard)/admin/notificacoes/canais/page.tsx:197)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/canais/page.tsx:197` calls `GET /api/central-solicitacoes/notificacoes-templates` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/notificacoes-templates`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bbe856446732858d", "name": "Dangling fetch: PUT /api/central-solicitacoes/notificacoes-templates (src/app/(dashboard)/admin/notificacoes/canais/page", "shortDescription": {"text": "Dangling fetch: PUT /api/central-solicitacoes/notificacoes-templates (src/app/(dashboard)/admin/notificacoes/canais/page.tsx:235)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/canais/page.tsx:235` calls `PUT /api/central-solicitacoes/notificacoes-templates` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/notificacoes-templates`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-42f1554ef905f1bd", "name": "Dangling fetch: DELETE /api/central-solicitacoes/notificacoes-templates?evento=${selEvento} (src/app/(dashboard)/admin/n", "shortDescription": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/notificacoes-templates?evento=${selEvento} (src/app/(dashboard)/admin/notificacoes/canais/page.tsx:253)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/canais/page.tsx:253` calls `DELETE /api/central-solicitacoes/notificacoes-templates?evento=${selEvento}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/notificacoes-templates`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4d721254ff7e096c", "name": "Dangling fetch: GET /api/notifications/admin/recipients (src/app/(dashboard)/admin/notificacoes/destinatarios/page.tsx:7", "shortDescription": {"text": "Dangling fetch: GET /api/notifications/admin/recipients (src/app/(dashboard)/admin/notificacoes/destinatarios/page.tsx:74)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/destinatarios/page.tsx:74` calls `GET /api/notifications/admin/recipients` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/admin/recipients`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-653930645b75c821", "name": "Dangling fetch: GET /api/notifications/admin/deliveries?${p} (src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:1", "shortDescription": {"text": "Dangling fetch: GET /api/notifications/admin/deliveries?${p} (src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:110)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:110` calls `GET /api/notifications/admin/deliveries?${p}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/admin/deliveries`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f29ee6584fee55a0", "name": "Dangling fetch: GET /api/central-solicitacoes/notificacoes-log?${p} (src/app/(dashboard)/admin/notificacoes/entregas/pag", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/notificacoes-log?${p} (src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:132)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:132` calls `GET /api/central-solicitacoes/notificacoes-log?${p}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/notificacoes-log`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-12d2010495a749f6", "name": "Dangling fetch: POST /api/notifications/admin/deliveries/${id}/retry (src/app/(dashboard)/admin/notificacoes/entregas/pa", "shortDescription": {"text": "Dangling fetch: POST /api/notifications/admin/deliveries/${id}/retry (src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:160)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:160` calls `POST /api/notifications/admin/deliveries/${id}/retry` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/admin/deliveries/<p>/retry`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b7bdc1bea7851018", "name": "Dangling fetch: POST /api/central-solicitacoes/notificacoes-log/${id}/reenviar (src/app/(dashboard)/admin/notificacoes/e", "shortDescription": {"text": "Dangling fetch: POST /api/central-solicitacoes/notificacoes-log/${id}/reenviar (src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:185)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:185` calls `POST /api/central-solicitacoes/notificacoes-log/${id}/reenviar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/notificacoes-log/<p>/reenviar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-aec51eb14d755d6b", "name": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/admin/operacoes/page.tsx:91)", "shortDescription": {"text": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/admin/operacoes/page.tsx:91)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/operacoes/page.tsx:91` calls `GET /api/operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d2471d114b79d5fb", "name": "Dangling fetch: GET /api/usuarios?perfil=supervisor (src/app/(dashboard)/admin/operacoes/page.tsx:92)", "shortDescription": {"text": "Dangling fetch: GET /api/usuarios?perfil=supervisor (src/app/(dashboard)/admin/operacoes/page.tsx:92)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/operacoes/page.tsx:92` calls `GET /api/usuarios?perfil=supervisor` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/usuarios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b20ae5387cb942f0", "name": "Dangling fetch: GET /api/usuarios?perfil=gerente_operacoes (src/app/(dashboard)/admin/operacoes/page.tsx:93)", "shortDescription": {"text": "Dangling fetch: GET /api/usuarios?perfil=gerente_operacoes (src/app/(dashboard)/admin/operacoes/page.tsx:93)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/operacoes/page.tsx:93` calls `GET /api/usuarios?perfil=gerente_operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/usuarios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-13602b45a3cd9997", "name": "Dangling fetch: GET /api/automacoes (src/app/(dashboard)/admin/operacoes/page.tsx:94)", "shortDescription": {"text": "Dangling fetch: GET /api/automacoes (src/app/(dashboard)/admin/operacoes/page.tsx:94)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/operacoes/page.tsx:94` calls `GET /api/automacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/automacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cc7287735538c8cc", "name": "Dangling fetch: GET /api/faturamento/templates (src/app/(dashboard)/admin/operacoes/page.tsx:95)", "shortDescription": {"text": "Dangling fetch: GET /api/faturamento/templates (src/app/(dashboard)/admin/operacoes/page.tsx:95)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/operacoes/page.tsx:95` calls `GET /api/faturamento/templates` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/faturamento/templates`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ce7c6f4293cfbbd6", "name": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/admin/operacoes/page.tsx:96)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/admin/operacoes/page.tsx:96)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/operacoes/page.tsx:96` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5877d10dfec6ad53", "name": "Dangling fetch: PATCH /api/operacoes/${op.id} (src/app/(dashboard)/admin/operacoes/page.tsx:243)", "shortDescription": {"text": "Dangling fetch: PATCH /api/operacoes/${op.id} (src/app/(dashboard)/admin/operacoes/page.tsx:243)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/operacoes/page.tsx:243` calls `PATCH /api/operacoes/${op.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/operacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0f524b5b362ea5f8", "name": "Dangling fetch: PATCH /api/operacoes/${editando.id} (src/app/(dashboard)/admin/operacoes/page.tsx:256)", "shortDescription": {"text": "Dangling fetch: PATCH /api/operacoes/${editando.id} (src/app/(dashboard)/admin/operacoes/page.tsx:256)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/operacoes/page.tsx:256` calls `PATCH /api/operacoes/${editando.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/operacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8860ec7ba480025e", "name": "Dangling fetch: PUT /api/kanban/quadros/${editando.id} (src/app/(dashboard)/admin/kanban/page.tsx:67)", "shortDescription": {"text": "Dangling fetch: PUT /api/kanban/quadros/${editando.id} (src/app/(dashboard)/admin/kanban/page.tsx:67)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/page.tsx:67` calls `PUT /api/kanban/quadros/${editando.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/quadros/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4a938ce18825e8be", "name": "Dangling fetch: POST /api/kanban/quadros (src/app/(dashboard)/admin/kanban/page.tsx:78)", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/quadros (src/app/(dashboard)/admin/kanban/page.tsx:78)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/page.tsx:78` calls `POST /api/kanban/quadros` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/quadros`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2a8ae895eb32cc6d", "name": "Dangling fetch: DELETE /api/kanban/quadros/${quadro.id} (src/app/(dashboard)/admin/kanban/page.tsx:104)", "shortDescription": {"text": "Dangling fetch: DELETE /api/kanban/quadros/${quadro.id} (src/app/(dashboard)/admin/kanban/page.tsx:104)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/page.tsx:104` calls `DELETE /api/kanban/quadros/${quadro.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/quadros/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6f29f76980d8b5c4", "name": "Dangling fetch: PATCH /api/kanban/quadros/${boardId}/reordenar (src/app/(dashboard)/admin/kanban/[id]/page.tsx:524)", "shortDescription": {"text": "Dangling fetch: PATCH /api/kanban/quadros/${boardId}/reordenar (src/app/(dashboard)/admin/kanban/[id]/page.tsx:524)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/page.tsx:524` calls `PATCH /api/kanban/quadros/${boardId}/reordenar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/quadros/<p>/reordenar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c3fedcb4d219d7d2", "name": "Dangling fetch: PUT /api/kanban/tarefas/${activeId} (src/app/(dashboard)/admin/kanban/[id]/page.tsx:538)", "shortDescription": {"text": "Dangling fetch: PUT /api/kanban/tarefas/${activeId} (src/app/(dashboard)/admin/kanban/[id]/page.tsx:538)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/page.tsx:538` calls `PUT /api/kanban/tarefas/${activeId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ff6ed4f5972a0395", "name": "Dangling fetch: PUT /api/kanban/tarefas/${activeId} (src/app/(dashboard)/admin/kanban/[id]/page.tsx:545)", "shortDescription": {"text": "Dangling fetch: PUT /api/kanban/tarefas/${activeId} (src/app/(dashboard)/admin/kanban/[id]/page.tsx:545)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/page.tsx:545` calls `PUT /api/kanban/tarefas/${activeId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-08182b611fba2862", "name": "Dangling fetch: POST /api/kanban/tarefas (src/app/(dashboard)/admin/kanban/[id]/page.tsx:552)", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/tarefas (src/app/(dashboard)/admin/kanban/[id]/page.tsx:552)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/page.tsx:552` calls `POST /api/kanban/tarefas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-99f635b90ff28f57", "name": "Dangling fetch: POST /api/kanban/quadros/${boardId}/colunas (src/app/(dashboard)/admin/kanban/[id]/page.tsx:589)", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/quadros/${boardId}/colunas (src/app/(dashboard)/admin/kanban/[id]/page.tsx:589)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/page.tsx:589` calls `POST /api/kanban/quadros/${boardId}/colunas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/quadros/<p>/colunas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5c3d27e9d57eb2e9", "name": "Dangling fetch: PUT /api/kanban/colunas/${renomearColuna.id} (src/app/(dashboard)/admin/kanban/[id]/page.tsx:603)", "shortDescription": {"text": "Dangling fetch: PUT /api/kanban/colunas/${renomearColuna.id} (src/app/(dashboard)/admin/kanban/[id]/page.tsx:603)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/page.tsx:603` calls `PUT /api/kanban/colunas/${renomearColuna.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/colunas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ee5d1b04cb71aa70", "name": "Dangling fetch: DELETE /api/kanban/colunas/${colunaId} (src/app/(dashboard)/admin/kanban/[id]/page.tsx:617)", "shortDescription": {"text": "Dangling fetch: DELETE /api/kanban/colunas/${colunaId} (src/app/(dashboard)/admin/kanban/[id]/page.tsx:617)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/page.tsx:617` calls `DELETE /api/kanban/colunas/${colunaId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/colunas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f1e0f8dd3537f29d", "name": "Dangling fetch: PUT /api/kanban/checklists/${cl.id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:190)", "shortDescription": {"text": "Dangling fetch: PUT /api/kanban/checklists/${cl.id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:190)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:190` calls `PUT /api/kanban/checklists/${cl.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/checklists/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-75addaf3954ad711", "name": "Dangling fetch: DELETE /api/kanban/checklists/${cl.id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:203)", "shortDescription": {"text": "Dangling fetch: DELETE /api/kanban/checklists/${cl.id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:203)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:203` calls `DELETE /api/kanban/checklists/${cl.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/checklists/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2e42f86c58a6c38b", "name": "Dangling fetch: POST /api/kanban/checklists/${clId}/itens (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:216", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/checklists/${clId}/itens (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:216)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:216` calls `POST /api/kanban/checklists/${clId}/itens` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/checklists/<p>/itens`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5c5d0a4e77a66e52", "name": "Dangling fetch: PATCH /api/kanban/checklist/${item.id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:241)", "shortDescription": {"text": "Dangling fetch: PATCH /api/kanban/checklist/${item.id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:241)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:241` calls `PATCH /api/kanban/checklist/${item.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/checklist/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-97ec3ef221b4fd91", "name": "Dangling fetch: DELETE /api/kanban/checklist/${itemId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:250)", "shortDescription": {"text": "Dangling fetch: DELETE /api/kanban/checklist/${itemId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:250)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:250` calls `DELETE /api/kanban/checklist/${itemId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/checklist/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-20bc11a37ddf7257", "name": "Dangling fetch: POST /api/kanban/checklists/${cl.id}/save-as-template (src/app/(dashboard)/admin/kanban/[id]/TaskDetailP", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/checklists/${cl.id}/save-as-template (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:258)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:258` calls `POST /api/kanban/checklists/${cl.id}/save-as-template` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/checklists/<p>/save-as-template`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ec14c89892c9a3bc", "name": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/checklists/from-template (src/app/(dashboard)/admin/kanban/[id]/Tas", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/checklists/from-template (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:273)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:273` calls `POST /api/kanban/tarefas/${tarefaId}/checklists/from-template` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas/<p>/checklists/from-template`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b79dfa2543f91d0d", "name": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/checklists (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.t", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/checklists (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:552)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:552` calls `POST /api/kanban/tarefas/${tarefaId}/checklists` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas/<p>/checklists`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0ff7e06af2d733e1", "name": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/anexos (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:6", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/anexos (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:626)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:626` calls `POST /api/kanban/tarefas/${tarefaId}/anexos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas/<p>/anexos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f6440060d4d61463", "name": "Dangling fetch: DELETE /api/kanban/anexos/${id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:635)", "shortDescription": {"text": "Dangling fetch: DELETE /api/kanban/anexos/${id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:635)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:635` calls `DELETE /api/kanban/anexos/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/anexos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6683e0e663e0b4ec", "name": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/links (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:64", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/links (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:644)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:644` calls `POST /api/kanban/tarefas/${tarefaId}/links` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas/<p>/links`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-13f17c998a15b648", "name": "Dangling fetch: DELETE /api/kanban/links/${id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:658)", "shortDescription": {"text": "Dangling fetch: DELETE /api/kanban/links/${id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:658)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:658` calls `DELETE /api/kanban/links/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/links/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-64468765b8a639fa", "name": "Dangling fetch: PUT /api/kanban/tarefas/${tarefaId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1019)", "shortDescription": {"text": "Dangling fetch: PUT /api/kanban/tarefas/${tarefaId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1019)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1019` calls `PUT /api/kanban/tarefas/${tarefaId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ed4e98b3abee72bf", "name": "Dangling fetch: PUT /api/kanban/tarefas/${tarefaId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1032)", "shortDescription": {"text": "Dangling fetch: PUT /api/kanban/tarefas/${tarefaId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1032)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1032` calls `PUT /api/kanban/tarefas/${tarefaId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b58c91920cb8c41a", "name": "Dangling fetch: PUT /api/kanban/tarefas/${tarefaId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1043)", "shortDescription": {"text": "Dangling fetch: PUT /api/kanban/tarefas/${tarefaId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1043)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1043` calls `PUT /api/kanban/tarefas/${tarefaId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1e3c37e58f73c242", "name": "Dangling fetch: POST /api/kanban/upload (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1068)", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/upload (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1068)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1068` calls `POST /api/kanban/upload` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/upload`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-311be2fcacd0e2c2", "name": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/comentarios (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/comentarios (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1075)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1075` calls `POST /api/kanban/tarefas/${tarefaId}/comentarios` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas/<p>/comentarios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1008e8208b1389f4", "name": "Dangling fetch: DELETE /api/kanban/comentarios/${id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1088)", "shortDescription": {"text": "Dangling fetch: DELETE /api/kanban/comentarios/${id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1088)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1088` calls `DELETE /api/kanban/comentarios/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/comentarios/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-26a0cca9d27dc9a9", "name": "Dangling fetch: DELETE /api/kanban/tarefas/${tarefaId}/tags/${tag.id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailP", "shortDescription": {"text": "Dangling fetch: DELETE /api/kanban/tarefas/${tarefaId}/tags/${tag.id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1096)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1096` calls `DELETE /api/kanban/tarefas/${tarefaId}/tags/${tag.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas/<p>/tags/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-be3620359eea0e39", "name": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/tags (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:109", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/tags (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1098)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1098` calls `POST /api/kanban/tarefas/${tarefaId}/tags` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas/<p>/tags`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6b161700b13544d6", "name": "Dangling fetch: POST /api/kanban/tags (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1108)", "shortDescription": {"text": "Dangling fetch: POST /api/kanban/tags (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1108)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1108` calls `POST /api/kanban/tags` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tags`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-20c88a0bfa905211", "name": "Dangling fetch: DELETE /api/kanban/tarefas/${tarefaId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1122)", "shortDescription": {"text": "Dangling fetch: DELETE /api/kanban/tarefas/${tarefaId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1122)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1122` calls `DELETE /api/kanban/tarefas/${tarefaId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/kanban/tarefas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fe19b65a711b2a25", "name": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/page.tsx:50)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/page.tsx:50)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/page.tsx:50` calls `GET /api/admin/patio/config?ativos=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-071d651785087a3f", "name": "Dangling fetch: GET /api/admin/patio/operadores (src/app/(dashboard)/admin/patio/page.tsx:51)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/patio/operadores (src/app/(dashboard)/admin/patio/page.tsx:51)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/page.tsx:51` calls `GET /api/admin/patio/operadores` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/operadores`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-85d1b3dd7a6b508e", "name": "Dangling fetch: GET /api/admin/patio/tarifas (src/app/(dashboard)/admin/patio/page.tsx:52)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/patio/tarifas (src/app/(dashboard)/admin/patio/page.tsx:52)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/page.tsx:52` calls `GET /api/admin/patio/tarifas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/tarifas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0a111e821288641d", "name": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/layout.tsx:58)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/layout.tsx:58)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/layout.tsx:58` calls `GET /api/admin/patio/config?ativos=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c6c69175e215942b", "name": "Dangling fetch: GET /api/admin/patio/config (src/app/(dashboard)/admin/patio/config/page.tsx:173)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/patio/config (src/app/(dashboard)/admin/patio/config/page.tsx:173)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/config/page.tsx:173` calls `GET /api/admin/patio/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-298967f9ce8f2a39", "name": "Dangling fetch: GET /api/admin/patio/dispositivos (src/app/(dashboard)/admin/patio/config/page.tsx:182)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/patio/dispositivos (src/app/(dashboard)/admin/patio/config/page.tsx:182)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/config/page.tsx:182` calls `GET /api/admin/patio/dispositivos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/dispositivos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-91e65c142eae1bbe", "name": "Dangling fetch: POST /api/admin/patio/config (src/app/(dashboard)/admin/patio/config/page.tsx:214)", "shortDescription": {"text": "Dangling fetch: POST /api/admin/patio/config (src/app/(dashboard)/admin/patio/config/page.tsx:214)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/config/page.tsx:214` calls `POST /api/admin/patio/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-524a331656bfce29", "name": "Dangling fetch: POST /api/admin/patio/config (src/app/(dashboard)/admin/patio/config/page.tsx:241)", "shortDescription": {"text": "Dangling fetch: POST /api/admin/patio/config (src/app/(dashboard)/admin/patio/config/page.tsx:241)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/config/page.tsx:241` calls `POST /api/admin/patio/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ea63c0be3d1fa39d", "name": "Dangling fetch: PATCH /api/admin/patio/dispositivos/${editandoDisp.id} (src/app/(dashboard)/admin/patio/config/page.tsx:", "shortDescription": {"text": "Dangling fetch: PATCH /api/admin/patio/dispositivos/${editandoDisp.id} (src/app/(dashboard)/admin/patio/config/page.tsx:278)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/config/page.tsx:278` calls `PATCH /api/admin/patio/dispositivos/${editandoDisp.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/dispositivos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-58c62f94a7e593e4", "name": "Dangling fetch: POST /api/admin/patio/dispositivos (src/app/(dashboard)/admin/patio/config/page.tsx:283)", "shortDescription": {"text": "Dangling fetch: POST /api/admin/patio/dispositivos (src/app/(dashboard)/admin/patio/config/page.tsx:283)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/config/page.tsx:283` calls `POST /api/admin/patio/dispositivos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/dispositivos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-085ee44196cb7eba", "name": "Dangling fetch: PATCH /api/admin/patio/dispositivos/${d.id} (src/app/(dashboard)/admin/patio/config/page.tsx:299)", "shortDescription": {"text": "Dangling fetch: PATCH /api/admin/patio/dispositivos/${d.id} (src/app/(dashboard)/admin/patio/config/page.tsx:299)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/config/page.tsx:299` calls `PATCH /api/admin/patio/dispositivos/${d.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/dispositivos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-13c4b25fb0c87145", "name": "Dangling fetch: DELETE /api/admin/patio/dispositivos/${d.id} (src/app/(dashboard)/admin/patio/config/page.tsx:312)", "shortDescription": {"text": "Dangling fetch: DELETE /api/admin/patio/dispositivos/${d.id} (src/app/(dashboard)/admin/patio/config/page.tsx:312)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/config/page.tsx:312` calls `DELETE /api/admin/patio/dispositivos/${d.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/dispositivos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b88ed4bd55bbb080", "name": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/pagamentos/page.tsx:66)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/pagamentos/page.tsx:66)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/pagamentos/page.tsx:66` calls `GET /api/admin/patio/config?ativos=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-384e88ef94f2e1d6", "name": "Dangling fetch: POST /api/admin/patio/config (src/app/(dashboard)/admin/patio/pagamentos/page.tsx:110)", "shortDescription": {"text": "Dangling fetch: POST /api/admin/patio/config (src/app/(dashboard)/admin/patio/pagamentos/page.tsx:110)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/pagamentos/page.tsx:110` calls `POST /api/admin/patio/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f825071b70e403d8", "name": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/tarifas/page.tsx:110)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/tarifas/page.tsx:110)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/tarifas/page.tsx:110` calls `GET /api/admin/patio/config?ativos=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a4620b82d2ac2fdc", "name": "Dangling fetch: DELETE /api/admin/patio/tarifas/${t.id} (src/app/(dashboard)/admin/patio/tarifas/page.tsx:185)", "shortDescription": {"text": "Dangling fetch: DELETE /api/admin/patio/tarifas/${t.id} (src/app/(dashboard)/admin/patio/tarifas/page.tsx:185)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/tarifas/page.tsx:185` calls `DELETE /api/admin/patio/tarifas/${t.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/tarifas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-48a09d061cc1e8a7", "name": "Dangling fetch: PUT /api/admin/patio/tarifas/${t.id} (src/app/(dashboard)/admin/patio/tarifas/page.tsx:187)", "shortDescription": {"text": "Dangling fetch: PUT /api/admin/patio/tarifas/${t.id} (src/app/(dashboard)/admin/patio/tarifas/page.tsx:187)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/tarifas/page.tsx:187` calls `PUT /api/admin/patio/tarifas/${t.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/tarifas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cdf247c8d39184f9", "name": "Dangling fetch: GET /api/admin/patio/resultados?${p.toString()} (src/app/(dashboard)/admin/patio/financeiro/page.tsx:105", "shortDescription": {"text": "Dangling fetch: GET /api/admin/patio/resultados?${p.toString()} (src/app/(dashboard)/admin/patio/financeiro/page.tsx:105)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/financeiro/page.tsx:105` calls `GET /api/admin/patio/resultados?${p.toString()}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/resultados`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b1c063dbe6d5c6b1", "name": "Dangling fetch: GET /api/admin/patio/caixas?${p.toString()} (src/app/(dashboard)/admin/patio/financeiro/page.tsx:112)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/patio/caixas?${p.toString()} (src/app/(dashboard)/admin/patio/financeiro/page.tsx:112)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/financeiro/page.tsx:112` calls `GET /api/admin/patio/caixas?${p.toString()}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/caixas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-71a97d52e063b12e", "name": "Dangling fetch: GET /api/admin/patio/caixas/${id} (src/app/(dashboard)/admin/patio/financeiro/page.tsx:132)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/patio/caixas/${id} (src/app/(dashboard)/admin/patio/financeiro/page.tsx:132)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/financeiro/page.tsx:132` calls `GET /api/admin/patio/caixas/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/caixas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-09603e93d19e2708", "name": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/operadores/page.tsx:60)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/operadores/page.tsx:60)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/operadores/page.tsx:60` calls `GET /api/admin/patio/config?ativos=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0396898d03ab984d", "name": "Dangling fetch: PUT /api/admin/patio/operadores/${op.id} (src/app/(dashboard)/admin/patio/operadores/page.tsx:130)", "shortDescription": {"text": "Dangling fetch: PUT /api/admin/patio/operadores/${op.id} (src/app/(dashboard)/admin/patio/operadores/page.tsx:130)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/operadores/page.tsx:130` calls `PUT /api/admin/patio/operadores/${op.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/operadores/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-53269e7c46699d2f", "name": "Dangling fetch: GET /api/admin/patio/tickets?${p.toString()} (src/app/(dashboard)/admin/patio/operacao/page.tsx:79)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/patio/tickets?${p.toString()} (src/app/(dashboard)/admin/patio/operacao/page.tsx:79)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patio/operacao/page.tsx:79` calls `GET /api/admin/patio/tickets?${p.toString()}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/patio/tickets`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dcf639bf55c790dc", "name": "Dangling fetch: POST /api/patrimonio (src/app/(dashboard)/admin/patrimonio/novo/page.tsx:185)", "shortDescription": {"text": "Dangling fetch: POST /api/patrimonio (src/app/(dashboard)/admin/patrimonio/novo/page.tsx:185)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/novo/page.tsx:185` calls `POST /api/patrimonio` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a8257fa2a274e45f", "name": "Dangling fetch: POST /api/patrimonio/${patrimonioId}/anexos (src/app/(dashboard)/admin/patrimonio/novo/page.tsx:212)", "shortDescription": {"text": "Dangling fetch: POST /api/patrimonio/${patrimonioId}/anexos (src/app/(dashboard)/admin/patrimonio/novo/page.tsx:212)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/novo/page.tsx:212` calls `POST /api/patrimonio/${patrimonioId}/anexos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/<p>/anexos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f9454a72b70fe932", "name": "Dangling fetch: POST /api/patrimonio/${patrimonioId}/anexos (src/app/(dashboard)/admin/patrimonio/novo/page.tsx:220)", "shortDescription": {"text": "Dangling fetch: POST /api/patrimonio/${patrimonioId}/anexos (src/app/(dashboard)/admin/patrimonio/novo/page.tsx:220)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/novo/page.tsx:220` calls `POST /api/patrimonio/${patrimonioId}/anexos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/<p>/anexos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-61150976351775f7", "name": "Dangling fetch: POST /api/patrimonio/${p.id}/reenviar-termo (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:164)", "shortDescription": {"text": "Dangling fetch: POST /api/patrimonio/${p.id}/reenviar-termo (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:164)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:164` calls `POST /api/patrimonio/${p.id}/reenviar-termo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/<p>/reenviar-termo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c6534322d95ec226", "name": "Dangling fetch: POST /api/patrimonio/${p.id}/transferir (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:189)", "shortDescription": {"text": "Dangling fetch: POST /api/patrimonio/${p.id}/transferir (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:189)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:189` calls `POST /api/patrimonio/${p.id}/transferir` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/<p>/transferir`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-507b71be23ace844", "name": "Dangling fetch: PUT /api/patrimonio/${p.id} (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:223)", "shortDescription": {"text": "Dangling fetch: PUT /api/patrimonio/${p.id} (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:223)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:223` calls `PUT /api/patrimonio/${p.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-19143d1b02d2cb52", "name": "Dangling fetch: POST /api/patrimonio/${p.id}/manutencoes (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:283)", "shortDescription": {"text": "Dangling fetch: POST /api/patrimonio/${p.id}/manutencoes (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:283)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:283` calls `POST /api/patrimonio/${p.id}/manutencoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/<p>/manutencoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-53f578ca2790c5f2", "name": "Dangling fetch: POST /api/patrimonio/${p.id}/vistorias (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:313)", "shortDescription": {"text": "Dangling fetch: POST /api/patrimonio/${p.id}/vistorias (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:313)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:313` calls `POST /api/patrimonio/${p.id}/vistorias` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/<p>/vistorias`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3294993f56aab902", "name": "Dangling fetch: DELETE /api/patrimonio/${p.id}/anexos?anexo_id=${confirmDeleteAnexoId} (src/app/(dashboard)/admin/patrim", "shortDescription": {"text": "Dangling fetch: DELETE /api/patrimonio/${p.id}/anexos?anexo_id=${confirmDeleteAnexoId} (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:411)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:411` calls `DELETE /api/patrimonio/${p.id}/anexos?anexo_id=${confirmDeleteAnexoId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/<p>/anexos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-04262f8d11ec747f", "name": "Dangling fetch: POST /api/patrimonio/categorias (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:40)", "shortDescription": {"text": "Dangling fetch: POST /api/patrimonio/categorias (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:40)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:40` calls `POST /api/patrimonio/categorias` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/categorias`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5e989699398636e6", "name": "Dangling fetch: PATCH /api/patrimonio/categorias/${id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:52)", "shortDescription": {"text": "Dangling fetch: PATCH /api/patrimonio/categorias/${id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:52)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:52` calls `PATCH /api/patrimonio/categorias/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/categorias/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-839758dc2379578f", "name": "Dangling fetch: PATCH /api/patrimonio/categorias/${id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:62)", "shortDescription": {"text": "Dangling fetch: PATCH /api/patrimonio/categorias/${id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:62)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:62` calls `PATCH /api/patrimonio/categorias/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/categorias/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9870ffc8b77db946", "name": "Dangling fetch: PATCH /api/patrimonio/categorias/${id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:71)", "shortDescription": {"text": "Dangling fetch: PATCH /api/patrimonio/categorias/${id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:71)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:71` calls `PATCH /api/patrimonio/categorias/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/categorias/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-34e4933c78eb8b26", "name": "Dangling fetch: DELETE /api/patrimonio/categorias/${confirmDeleteCat.id} (src/app/(dashboard)/admin/patrimonio/categoria", "shortDescription": {"text": "Dangling fetch: DELETE /api/patrimonio/categorias/${confirmDeleteCat.id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:90)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:90` calls `DELETE /api/patrimonio/categorias/${confirmDeleteCat.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/categorias/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-40c4e510fe6fc6f0", "name": "Dangling fetch: POST /api/patrimonio/status (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:114)", "shortDescription": {"text": "Dangling fetch: POST /api/patrimonio/status (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:114)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:114` calls `POST /api/patrimonio/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-15f65197af785491", "name": "Dangling fetch: PATCH /api/patrimonio/status/${editandoStatus.id} (src/app/(dashboard)/admin/patrimonio/categorias/page.", "shortDescription": {"text": "Dangling fetch: PATCH /api/patrimonio/status/${editandoStatus.id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:126)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:126` calls `PATCH /api/patrimonio/status/${editandoStatus.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/status/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fea820540ce7c6ba", "name": "Dangling fetch: PATCH /api/patrimonio/status/${id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:136)", "shortDescription": {"text": "Dangling fetch: PATCH /api/patrimonio/status/${id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:136)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:136` calls `PATCH /api/patrimonio/status/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/status/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2d8ffb334d8c6ded", "name": "Dangling fetch: DELETE /api/patrimonio/status/${confirmDeleteStatus.id} (src/app/(dashboard)/admin/patrimonio/categorias", "shortDescription": {"text": "Dangling fetch: DELETE /api/patrimonio/status/${confirmDeleteStatus.id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:155)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:155` calls `DELETE /api/patrimonio/status/${confirmDeleteStatus.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/status/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-83bb06d05e2b26ce", "name": "Dangling fetch: PATCH /api/patrimonio/alertas (src/app/(dashboard)/admin/patrimonio/alertas/page.tsx:17)", "shortDescription": {"text": "Dangling fetch: PATCH /api/patrimonio/alertas (src/app/(dashboard)/admin/patrimonio/alertas/page.tsx:17)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/patrimonio/alertas/page.tsx:17` calls `PATCH /api/patrimonio/alertas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/patrimonio/alertas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b87fcf4a49a06e0c", "name": "Dangling fetch: GET /api/usuarios?perfil=supervisor (src/app/(dashboard)/admin/supervisores/page.tsx:81)", "shortDescription": {"text": "Dangling fetch: GET /api/usuarios?perfil=supervisor (src/app/(dashboard)/admin/supervisores/page.tsx:81)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/supervisores/page.tsx:81` calls `GET /api/usuarios?perfil=supervisor` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/usuarios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-93f4443baf76b641", "name": "Dangling fetch: GET /api/usuarios?perfil=gerente_operacoes (src/app/(dashboard)/admin/supervisores/page.tsx:82)", "shortDescription": {"text": "Dangling fetch: GET /api/usuarios?perfil=gerente_operacoes (src/app/(dashboard)/admin/supervisores/page.tsx:82)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/supervisores/page.tsx:82` calls `GET /api/usuarios?perfil=gerente_operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/usuarios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-73abf32c15e6091c", "name": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/admin/supervisores/page.tsx:83)", "shortDescription": {"text": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/admin/supervisores/page.tsx:83)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/supervisores/page.tsx:83` calls `GET /api/operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a6e2076fbdc19003", "name": "Dangling fetch: PATCH /api/usuarios/${supervisorId} (src/app/(dashboard)/admin/supervisores/page.tsx:138)", "shortDescription": {"text": "Dangling fetch: PATCH /api/usuarios/${supervisorId} (src/app/(dashboard)/admin/supervisores/page.tsx:138)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/supervisores/page.tsx:138` calls `PATCH /api/usuarios/${supervisorId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/usuarios/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-44953ec4f3b7387c", "name": "Dangling fetch: PATCH /api/supervisores/${supervisorSelecionado.id}/operacoes (src/app/(dashboard)/admin/supervisores/pa", "shortDescription": {"text": "Dangling fetch: PATCH /api/supervisores/${supervisorSelecionado.id}/operacoes (src/app/(dashboard)/admin/supervisores/page.tsx:190)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/supervisores/page.tsx:190` calls `PATCH /api/supervisores/${supervisorSelecionado.id}/operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/supervisores/<p>/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d6369be7e688447b", "name": "Dangling fetch: PATCH /api/supervisores/${supervisorSelecionado.id}/operacoes (src/app/(dashboard)/admin/supervisores/pa", "shortDescription": {"text": "Dangling fetch: PATCH /api/supervisores/${supervisorSelecionado.id}/operacoes (src/app/(dashboard)/admin/supervisores/page.tsx:224)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/supervisores/page.tsx:224` calls `PATCH /api/supervisores/${supervisorSelecionado.id}/operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/supervisores/<p>/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b6967f7797b79e5c", "name": "Dangling fetch: GET /api/operacoes?status=ativa (src/app/(dashboard)/admin/auditoria/auditor-senior/page.tsx:87)", "shortDescription": {"text": "Dangling fetch: GET /api/operacoes?status=ativa (src/app/(dashboard)/admin/auditoria/auditor-senior/page.tsx:87)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/auditor-senior/page.tsx:87` calls `GET /api/operacoes?status=ativa` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-15a243a7ba68c29d", "name": "Dangling fetch: POST /api/auditoria/auditor-senior/analisar (src/app/(dashboard)/admin/auditoria/auditor-senior/page.tsx", "shortDescription": {"text": "Dangling fetch: POST /api/auditoria/auditor-senior/analisar (src/app/(dashboard)/admin/auditoria/auditor-senior/page.tsx:104)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/auditor-senior/page.tsx:104` calls `POST /api/auditoria/auditor-senior/analisar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auditoria/auditor-senior/analisar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7548255113c0be66", "name": "Dangling fetch: GET /api/operacoes?id=${id} (src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:45)", "shortDescription": {"text": "Dangling fetch: GET /api/operacoes?id=${id} (src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:45)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:45` calls `GET /api/operacoes?id=${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-656dbaca398ffa3c", "name": "Dangling fetch: GET /api/faturamento/alertas?operacao_id=${id} (src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/", "shortDescription": {"text": "Dangling fetch: GET /api/faturamento/alertas?operacao_id=${id} (src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:46)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:46` calls `GET /api/faturamento/alertas?operacao_id=${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/faturamento/alertas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6db88386e26bf0e8", "name": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:47)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:47)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:47` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-93f0b2b30783ca41", "name": "Dangling fetch: GET /api/metas-faturamento/alertas/${id} (src/app/(dashboard)/admin/auditoria/metas/tratativa/[id]/page.", "shortDescription": {"text": "Dangling fetch: GET /api/metas-faturamento/alertas/${id} (src/app/(dashboard)/admin/auditoria/metas/tratativa/[id]/page.tsx:80)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/metas/tratativa/[id]/page.tsx:80` calls `GET /api/metas-faturamento/alertas/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento/alertas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3b3a01a936abe72a", "name": "Dangling fetch: GET /api/metas-faturamento/${dataAlert.meta_id} (src/app/(dashboard)/admin/auditoria/metas/tratativa/[id", "shortDescription": {"text": "Dangling fetch: GET /api/metas-faturamento/${dataAlert.meta_id} (src/app/(dashboard)/admin/auditoria/metas/tratativa/[id]/page.tsx:86)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/metas/tratativa/[id]/page.tsx:86` calls `GET /api/metas-faturamento/${dataAlert.meta_id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-16aedfa1ff8d74fd", "name": "Dangling fetch: POST /api/metas-faturamento/alertas/${id}/tratativa (src/app/(dashboard)/admin/auditoria/metas/tratativa", "shortDescription": {"text": "Dangling fetch: POST /api/metas-faturamento/alertas/${id}/tratativa (src/app/(dashboard)/admin/auditoria/metas/tratativa/[id]/page.tsx:110)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/metas/tratativa/[id]/page.tsx:110` calls `POST /api/metas-faturamento/alertas/${id}/tratativa` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento/alertas/<p>/tratativa`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-85e26ec3b3b0004d", "name": "Dangling fetch: GET /api/operacoes?status=ativa (src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:30)", "shortDescription": {"text": "Dangling fetch: GET /api/operacoes?status=ativa (src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:30)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:30` calls `GET /api/operacoes?status=ativa` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1fc84d999988690c", "name": "Dangling fetch: GET /api/faturamento/alertas (src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:31)", "shortDescription": {"text": "Dangling fetch: GET /api/faturamento/alertas (src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:31)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:31` calls `GET /api/faturamento/alertas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/faturamento/alertas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ee143ee905390d4", "name": "Dangling fetch: GET /api/auth/profile (src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:32)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/profile (src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:32)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:32` calls `GET /api/auth/profile` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/profile`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f7c9a760acf9ec84", "name": "Dangling fetch: GET /api/faturamento/alertas?mode=status (src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:33)", "shortDescription": {"text": "Dangling fetch: GET /api/faturamento/alertas?mode=status (src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:33)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:33` calls `GET /api/faturamento/alertas?mode=status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/faturamento/alertas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-167e218554fa64f9", "name": "Dangling fetch: GET /api/operacoes?id=${id} (src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:45)", "shortDescription": {"text": "Dangling fetch: GET /api/operacoes?id=${id} (src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:45)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:45` calls `GET /api/operacoes?id=${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-38647c9e8fabae63", "name": "Dangling fetch: GET /api/faturamento/alertas?operacao_id=${id} (src/app/(dashboard)/admin/auditoria/faturamento/operacao", "shortDescription": {"text": "Dangling fetch: GET /api/faturamento/alertas?operacao_id=${id} (src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:46)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:46` calls `GET /api/faturamento/alertas?operacao_id=${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/faturamento/alertas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3f40e65b2a3f50f5", "name": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:47)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:47)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:47` calls `GET /api/auth/session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8c270941fe079a7a", "name": "Dangling fetch: GET /api/metas-faturamento/alertas/${id} (src/app/(dashboard)/admin/auditoria/faturamento/tratativa/[id]", "shortDescription": {"text": "Dangling fetch: GET /api/metas-faturamento/alertas/${id} (src/app/(dashboard)/admin/auditoria/faturamento/tratativa/[id]/page.tsx:76)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/faturamento/tratativa/[id]/page.tsx:76` calls `GET /api/metas-faturamento/alertas/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento/alertas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b985b7414e886c03", "name": "Dangling fetch: GET /api/metas-faturamento/${dataAlert.meta_id} (src/app/(dashboard)/admin/auditoria/faturamento/tratati", "shortDescription": {"text": "Dangling fetch: GET /api/metas-faturamento/${dataAlert.meta_id} (src/app/(dashboard)/admin/auditoria/faturamento/tratativa/[id]/page.tsx:82)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/faturamento/tratativa/[id]/page.tsx:82` calls `GET /api/metas-faturamento/${dataAlert.meta_id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e7e558931a39f7f3", "name": "Dangling fetch: POST /api/metas-faturamento/alertas/${id}/tratativa (src/app/(dashboard)/admin/auditoria/faturamento/tra", "shortDescription": {"text": "Dangling fetch: POST /api/metas-faturamento/alertas/${id}/tratativa (src/app/(dashboard)/admin/auditoria/faturamento/tratativa/[id]/page.tsx:106)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/auditoria/faturamento/tratativa/[id]/page.tsx:106` calls `POST /api/metas-faturamento/alertas/${id}/tratativa` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento/alertas/<p>/tratativa`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-356923a61e798d59", "name": "Dangling fetch: POST /api/colaboradores (src/app/(dashboard)/admin/colaboradores/novo/page.tsx:44)", "shortDescription": {"text": "Dangling fetch: POST /api/colaboradores (src/app/(dashboard)/admin/colaboradores/novo/page.tsx:44)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/colaboradores/novo/page.tsx:44` calls `POST /api/colaboradores` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/colaboradores`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a8260abc6f4a5452", "name": "Dangling fetch: PATCH /api/colaboradores/${id} (src/app/(dashboard)/admin/colaboradores/[id]/page.tsx:40)", "shortDescription": {"text": "Dangling fetch: PATCH /api/colaboradores/${id} (src/app/(dashboard)/admin/colaboradores/[id]/page.tsx:40)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/colaboradores/[id]/page.tsx:40` calls `PATCH /api/colaboradores/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/colaboradores/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bd13e8114d52c4d8", "name": "Dangling fetch: PATCH /api/colaboradores/${id}/operacoes/${vinculoId} (src/app/(dashboard)/admin/colaboradores/[id]/page", "shortDescription": {"text": "Dangling fetch: PATCH /api/colaboradores/${id}/operacoes/${vinculoId} (src/app/(dashboard)/admin/colaboradores/[id]/page.tsx:65)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/colaboradores/[id]/page.tsx:65` calls `PATCH /api/colaboradores/${id}/operacoes/${vinculoId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/colaboradores/<p>/operacoes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-79c36b372ec278f3", "name": "Dangling fetch: POST /api/colaboradores/${id}/operacoes (src/app/(dashboard)/admin/colaboradores/[id]/page.tsx:82)", "shortDescription": {"text": "Dangling fetch: POST /api/colaboradores/${id}/operacoes (src/app/(dashboard)/admin/colaboradores/[id]/page.tsx:82)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/colaboradores/[id]/page.tsx:82` calls `POST /api/colaboradores/${id}/operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/colaboradores/<p>/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fb7053c295e5bc33", "name": "Dangling fetch: DELETE /api/estoque/locais/${local.id} (src/app/(dashboard)/admin/estoque/locais/page.tsx:98)", "shortDescription": {"text": "Dangling fetch: DELETE /api/estoque/locais/${local.id} (src/app/(dashboard)/admin/estoque/locais/page.tsx:98)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/estoque/locais/page.tsx:98` calls `DELETE /api/estoque/locais/${local.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/locais/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cc7c4cbd8fcaa32b", "name": "Dangling fetch: GET /api/estoque/locais/${localId}/operacoes (src/app/(dashboard)/admin/estoque/locais/page.tsx:113)", "shortDescription": {"text": "Dangling fetch: GET /api/estoque/locais/${localId}/operacoes (src/app/(dashboard)/admin/estoque/locais/page.tsx:113)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/estoque/locais/page.tsx:113` calls `GET /api/estoque/locais/${localId}/operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/locais/<p>/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9fd54be97f1b03ec", "name": "Dangling fetch: POST /api/estoque/locais/${vinculoLocalId}/operacoes (src/app/(dashboard)/admin/estoque/locais/page.tsx:", "shortDescription": {"text": "Dangling fetch: POST /api/estoque/locais/${vinculoLocalId}/operacoes (src/app/(dashboard)/admin/estoque/locais/page.tsx:129)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/estoque/locais/page.tsx:129` calls `POST /api/estoque/locais/${vinculoLocalId}/operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/locais/<p>/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c8d72e0425ccf602", "name": "Dangling fetch: DELETE /api/estoque/locais/${vinculoLocalId}/operacoes (src/app/(dashboard)/admin/estoque/locais/page.ts", "shortDescription": {"text": "Dangling fetch: DELETE /api/estoque/locais/${vinculoLocalId}/operacoes (src/app/(dashboard)/admin/estoque/locais/page.tsx:149)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/estoque/locais/page.tsx:149` calls `DELETE /api/estoque/locais/${vinculoLocalId}/operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/locais/<p>/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-08a5ae5347b04e67", "name": "Dangling fetch: POST /api/estoque/itens (src/app/(dashboard)/admin/estoque/itens/novo/page.tsx:85)", "shortDescription": {"text": "Dangling fetch: POST /api/estoque/itens (src/app/(dashboard)/admin/estoque/itens/novo/page.tsx:85)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/estoque/itens/novo/page.tsx:85` calls `POST /api/estoque/itens` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/itens`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a6da22677d793e31", "name": "Dangling fetch: PATCH /api/estoque/itens/${id} (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:116)", "shortDescription": {"text": "Dangling fetch: PATCH /api/estoque/itens/${id} (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:116)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:116` calls `PATCH /api/estoque/itens/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/itens/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e1ec4203bf19283a", "name": "Dangling fetch: PATCH /api/estoque/itens/${id} (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:133)", "shortDescription": {"text": "Dangling fetch: PATCH /api/estoque/itens/${id} (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:133)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:133` calls `PATCH /api/estoque/itens/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/itens/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eb065335ffb3fefe", "name": "Dangling fetch: POST /api/estoque/itens/${id}/variacoes (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:146)", "shortDescription": {"text": "Dangling fetch: POST /api/estoque/itens/${id}/variacoes (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:146)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:146` calls `POST /api/estoque/itens/${id}/variacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/itens/<p>/variacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b690f9575601e530", "name": "Dangling fetch: PATCH /api/estoque/itens/${id}/variacoes (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:164)", "shortDescription": {"text": "Dangling fetch: PATCH /api/estoque/itens/${id}/variacoes (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:164)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:164` calls `PATCH /api/estoque/itens/${id}/variacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/itens/<p>/variacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-932b7bfeb8c45617", "name": "Dangling fetch: PATCH /api/estoque/itens/${id}/variacoes (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:174)", "shortDescription": {"text": "Dangling fetch: PATCH /api/estoque/itens/${id}/variacoes (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:174)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:174` calls `PATCH /api/estoque/itens/${id}/variacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/itens/<p>/variacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f190b4f7999c4f10", "name": "Dangling fetch: POST /api/estoque/movimentacoes/entrada (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:198)", "shortDescription": {"text": "Dangling fetch: POST /api/estoque/movimentacoes/entrada (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:198)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:198` calls `POST /api/estoque/movimentacoes/entrada` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/movimentacoes/entrada`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-21b9982bb3d9fd17", "name": "Dangling fetch: POST /api/estoque/movimentacoes/saida (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:235)", "shortDescription": {"text": "Dangling fetch: POST /api/estoque/movimentacoes/saida (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:235)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:235` calls `POST /api/estoque/movimentacoes/saida` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/estoque/movimentacoes/saida`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8010e4a01b34f316", "name": "Dangling fetch: GET /api/usuarios (src/app/(dashboard)/admin/usuarios/page.tsx:159)", "shortDescription": {"text": "Dangling fetch: GET /api/usuarios (src/app/(dashboard)/admin/usuarios/page.tsx:159)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:159` calls `GET /api/usuarios` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/usuarios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7c7962367b15dc0d", "name": "Dangling fetch: GET /api/usuarios?perfil=gerente_operacoes (src/app/(dashboard)/admin/usuarios/page.tsx:167)", "shortDescription": {"text": "Dangling fetch: GET /api/usuarios?perfil=gerente_operacoes (src/app/(dashboard)/admin/usuarios/page.tsx:167)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:167` calls `GET /api/usuarios?perfil=gerente_operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/usuarios`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9a62fd4b690e9bdf", "name": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/admin/usuarios/page.tsx:168)", "shortDescription": {"text": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/admin/usuarios/page.tsx:168)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:168` calls `GET /api/central-solicitacoes/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/central-solicitacoes/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0ff1fea9853472a8", "name": "Dangling fetch: GET /api/colaboradores (src/app/(dashboard)/admin/usuarios/page.tsx:169)", "shortDescription": {"text": "Dangling fetch: GET /api/colaboradores (src/app/(dashboard)/admin/usuarios/page.tsx:169)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:169` calls `GET /api/colaboradores` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/colaboradores`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-de33729f368de9e1", "name": "Dangling fetch: GET /api/admin/perfis (src/app/(dashboard)/admin/usuarios/page.tsx:187)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/perfis (src/app/(dashboard)/admin/usuarios/page.tsx:187)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:187` calls `GET /api/admin/perfis` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/perfis`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c7121d0e9a2aa7da", "name": "Dangling fetch: GET /api/admin/modulos (src/app/(dashboard)/admin/usuarios/page.tsx:188)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/modulos (src/app/(dashboard)/admin/usuarios/page.tsx:188)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:188` calls `GET /api/admin/modulos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/modulos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-18d4a006e16e95aa", "name": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/admin/usuarios/page.tsx:189)", "shortDescription": {"text": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/admin/usuarios/page.tsx:189)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:189` calls `GET /api/operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ba7cecdb904d4ac3", "name": "Dangling fetch: GET /api/permissoes?perfil=${perfilAtivo.identificador} (src/app/(dashboard)/admin/usuarios/page.tsx:214", "shortDescription": {"text": "Dangling fetch: GET /api/permissoes?perfil=${perfilAtivo.identificador} (src/app/(dashboard)/admin/usuarios/page.tsx:214)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:214` calls `GET /api/permissoes?perfil=${perfilAtivo.identificador}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/permissoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9efc287dde208e77", "name": "Dangling fetch: GET /api/permissoes?perfil=all (src/app/(dashboard)/admin/usuarios/page.tsx:226)", "shortDescription": {"text": "Dangling fetch: GET /api/permissoes?perfil=all (src/app/(dashboard)/admin/usuarios/page.tsx:226)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:226` calls `GET /api/permissoes?perfil=all` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/permissoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8982b1526d208dff", "name": "Dangling fetch: GET /api/admin/usuarios-perfil?perfil=${perfilAtivo.identificador} (src/app/(dashboard)/admin/usuarios/p", "shortDescription": {"text": "Dangling fetch: GET /api/admin/usuarios-perfil?perfil=${perfilAtivo.identificador} (src/app/(dashboard)/admin/usuarios/page.tsx:229)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:229` calls `GET /api/admin/usuarios-perfil?perfil=${perfilAtivo.identificador}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/usuarios-perfil`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-703fcf27174cc08a", "name": "Dangling fetch: PATCH /api/usuarios/${usuario.id} (src/app/(dashboard)/admin/usuarios/page.tsx:277)", "shortDescription": {"text": "Dangling fetch: PATCH /api/usuarios/${usuario.id} (src/app/(dashboard)/admin/usuarios/page.tsx:277)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:277` calls `PATCH /api/usuarios/${usuario.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/usuarios/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-217a2d8a971e2019", "name": "Dangling fetch: POST /api/permissoes (src/app/(dashboard)/admin/usuarios/page.tsx:291)", "shortDescription": {"text": "Dangling fetch: POST /api/permissoes (src/app/(dashboard)/admin/usuarios/page.tsx:291)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:291` calls `POST /api/permissoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/permissoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2738761deb89e37b", "name": "Dangling fetch: POST /api/admin/perfis (src/app/(dashboard)/admin/usuarios/page.tsx:300)", "shortDescription": {"text": "Dangling fetch: POST /api/admin/perfis (src/app/(dashboard)/admin/usuarios/page.tsx:300)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:300` calls `POST /api/admin/perfis` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/perfis`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6d70eccbc998d323", "name": "Dangling fetch: GET /api/admin/perfis (src/app/(dashboard)/admin/usuarios/page.tsx:304)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/perfis (src/app/(dashboard)/admin/usuarios/page.tsx:304)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:304` calls `GET /api/admin/perfis` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/perfis`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d958cbf243a07ddc", "name": "Dangling fetch: PUT /api/permissoes (src/app/(dashboard)/admin/usuarios/page.tsx:318)", "shortDescription": {"text": "Dangling fetch: PUT /api/permissoes (src/app/(dashboard)/admin/usuarios/page.tsx:318)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:318` calls `PUT /api/permissoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/permissoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a79c9fe9d3b9fe5a", "name": "Dangling fetch: PATCH /api/admin/usuarios-perfil (src/app/(dashboard)/admin/usuarios/page.tsx:328)", "shortDescription": {"text": "Dangling fetch: PATCH /api/admin/usuarios-perfil (src/app/(dashboard)/admin/usuarios/page.tsx:328)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/usuarios/page.tsx:328` calls `PATCH /api/admin/usuarios-perfil` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/usuarios-perfil`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-526ff592bb8fcb23", "name": "Dangling fetch: GET /admin/faturamento-personal/${r.id} (src/app/(dashboard)/admin/faturamento-personal/page.tsx:710)", "shortDescription": {"text": "Dangling fetch: GET /admin/faturamento-personal/${r.id} (src/app/(dashboard)/admin/faturamento-personal/page.tsx:710)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/faturamento-personal/page.tsx:710` calls `GET /admin/faturamento-personal/${r.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/faturamento-personal/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b4c0d291e190073a", "name": "Dangling fetch: GET /api/faturamento-personal/${r.id} (src/app/(dashboard)/admin/faturamento-personal/page.tsx:711)", "shortDescription": {"text": "Dangling fetch: GET /api/faturamento-personal/${r.id} (src/app/(dashboard)/admin/faturamento-personal/page.tsx:711)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/faturamento-personal/page.tsx:711` calls `GET /api/faturamento-personal/${r.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/faturamento-personal/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-67620f07c6d16297", "name": "Dangling fetch: GET /api/integracoes/cloudpark/logs?${params} (src/app/(dashboard)/admin/tecnologia-ia/logs-cloudpark/pa", "shortDescription": {"text": "Dangling fetch: GET /api/integracoes/cloudpark/logs?${params} (src/app/(dashboard)/admin/tecnologia-ia/logs-cloudpark/page.tsx:45)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/logs-cloudpark/page.tsx:45` calls `GET /api/integracoes/cloudpark/logs?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/integracoes/cloudpark/logs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a2f97685fcd3e7bb", "name": "Dangling fetch: PUT /api/avisos/permissoes (src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/PermissoesMatriz.tsx:12", "shortDescription": {"text": "Dangling fetch: PUT /api/avisos/permissoes (src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/PermissoesMatriz.tsx:127)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/PermissoesMatriz.tsx:127` calls `PUT /api/avisos/permissoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/avisos/permissoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-99a575a1d1351196", "name": "Dangling fetch: DELETE /api/avisos/${confirmDelete.id} (src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/TecnologiaM", "shortDescription": {"text": "Dangling fetch: DELETE /api/avisos/${confirmDelete.id} (src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/TecnologiaMuralAvisosClient.tsx:95)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/TecnologiaMuralAvisosClient.tsx:95` calls `DELETE /api/avisos/${confirmDelete.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/avisos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ec2e2f93650136d2", "name": "Dangling fetch: PUT /api/avisos/${confirmRestore.id} (src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/TecnologiaMur", "shortDescription": {"text": "Dangling fetch: PUT /api/avisos/${confirmRestore.id} (src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/TecnologiaMuralAvisosClient.tsx:112)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/TecnologiaMuralAvisosClient.tsx:112` calls `PUT /api/avisos/${confirmRestore.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/avisos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8de11b984f140acc", "name": "Dangling fetch: GET /api/tecnologia-ia/chaves-tef (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:272)", "shortDescription": {"text": "Dangling fetch: GET /api/tecnologia-ia/chaves-tef (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:272)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:272` calls `GET /api/tecnologia-ia/chaves-tef` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/tecnologia-ia/chaves-tef`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9c78aac52c88e9ac", "name": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:287)", "shortDescription": {"text": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:287)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:287` calls `GET /api/operacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/operacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a81301a3eeee28b4", "name": "Dangling fetch: GET /api/automacoes (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:302)", "shortDescription": {"text": "Dangling fetch: GET /api/automacoes (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:302)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:302` calls `GET /api/automacoes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/automacoes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e6602bc62312f56e", "name": "Dangling fetch: GET /api/tecnologia-ia/chaves-tef/${id}/historico (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/pa", "shortDescription": {"text": "Dangling fetch: GET /api/tecnologia-ia/chaves-tef/${id}/historico (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:318)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:318` calls `GET /api/tecnologia-ia/chaves-tef/${id}/historico` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/tecnologia-ia/chaves-tef/<p>/historico`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-326502a9f96e246e", "name": "Dangling fetch: POST /api/tecnologia-ia/chaves-tef/upload (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:3", "shortDescription": {"text": "Dangling fetch: POST /api/tecnologia-ia/chaves-tef/upload (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:367)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:367` calls `POST /api/tecnologia-ia/chaves-tef/upload` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/tecnologia-ia/chaves-tef/upload`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8a26e4b1864e7ee7", "name": "Dangling fetch: DELETE /api/tecnologia-ia/chaves-tef/${confirmDeleteId} (src/app/(dashboard)/admin/tecnologia-ia/chaves-", "shortDescription": {"text": "Dangling fetch: DELETE /api/tecnologia-ia/chaves-tef/${confirmDeleteId} (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:431)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:431` calls `DELETE /api/tecnologia-ia/chaves-tef/${confirmDeleteId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/tecnologia-ia/chaves-tef/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bb5f58ba167b4522", "name": "Dangling fetch: POST /api/tecnologia-ia/maquinetas-stone (src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/novo/", "shortDescription": {"text": "Dangling fetch: POST /api/tecnologia-ia/maquinetas-stone (src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/novo/page.tsx:50)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/novo/page.tsx:50` calls `POST /api/tecnologia-ia/maquinetas-stone` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/tecnologia-ia/maquinetas-stone`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ab0170a2dfb34f8c", "name": "Dangling fetch: POST /api/tecnologia-ia/maquinetas-stone/${id}/fotos (src/app/(dashboard)/admin/tecnologia-ia/maquinetas", "shortDescription": {"text": "Dangling fetch: POST /api/tecnologia-ia/maquinetas-stone/${id}/fotos (src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/[id]/page.tsx:167)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/[id]/page.tsx:167` calls `POST /api/tecnologia-ia/maquinetas-stone/${id}/fotos` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/tecnologia-ia/maquinetas-stone/<p>/fotos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e7103698663eba2b", "name": "Dangling fetch: DELETE /api/tecnologia-ia/maquinetas-stone/${id}/fotos?foto_id=${fotoId} (src/app/(dashboard)/admin/tecn", "shortDescription": {"text": "Dangling fetch: DELETE /api/tecnologia-ia/maquinetas-stone/${id}/fotos?foto_id=${fotoId} (src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/[id]/page.tsx:187)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/[id]/page.tsx:187` calls `DELETE /api/tecnologia-ia/maquinetas-stone/${id}/fotos?foto_id=${fotoId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/tecnologia-ia/maquinetas-stone/<p>/fotos`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-98bf859482f8acdc", "name": "Dangling fetch: DELETE /api/tecnologia-ia/maquinetas-stone/${id} (src/app/(dashboard)/admin/tecnologia-ia/maquinetas-sto", "shortDescription": {"text": "Dangling fetch: DELETE /api/tecnologia-ia/maquinetas-stone/${id} (src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/[id]/page.tsx:203)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/[id]/page.tsx:203` calls `DELETE /api/tecnologia-ia/maquinetas-stone/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/tecnologia-ia/maquinetas-stone/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4dd410ebe3cc3954", "name": "Dangling fetch: PUT /api/tecnologia-ia/maquinetas-stone/${id} (src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/", "shortDescription": {"text": "Dangling fetch: PUT /api/tecnologia-ia/maquinetas-stone/${id} (src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/[id]/editar/page.tsx:76)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/[id]/editar/page.tsx:76` calls `PUT /api/tecnologia-ia/maquinetas-stone/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/tecnologia-ia/maquinetas-stone/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bc6d409b5f8fee5d", "name": "Dangling fetch: PATCH /api/tecnologia-ia/branding (src/app/(dashboard)/admin/tecnologia-ia/branding/page.tsx:43)", "shortDescription": {"text": "Dangling fetch: PATCH /api/tecnologia-ia/branding (src/app/(dashboard)/admin/tecnologia-ia/branding/page.tsx:43)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/branding/page.tsx:43` calls `PATCH /api/tecnologia-ia/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/tecnologia-ia/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eaa6dba2f6ffb59f", "name": "Dangling fetch: GET /api/tecnologia-ia/prompts (src/app/(dashboard)/admin/tecnologia-ia/prompts/page.tsx:46)", "shortDescription": {"text": "Dangling fetch: GET /api/tecnologia-ia/prompts (src/app/(dashboard)/admin/tecnologia-ia/prompts/page.tsx:46)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/prompts/page.tsx:46` calls `GET /api/tecnologia-ia/prompts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/tecnologia-ia/prompts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-88163471e0ce94b2", "name": "Dangling fetch: PUT /api/tecnologia-ia/prompts/${selected.identificador} (src/app/(dashboard)/admin/tecnologia-ia/prompt", "shortDescription": {"text": "Dangling fetch: PUT /api/tecnologia-ia/prompts/${selected.identificador} (src/app/(dashboard)/admin/tecnologia-ia/prompts/page.tsx:90)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/prompts/page.tsx:90` calls `PUT /api/tecnologia-ia/prompts/${selected.identificador}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/tecnologia-ia/prompts/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-978cb19ab35a88f2", "name": "Dangling fetch: GET /api/personal/logs?${params} (src/app/(dashboard)/admin/tecnologia-ia/logs-personal/page.tsx:64)", "shortDescription": {"text": "Dangling fetch: GET /api/personal/logs?${params} (src/app/(dashboard)/admin/tecnologia-ia/logs-personal/page.tsx:64)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/logs-personal/page.tsx:64` calls `GET /api/personal/logs?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/personal/logs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-539a3d2d4750dba9", "name": "Dangling fetch: GET /api/control-xrm/logs?data=${selectedDate} (src/app/(dashboard)/admin/tecnologia-ia/logs-xrm/page.ts", "shortDescription": {"text": "Dangling fetch: GET /api/control-xrm/logs?data=${selectedDate} (src/app/(dashboard)/admin/tecnologia-ia/logs-xrm/page.tsx:44)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/tecnologia-ia/logs-xrm/page.tsx:44` calls `GET /api/control-xrm/logs?data=${selectedDate}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/control-xrm/logs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9db1659f6a81f490", "name": "Dangling fetch: GET /api/faturamento?mode=details&operacao_id=${selectedOp.id}&date=${activeDate} (src/app/(dashboard)/a", "shortDescription": {"text": "Dangling fetch: GET /api/faturamento?mode=details&operacao_id=${selectedOp.id}&date=${activeDate} (src/app/(dashboard)/admin/faturamento/page.tsx:738)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/faturamento/page.tsx:738` calls `GET /api/faturamento?mode=details&operacao_id=${selectedOp.id}&date=${activeDate}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/faturamento`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-98f5abdce02e4142", "name": "Dangling fetch: POST /api/metas-faturamento (src/app/(dashboard)/admin/faturamento/metas/page.tsx:163)", "shortDescription": {"text": "Dangling fetch: POST /api/metas-faturamento (src/app/(dashboard)/admin/faturamento/metas/page.tsx:163)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/faturamento/metas/page.tsx:163` calls `POST /api/metas-faturamento` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-48f806cb94dfcffa", "name": "Dangling fetch: GET /api/metas-faturamento?id=${id}&with_diarias=true (src/app/(dashboard)/admin/faturamento/metas/page.", "shortDescription": {"text": "Dangling fetch: GET /api/metas-faturamento?id=${id}&with_diarias=true (src/app/(dashboard)/admin/faturamento/metas/page.tsx:195)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/faturamento/metas/page.tsx:195` calls `GET /api/metas-faturamento?id=${id}&with_diarias=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6f3845488362f4ed", "name": "Dangling fetch: DELETE /api/metas-faturamento/${confirmDeleteId} (src/app/(dashboard)/admin/faturamento/metas/page.tsx:2", "shortDescription": {"text": "Dangling fetch: DELETE /api/metas-faturamento/${confirmDeleteId} (src/app/(dashboard)/admin/faturamento/metas/page.tsx:209)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/faturamento/metas/page.tsx:209` calls `DELETE /api/metas-faturamento/${confirmDeleteId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3d41b3e343af45ae", "name": "Dangling fetch: GET /api/metas-faturamento/${id} (src/app/(dashboard)/admin/faturamento/metas/[id]/page.tsx:86)", "shortDescription": {"text": "Dangling fetch: GET /api/metas-faturamento/${id} (src/app/(dashboard)/admin/faturamento/metas/[id]/page.tsx:86)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/faturamento/metas/[id]/page.tsx:86` calls `GET /api/metas-faturamento/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-95f9b0c53483dcbd", "name": "Dangling fetch: GET /admin/faturamento/alertas/${alerta.id} (src/app/(dashboard)/admin/faturamento/alertas/page.tsx:63)", "shortDescription": {"text": "Dangling fetch: GET /admin/faturamento/alertas/${alerta.id} (src/app/(dashboard)/admin/faturamento/alertas/page.tsx:63)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/faturamento/alertas/page.tsx:63` calls `GET /admin/faturamento/alertas/${alerta.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/faturamento/alertas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-38905fa385a33b24", "name": "Dangling fetch: GET /api/metas-faturamento/alertas/${alerta.id} (src/app/(dashboard)/admin/faturamento/alertas/page.tsx:", "shortDescription": {"text": "Dangling fetch: GET /api/metas-faturamento/alertas/${alerta.id} (src/app/(dashboard)/admin/faturamento/alertas/page.tsx:64)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/faturamento/alertas/page.tsx:64` calls `GET /api/metas-faturamento/alertas/${alerta.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento/alertas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-da00232acf66880d", "name": "Dangling fetch: GET /api/metas-faturamento/alertas?${query} (src/app/(dashboard)/admin/faturamento/alertas/page.tsx:125)", "shortDescription": {"text": "Dangling fetch: GET /api/metas-faturamento/alertas?${query} (src/app/(dashboard)/admin/faturamento/alertas/page.tsx:125)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/faturamento/alertas/page.tsx:125` calls `GET /api/metas-faturamento/alertas?${query}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento/alertas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-004ca28a5044ee64", "name": "Dangling fetch: GET /api/metas-faturamento/alertas/${id} (src/app/(dashboard)/admin/faturamento/alertas/[id]/page.tsx:36", "shortDescription": {"text": "Dangling fetch: GET /api/metas-faturamento/alertas/${id} (src/app/(dashboard)/admin/faturamento/alertas/[id]/page.tsx:36)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/faturamento/alertas/[id]/page.tsx:36` calls `GET /api/metas-faturamento/alertas/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento/alertas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c847b2d61c8df940", "name": "Dangling fetch: PUT /api/metas-faturamento/alertas/${id} (src/app/(dashboard)/admin/faturamento/alertas/[id]/page.tsx:65", "shortDescription": {"text": "Dangling fetch: PUT /api/metas-faturamento/alertas/${id} (src/app/(dashboard)/admin/faturamento/alertas/[id]/page.tsx:65)"}, "fullDescription": {"text": "`src/app/(dashboard)/admin/faturamento/alertas/[id]/page.tsx:65` calls `PUT /api/metas-faturamento/alertas/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metas-faturamento/alertas/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0be689f35ba873b4", "name": "Dangling fetch: GET /api/calendario/eventos/${ocorrencia.evento_id} (src/app/(dashboard)/calendario/EventoFormModal.tsx:", "shortDescription": {"text": "Dangling fetch: GET /api/calendario/eventos/${ocorrencia.evento_id} (src/app/(dashboard)/calendario/EventoFormModal.tsx:121)"}, "fullDescription": {"text": "`src/app/(dashboard)/calendario/EventoFormModal.tsx:121` calls `GET /api/calendario/eventos/${ocorrencia.evento_id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/calendario/eventos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-aeadd0cdadcc4369", "name": "Dangling fetch: POST /api/notifications/push/subscribe (src/lib/notifications/push-client.ts:77)", "shortDescription": {"text": "Dangling fetch: POST /api/notifications/push/subscribe (src/lib/notifications/push-client.ts:77)"}, "fullDescription": {"text": "`src/lib/notifications/push-client.ts:77` calls `POST /api/notifications/push/subscribe` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/push/subscribe`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-de8e6172a4c5b6ae", "name": "Dangling fetch: DELETE /api/notifications/push/subscribe (src/lib/notifications/push-client.ts:123)", "shortDescription": {"text": "Dangling fetch: DELETE /api/notifications/push/subscribe (src/lib/notifications/push-client.ts:123)"}, "fullDescription": {"text": "`src/lib/notifications/push-client.ts:123` calls `DELETE /api/notifications/push/subscribe` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/push/subscribe`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e386fad6d1cfd5a0", "name": "Dangling fetch: GET https://ipapi.co/${encodeURIComponent(ip)}/json/ (src/lib/sessions/geo.ts:24)", "shortDescription": {"text": "Dangling fetch: GET https://ipapi.co/${encodeURIComponent(ip)}/json/ (src/lib/sessions/geo.ts:24)"}, "fullDescription": {"text": "`src/lib/sessions/geo.ts:24` calls `GET https://ipapi.co/${encodeURIComponent(ip)}/json/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/ipapi.co/<p>/json`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-77b91fbc8b2873e5", "name": "Dangling fetch: GET /api/auth/session-status?t=${Date.now()} (src/lib/hooks/useSessionWatcher.ts:54)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/session-status?t=${Date.now()} (src/lib/hooks/useSessionWatcher.ts:54)"}, "fullDescription": {"text": "`src/lib/hooks/useSessionWatcher.ts:54` calls `GET /api/auth/session-status?t=${Date.now()}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/session-status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-306cfc7349b492e6", "name": "Dangling fetch: GET /api/realtime/auth-token (src/lib/supabase/realtime-auth.ts:12)", "shortDescription": {"text": "Dangling fetch: GET /api/realtime/auth-token (src/lib/supabase/realtime-auth.ts:12)"}, "fullDescription": {"text": "`src/lib/supabase/realtime-auth.ts:12` calls `GET /api/realtime/auth-token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/realtime/auth-token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9a6719f3541448de", "name": "Dangling fetch: PATCH /api/notifications/${id}/read (src/hooks/useNotifications.ts:56)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/${id}/read (src/hooks/useNotifications.ts:56)"}, "fullDescription": {"text": "`src/hooks/useNotifications.ts:56` calls `PATCH /api/notifications/${id}/read` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/<p>/read`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8cf90e62c3a99f05", "name": "Dangling fetch: PATCH /api/notifications/read-all (src/hooks/useNotifications.ts:63)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/read-all (src/hooks/useNotifications.ts:63)"}, "fullDescription": {"text": "`src/hooks/useNotifications.ts:63` calls `PATCH /api/notifications/read-all` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/read-all`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ee7dd2ccaea9ba04", "name": "Dangling fetch: PATCH /api/notifications/${id}/archive (src/hooks/useNotifications.ts:68)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/${id}/archive (src/hooks/useNotifications.ts:68)"}, "fullDescription": {"text": "`src/hooks/useNotifications.ts:68` calls `PATCH /api/notifications/${id}/archive` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/notifications/<p>/archive`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3a3c45156489b020", "name": "Unused endpoint: GET /api/users", "shortDescription": {"text": "Unused endpoint: GET /api/users"}, "fullDescription": {"text": "`skills/api-design-principles/assets/rest-api-template.py` declares `GET /api/users` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49546f6900fb04c5", "name": "Unused endpoint: POST /api/users", "shortDescription": {"text": "Unused endpoint: POST /api/users"}, "fullDescription": {"text": "`skills/api-design-principles/assets/rest-api-template.py` declares `POST /api/users` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ffef5a07597afc9", "name": "Unused endpoint: GET /api/users/{user_id}", "shortDescription": {"text": "Unused endpoint: GET /api/users/{user_id}"}, "fullDescription": {"text": "`skills/api-design-principles/assets/rest-api-template.py` declares `GET /api/users/{user_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-887c385438b11bc5", "name": "Unused endpoint: PATCH /api/users/{user_id}", "shortDescription": {"text": "Unused endpoint: PATCH /api/users/{user_id}"}, "fullDescription": {"text": "`skills/api-design-principles/assets/rest-api-template.py` declares `PATCH /api/users/{user_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c3fb176c336b8818", "name": "Unused endpoint: DELETE /api/users/{user_id}", "shortDescription": {"text": "Unused endpoint: DELETE /api/users/{user_id}"}, "fullDescription": {"text": "`skills/api-design-principles/assets/rest-api-template.py` declares `DELETE /api/users/{user_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/21349"}, "properties": {"repository": "tipropark/faturamento", "repoUrl": "https://github.com/tipropark/faturamento", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: tipropark/faturamento"}, "properties": {"repobilityId": 430287, "scanner": "foundry_dataset", "fingerprint": "f445c4a1a4a0e2b554a0adf7817053eb18aac372c0ff74e407c97eecb3abae9f", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"build_install_failure": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "tipropark/faturamento#1", "issue_number": "1", "quality_tiers": {"unresolved": 3}, "repo_full_name": "tipropark/faturamento", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-9d12e3c4d6495ac2", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: tipropark/faturamento\nThread: tipropark/faturamento#1\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: tipropark/faturamento\nThread: tipropark/faturamento#1\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: tipropark/faturamento#1\nRepo: tipropark/faturamento\nIssue/PR number: 1\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'build_install_failure': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/tipropark/faturamento", "source_id": "graph-query-motif_query-61d8c2b6b36ab92b", "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": "tipropark/faturamento", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: tipropark/faturamento"}, "properties": {"repobilityId": 391446, "scanner": "foundry_dataset", "fingerprint": "4b82f3f29c1b859a4ba7b9a9aec8001c19c81243f2d37a4172fce277a6807b97", "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": "tipropark/faturamento#1", "human_labels": ["build_install_failure"], "issue_number": "1", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "tipropark/faturamento", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-e65779f31d2cc407", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "designs": 1, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 2}, "text": "Comment chain pattern product: bad_chains\nRepo: tipropark/faturamento\nThread: tipropark/faturamento#1\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: tipropark/faturamento#1\nRepo: tipropark/faturamento\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'build_install_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c025552e561e89a4\",\n    \"kind\": \"issue_body\",\n    \"label\": \"build_install_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/tipropark/faturamento/issues/1\",\n    \"text\": \"GitHub feedback: build_install_failure\\nPolarity: bad\\nKind: issue_body\\nRepo: tipropark/faturamento\\nAuthor: edvaldovieeiraa (User)\\nURL: https://github.com/tipropark/faturamento/issues/1\\nTitle: prompt servidor\\nBody:\\ncd ~/faturamento\\ngit checkout -- package-lock.json\\ngit pull\\nnpm install\\nnpm run build\\npm2 restart all\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b9eb29a6a57d5ea1\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: tipropark/faturamento\nGraph label: source_backed_multi_signal_graph\nNodes: 16\nEdges: 24\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 4, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 6, \"artifact_supports_design_schema_api\": 1, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_schemas_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"designs\": 1, \"docs\": 6, \"schemas\": 1}\nHelicopter views: {\"graphs\": 2, \"schemas\": 2}\nBundle labels: {\"source_backed_graph_pattern_bundle\": 1}\nCo-occurrence labels: {\"general_motif_cooccurrence\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/tipropark/faturamento", "source_id": "comment-chain-pattern-bad_chains-95763c128beb91dc", "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": "tipropark/faturamento", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "scanner-d562bb42e15e0e21", "level": "note", "message": {"text": "Possibly dead Python function: calculate_aso_score"}, "properties": {"repobilityId": "85d6e02c096243ce", "scanner": "scanner-primary", "fingerprint": "d562bb42e15e0e21", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/aso_scorer.py:458"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-006a2dcd7d38d95b", "level": "note", "message": {"text": "Possibly dead Python function: identify_gaps"}, "properties": {"repobilityId": "207696744a2f60ae", "scanner": "scanner-primary", "fingerprint": "006a2dcd7d38d95b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/competitor_analyzer.py:125"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8fbdcdc5b9594ca5", "level": "note", "message": {"text": "Possibly dead Python function: analyze_competitor_set"}, "properties": {"repobilityId": "37e536ccd0c4be14", "scanner": "scanner-primary", "fingerprint": "8fbdcdc5b9594ca5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/competitor_analyzer.py:560"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-80438aa5cc783ba5", "level": "note", "message": {"text": "Possibly dead Python function: translate_metadata"}, "properties": {"repobilityId": "0c0e09315e247a93", "scanner": "scanner-primary", "fingerprint": "80438aa5cc783ba5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/localization_helper.py:118"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b26c5fedc294b3b6", "level": "note", "message": {"text": "Possibly dead Python function: adapt_keywords"}, "properties": {"repobilityId": "0c828a3147649159", "scanner": "scanner-primary", "fingerprint": "b26c5fedc294b3b6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/localization_helper.py:191"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7dec0665df0fa6b6", "level": "note", "message": {"text": "Possibly dead Python function: validate_translations"}, "properties": {"repobilityId": "394a8ec4bddfc2b2", "scanner": "scanner-primary", "fingerprint": "7dec0665df0fa6b6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/localization_helper.py:242"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4feef2301892b6c1", "level": "note", "message": {"text": "Possibly dead Python function: plan_localization_strategy"}, "properties": {"repobilityId": "e50adbb5ff031b7c", "scanner": "scanner-primary", "fingerprint": "4feef2301892b6c1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/localization_helper.py:550"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-62e387942873d840", "level": "note", "message": {"text": "Possibly dead Python function: track_sentiment_trends"}, "properties": {"repobilityId": "3e7ee20d63452953", "scanner": "scanner-primary", "fingerprint": "62e387942873d840", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/review_analyzer.py:293"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f634c3643fe0ec45", "level": "note", "message": {"text": "Possibly dead Python function: generate_response_templates"}, "properties": {"repobilityId": "ad5793e58b6adaab", "scanner": "scanner-primary", "fingerprint": "f634c3643fe0ec45", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/review_analyzer.py:341"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eb73c5d36e94db23", "level": "note", "message": {"text": "Possibly dead Python function: analyze_reviews"}, "properties": {"repobilityId": "a0b6d46ed847aff7", "scanner": "scanner-primary", "fingerprint": "eb73c5d36e94db23", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/review_analyzer.py:693"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-251b9d824f027c8b", "level": "note", "message": {"text": "Possibly dead Python function: validate_app_store_compliance"}, "properties": {"repobilityId": "d1e897c82ddccd46", "scanner": "scanner-primary", "fingerprint": "251b9d824f027c8b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/launch_checklist.py:65"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e92447714343ce02", "level": "note", "message": {"text": "Possibly dead Python function: create_update_plan"}, "properties": {"repobilityId": "37068bffdfe83f74", "scanner": "scanner-primary", "fingerprint": "e92447714343ce02", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/launch_checklist.py:98"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bffe4da3ec32a841", "level": "note", "message": {"text": "Possibly dead Python function: optimize_launch_timing"}, "properties": {"repobilityId": "be4bf4c4f182e884", "scanner": "scanner-primary", "fingerprint": "bffe4da3ec32a841", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/launch_checklist.py:143"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-09a0e0f34774fc2b", "level": "note", "message": {"text": "Possibly dead Python function: plan_seasonal_campaigns"}, "properties": {"repobilityId": "7862b658b03c5631", "scanner": "scanner-primary", "fingerprint": "09a0e0f34774fc2b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/launch_checklist.py:187"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-947fa38a3a620ec5", "level": "note", "message": {"text": "Possibly dead Python function: generate_launch_checklist"}, "properties": {"repobilityId": "7bb7e51676156337", "scanner": "scanner-primary", "fingerprint": "947fa38a3a620ec5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/launch_checklist.py:722"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2a2e5e3faf81bf7e", "level": "note", "message": {"text": "Possibly dead Python function: validate_character_limits"}, "properties": {"repobilityId": "1e3a9c3374460bad", "scanner": "scanner-primary", "fingerprint": "2a2e5e3faf81bf7e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/metadata_optimizer.py:229"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b935e9542204898a", "level": "note", "message": {"text": "Possibly dead Python function: optimize_app_metadata"}, "properties": {"repobilityId": "d30e511973762e45", "scanner": "scanner-primary", "fingerprint": "b935e9542204898a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/metadata_optimizer.py:549"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a003c77385e5e91", "level": "note", "message": {"text": "Possibly dead Python function: find_long_tail_opportunities"}, "properties": {"repobilityId": "a60f9099047007aa", "scanner": "scanner-primary", "fingerprint": "1a003c77385e5e91", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/keyword_analyzer.py:144"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d8ccb89df01153ce", "level": "note", "message": {"text": "Possibly dead Python function: extract_keywords_from_text"}, "properties": {"repobilityId": "1420fcaa3377ade6", "scanner": "scanner-primary", "fingerprint": "d8ccb89df01153ce", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/keyword_analyzer.py:194"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a56871e79b2b8c22", "level": "note", "message": {"text": "Possibly dead Python function: analyze_keyword_set"}, "properties": {"repobilityId": "448fbb1970ad2ba7", "scanner": "scanner-primary", "fingerprint": "a56871e79b2b8c22", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-store-optimization/keyword_analyzer.py:395"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-40318fe072f809d9", "level": "note", "message": {"text": "Possibly dead Python function: process_test_case"}, "properties": {"repobilityId": "24e22cda162ee799", "scanner": "scanner-primary", "fingerprint": "40318fe072f809d9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/prompt-engineering-patterns/scripts/optimize-prompt.py:46"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0c2767b71b71b3ca", "level": "note", "message": {"text": "Possibly dead Python function: compare_prompts"}, "properties": {"repobilityId": "0ab3a0d5144d53fd", "scanner": "scanner-primary", "fingerprint": "0c2767b71b71b3ca", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/prompt-engineering-patterns/scripts/optimize-prompt.py:212"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-210a773ba01c1494", "level": "note", "message": {"text": "Possibly dead Python function: update_notebook"}, "properties": {"repobilityId": "9829909809da7dee", "scanner": "scanner-primary", "fingerprint": "210a773ba01c1494", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/notebooklm/scripts/notebook_manager.py:150"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8ffeacdb66726491", "level": "note", "message": {"text": "Possibly dead Python function: increment_use_count"}, "properties": {"repobilityId": "517cc5f203714174", "scanner": "scanner-primary", "fingerprint": "8ffeacdb66726491", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/notebooklm/scripts/notebook_manager.py:260"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0b2957c80aed6b3f", "level": "note", "message": {"text": "Possibly dead Python function: is_expired"}, "properties": {"repobilityId": "43d05883fea1f364", "scanner": "scanner-primary", "fingerprint": "0b2957c80aed6b3f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/notebooklm/scripts/browser_session.py:256"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2d87cd1af1db4ca8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_casing.js:21"}, "properties": {"repobilityId": "d069cf2dbe1dcda4", "scanner": "scanner-primary", "fingerprint": "2d87cd1af1db4ca8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8953e91cbe798fb4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 update_sql_tz.js:9"}, "properties": {"repobilityId": "94ae967481fa1c2e", "scanner": "scanner-primary", "fingerprint": "8953e91cbe798fb4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e25b8bf075b43ab1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_today_count.js:18"}, "properties": {"repobilityId": "74482cf1c146d7b7", "scanner": "scanner-primary", "fingerprint": "e25b8bf075b43ab1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7c7fb00b20f183b6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_op_summary.js:17"}, "properties": {"repobilityId": "cd0d5fc9f16224be", "scanner": "scanner-primary", "fingerprint": "7c7fb00b20f183b6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dc28d632a9e2b2f9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_other_types.js:21"}, "properties": {"repobilityId": "7a505d377ad22621", "scanner": "scanner-primary", "fingerprint": "dc28d632a9e2b2f9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5623d4be12529941", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 fix_metas_stats.js:15"}, "properties": {"repobilityId": "a647813f3c413184", "scanner": "scanner-primary", "fingerprint": "5623d4be12529941", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6e6a360d441a8845", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 chk_men.js:16"}, "properties": {"repobilityId": "451c26439fde9e74", "scanner": "scanner-primary", "fingerprint": "6e6a360d441a8845", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8fb1546e957fa317", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 inspect_ops_fields.js:12"}, "properties": {"repobilityId": "4aeff125998a6372", "scanner": "scanner-primary", "fingerprint": "8fb1546e957fa317", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa7f3f73c2fda984", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_cais.js:13"}, "properties": {"repobilityId": "af60e663622ce2bc", "scanner": "scanner-primary", "fingerprint": "aa7f3f73c2fda984", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c4ede9eb44091cc8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 query7.js:17"}, "properties": {"repobilityId": "abf556d18ebf4508", "scanner": "scanner-primary", "fingerprint": "c4ede9eb44091cc8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e3976ab573e6b41d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 fix_sql_calc.js:6"}, "properties": {"repobilityId": "8b002386a00a0603", "scanner": "scanner-primary", "fingerprint": "e3976ab573e6b41d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7ba6b24857b68b79", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_cols.js:16"}, "properties": {"repobilityId": "657390647cf325a7", "scanner": "scanner-primary", "fingerprint": "7ba6b24857b68b79", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cdef50b555f9c5b6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 fix_metas.js:17"}, "properties": {"repobilityId": "ed4ba7e48ca542e7", "scanner": "scanner-primary", "fingerprint": "cdef50b555f9c5b6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c2c1dba8e8341981", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_resumo_cais.js:18"}, "properties": {"repobilityId": "1dc6956009111cc5", "scanner": "scanner-primary", "fingerprint": "c2c1dba8e8341981", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9168881890506ab7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test_20000_dist.js:25"}, "properties": {"repobilityId": "daaf47eebc1a57c3", "scanner": "scanner-primary", "fingerprint": "9168881890506ab7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3d8b19bd594f7b4a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_dates.js:25"}, "properties": {"repobilityId": "703cdb81ed10baed", "scanner": "scanner-primary", "fingerprint": "3d8b19bd594f7b4a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bc7c47418156295e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_sync_status.ts:18"}, "properties": {"repobilityId": "6f36dc805b932861", "scanner": "scanner-primary", "fingerprint": "bc7c47418156295e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-94a52ac70923f77e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 trigger_all_alerts.js:22"}, "properties": {"repobilityId": "b4fd409a08c8bfa3", "scanner": "scanner-primary", "fingerprint": "94a52ac70923f77e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0f065334bacb0dcd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 inspect_cais.js:21"}, "properties": {"repobilityId": "2e13544d63687156", "scanner": "scanner-primary", "fingerprint": "0f065334bacb0dcd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-010d61119c4269e7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_adj.js:20"}, "properties": {"repobilityId": "018d0834210ccd84", "scanner": "scanner-primary", "fingerprint": "010d61119c4269e7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6dc4fccd645ee113", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_movs_real.ts:11"}, "properties": {"repobilityId": "57fe8d31cf588782", "scanner": "scanner-primary", "fingerprint": "6dc4fccd645ee113", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-87affc8e0c5eb4e3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_eventual.js:17"}, "properties": {"repobilityId": "8d3d24fe1b64f6dc", "scanner": "scanner-primary", "fingerprint": "87affc8e0c5eb4e3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c548bbaa1ea37154", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 query4.js:14"}, "properties": {"repobilityId": "2271af331b32a2a1", "scanner": "scanner-primary", "fingerprint": "c548bbaa1ea37154", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c3597c301efcc255", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 audit_senior.ts:9"}, "properties": {"repobilityId": "9541186afdff52ea", "scanner": "scanner-primary", "fingerprint": "c3597c301efcc255", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-00c9f33c0237df4b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 fix_metas_agressive.js:60"}, "properties": {"repobilityId": "3672885c4c0198dd", "scanner": "scanner-primary", "fingerprint": "00c9f33c0237df4b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5eaf9be023d870c0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 fix_all_summaries.js:11"}, "properties": {"repobilityId": "9afd8f970a48b2c6", "scanner": "scanner-primary", "fingerprint": "5eaf9be023d870c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9d294305ec1ade03", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_receita_sample.js:17"}, "properties": {"repobilityId": "bee9df62952a0092", "scanner": "scanner-primary", "fingerprint": "9d294305ec1ade03", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d10c037770ada13d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 final_check_17.js:21"}, "properties": {"repobilityId": "68629cc8ed2c3c5b", "scanner": "scanner-primary", "fingerprint": "d10c037770ada13d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-435a19cf98a63eb3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test_api_client.js:9"}, "properties": {"repobilityId": "fe99baa0b611d229", "scanner": "scanner-primary", "fingerprint": "435a19cf98a63eb3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-33a838bc31da827c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_all_types.js:20"}, "properties": {"repobilityId": "81bb746beabd5d7c", "scanner": "scanner-primary", "fingerprint": "33a838bc31da827c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ea0bd7eb1369b8ac", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 find_400.js:18"}, "properties": {"repobilityId": "1278f5cb286d770d", "scanner": "scanner-primary", "fingerprint": "ea0bd7eb1369b8ac", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e877616dc2e36f7d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scan_all_cais.js:18"}, "properties": {"repobilityId": "de2abf7867fa7bfe", "scanner": "scanner-primary", "fingerprint": "e877616dc2e36f7d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0b9db1eb71bcb14d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 nuke_today.ts:9"}, "properties": {"repobilityId": "58da5726063dff86", "scanner": "scanner-primary", "fingerprint": "0b9db1eb71bcb14d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-592ef8eb0178cd9d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 inspect_totals.js:28"}, "properties": {"repobilityId": "360b6f92fdef9d21", "scanner": "scanner-primary", "fingerprint": "592ef8eb0178cd9d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5f00ec5a98b65e3a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_mensalista.js:18"}, "properties": {"repobilityId": "4308e6a4ecefcad6", "scanner": "scanner-primary", "fingerprint": "5f00ec5a98b65e3a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6c35af51b32262cc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 debug_movs.ts:20"}, "properties": {"repobilityId": "a7c4c8727d3a6578", "scanner": "scanner-primary", "fingerprint": "6c35af51b32262cc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f08e6076017400a2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 kick_api.js:19"}, "properties": {"repobilityId": "f87045a9a5008d74", "scanner": "scanner-primary", "fingerprint": "f08e6076017400a2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49b829c461863b71", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_yesterday_summ.js:17"}, "properties": {"repobilityId": "7b7b95948dc7a88d", "scanner": "scanner-primary", "fingerprint": "49b829c461863b71", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-22aafef1e7fab2e6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_db_alertas.js:28"}, "properties": {"repobilityId": "e969e73fb5b83c35", "scanner": "scanner-primary", "fingerprint": "22aafef1e7fab2e6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5e8febab157116e6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 purge_today.ts:9"}, "properties": {"repobilityId": "7c31d4a04098ce52", "scanner": "scanner-primary", "fingerprint": "5e8febab157116e6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e246679bd2b337ef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 inspect_op.ts:19"}, "properties": {"repobilityId": "0ef0ce447d564299", "scanner": "scanner-primary", "fingerprint": "e246679bd2b337ef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1ea1fda64a2d1e75", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_data.js:22"}, "properties": {"repobilityId": "27746ef56e5a27dd", "scanner": "scanner-primary", "fingerprint": "1ea1fda64a2d1e75", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3e84b49a4509eb27", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 inspect_today.js:20"}, "properties": {"repobilityId": "8a86abc30074469c", "scanner": "scanner-primary", "fingerprint": "3e84b49a4509eb27", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3aaf3fe63c76cd1f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_discrepancy_detalhe.js:24"}, "properties": {"repobilityId": "c8c6da12a769ae21", "scanner": "scanner-primary", "fingerprint": "3aaf3fe63c76cd1f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-78a6632c392648f9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test_yest_api.js:39"}, "properties": {"repobilityId": "ac40425e22f47231", "scanner": "scanner-primary", "fingerprint": "78a6632c392648f9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6740aeeb63796219", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_mensalistas.js:21"}, "properties": {"repobilityId": "3d590e8852fdea13", "scanner": "scanner-primary", "fingerprint": "6740aeeb63796219", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1a0ee707daeddf54", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server.js:38"}, "properties": {"repobilityId": "a9deebb5fdc93edc", "scanner": "scanner-primary", "fingerprint": "1a0ee707daeddf54", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3ae8270ed0e365bb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test_ilike.js:20"}, "properties": {"repobilityId": "00f385fdf3f7e9d7", "scanner": "scanner-primary", "fingerprint": "3ae8270ed0e365bb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9b6849b7fe0688fd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_mensalistas_dates.js:17"}, "properties": {"repobilityId": "b52910909aa5ceda", "scanner": "scanner-primary", "fingerprint": "9b6849b7fe0688fd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-97b336d03ebcdb17", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 find_1348.js:30"}, "properties": {"repobilityId": "25b6bae4442bfab4", "scanner": "scanner-primary", "fingerprint": "97b336d03ebcdb17", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eccdea61df13ab9d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_count.js:20"}, "properties": {"repobilityId": "326c8235ba9659e7", "scanner": "scanner-primary", "fingerprint": "eccdea61df13ab9d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4105a0a5bccc1d2c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 query.js:13"}, "properties": {"repobilityId": "08003244231f1f15", "scanner": "scanner-primary", "fingerprint": "4105a0a5bccc1d2c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bf0bb3c2d3677061", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_summaries.js:17"}, "properties": {"repobilityId": "1bb3bc57c1180d76", "scanner": "scanner-primary", "fingerprint": "bf0bb3c2d3677061", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-288ae0dbc151a82c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test_20000.js:23"}, "properties": {"repobilityId": "2a0bb33cbf064d79", "scanner": "scanner-primary", "fingerprint": "288ae0dbc151a82c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8e93de8285faeb47", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 query6.js:10"}, "properties": {"repobilityId": "bf348c766973d19f", "scanner": "scanner-primary", "fingerprint": "8e93de8285faeb47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ac8963fe99c04ac4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_raw_dates.js:18"}, "properties": {"repobilityId": "85f576264509f9e9", "scanner": "scanner-primary", "fingerprint": "ac8963fe99c04ac4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4392752e7f73810c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 query5.js:13"}, "properties": {"repobilityId": "ce983553136b376a", "scanner": "scanner-primary", "fingerprint": "4392752e7f73810c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c024649b9edf8800", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 query3.js:19"}, "properties": {"repobilityId": "e34b52162eaf34cb", "scanner": "scanner-primary", "fingerprint": "c024649b9edf8800", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6a2c20e024d34892", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_nulls.js:16"}, "properties": {"repobilityId": "31af96ef70801cda", "scanner": "scanner-primary", "fingerprint": "6a2c20e024d34892", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9ae7f4b052f462bd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_sync_status_lite.ts:11"}, "properties": {"repobilityId": "8e88c391aff88a5f", "scanner": "scanner-primary", "fingerprint": "9ae7f4b052f462bd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6a44c0d44d5aa60a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_today_summ.js:18"}, "properties": {"repobilityId": "0e5e633b454f8c02", "scanner": "scanner-primary", "fingerprint": "6a44c0d44d5aa60a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8a4258bb109024dd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_class.js:68"}, "properties": {"repobilityId": "105375b36c40b074", "scanner": "scanner-primary", "fingerprint": "8a4258bb109024dd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f6308df05db9af28", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 fix_all.ts:9"}, "properties": {"repobilityId": "c794eb0a74e592c2", "scanner": "scanner-primary", "fingerprint": "f6308df05db9af28", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-68d7f1633b1de00c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 fix_metas_final.js:16"}, "properties": {"repobilityId": "93f24210a50803da", "scanner": "scanner-primary", "fingerprint": "68d7f1633b1de00c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2bfcbe7f8ccc0478", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 query2.js:13"}, "properties": {"repobilityId": "189304dbb46de04f", "scanner": "scanner-primary", "fingerprint": "2bfcbe7f8ccc0478", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-319a53a434798181", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_past_summary.js:16"}, "properties": {"repobilityId": "bf5c32c40c40550f", "scanner": "scanner-primary", "fingerprint": "319a53a434798181", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fb57fb81235e5796", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_cais_yest.js:30"}, "properties": {"repobilityId": "d55c780b38ce243b", "scanner": "scanner-primary", "fingerprint": "fb57fb81235e5796", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6741338015811914", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_others.js:16"}, "properties": {"repobilityId": "7d8bdfbe69908e21", "scanner": "scanner-primary", "fingerprint": "6741338015811914", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7ffd41e33eefad68", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check_receita.js:17"}, "properties": {"repobilityId": "fe848c69dd6272d3", "scanner": "scanner-primary", "fingerprint": "7ffd41e33eefad68", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b90ffc980ff00be2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/register_module_governance.js:30"}, "properties": {"repobilityId": "3c22e1e3f1b8a3f0", "scanner": "scanner-primary", "fingerprint": "b90ffc980ff00be2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d3d99e04a8ec8f4a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed_central_solicitacoes_perms.js:48"}, "properties": {"repobilityId": "a4c8c65f805a962e", "scanner": "scanner-primary", "fingerprint": "d3d99e04a8ec8f4a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c1e87e8e02adb75c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrar_faturamento.ts:14"}, "properties": {"repobilityId": "5064d302cbc5b79e", "scanner": "scanner-primary", "fingerprint": "c1e87e8e02adb75c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-53e2b1408e8a91a0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/find_agemar.js:20"}, "properties": {"repobilityId": "7833e9ddb8b5de45", "scanner": "scanner-primary", "fingerprint": "53e2b1408e8a91a0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6e4eccf4305582f4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/run_test_payload.js:45"}, "properties": {"repobilityId": "9575074eaeb697c5", "scanner": "scanner-primary", "fingerprint": "6e4eccf4305582f4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-81e009ee23b661c5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/inspect_cp_movs.js:23"}, "properties": {"repobilityId": "026aa7204740beff", "scanner": "scanner-primary", "fingerprint": "81e009ee23b661c5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9b6dcaf8e1d82013", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/wipe_central.js:9"}, "properties": {"repobilityId": "ec979f158e021b0a", "scanner": "scanner-primary", "fingerprint": "9b6dcaf8e1d82013", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-06d1c136f9b1a3d6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-status.ts:6"}, "properties": {"repobilityId": "52f527181b32099c", "scanner": "scanner-primary", "fingerprint": "06d1c136f9b1a3d6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b574b9308742b049", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/reprocess_faturamento.js:26"}, "properties": {"repobilityId": "aec7adbb98af0595", "scanner": "scanner-primary", "fingerprint": "b574b9308742b049", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a3db1a30a617845f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_cloudpark_today.js:21"}, "properties": {"repobilityId": "3075bca79f810755", "scanner": "scanner-primary", "fingerprint": "a3db1a30a617845f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d9f30b1c37def406", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/reprocess_final.js:26"}, "properties": {"repobilityId": "f92b3961c8ed0b1f", "scanner": "scanner-primary", "fingerprint": "d9f30b1c37def406", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a2956825d370288d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_cloudpark_data.js:23"}, "properties": {"repobilityId": "03504f87e17b6199", "scanner": "scanner-primary", "fingerprint": "a2956825d370288d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b962ccf0cb4aaae4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/setup_approvals.js:10"}, "properties": {"repobilityId": "37d07f284928abb5", "scanner": "scanner-primary", "fingerprint": "b962ccf0cb4aaae4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3576100cf40a6fbf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/consolidate_statuses.js:14"}, "properties": {"repobilityId": "485cbe81f08e3d6b", "scanner": "scanner-primary", "fingerprint": "3576100cf40a6fbf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-99b19992ba1f3ec5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/inspect_agemar.js:22"}, "properties": {"repobilityId": "42b02121029eac6a", "scanner": "scanner-primary", "fingerprint": "99b19992ba1f3ec5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4d52992f89ae4c7d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_personal_data.js:18"}, "properties": {"repobilityId": "6009c06939d3a1db", "scanner": "scanner-primary", "fingerprint": "4d52992f89ae4c7d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ad287f94aed34bf1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/find_tables.ts:9"}, "properties": {"repobilityId": "4746977f594539b5", "scanner": "scanner-primary", "fingerprint": "ad287f94aed34bf1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-935fafc9e6648dc3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_fix.js:26"}, "properties": {"repobilityId": "6cdcea8ffb446e05", "scanner": "scanner-primary", "fingerprint": "935fafc9e6648dc3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fef218da7f3ba7da", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/list_ops.js:20"}, "properties": {"repobilityId": "cd93eacfd197fbea", "scanner": "scanner-primary", "fingerprint": "fef218da7f3ba7da", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f3e5bbfd6df1b87d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/inspect_imip.js:33"}, "properties": {"repobilityId": "c4bd31e493b4d59c", "scanner": "scanner-primary", "fingerprint": "f3e5bbfd6df1b87d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d501697a59da3c48", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/list_yesterday.js:24"}, "properties": {"repobilityId": "43521f582a919d75", "scanner": "scanner-primary", "fingerprint": "d501697a59da3c48", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8d8bf8a92e48dbcd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_schema_approvals.js:10"}, "properties": {"repobilityId": "0a81100acf2554e6", "scanner": "scanner-primary", "fingerprint": "8d8bf8a92e48dbcd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-10476a375dc7a923", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_db_direct.js:29"}, "properties": {"repobilityId": "a950928b68b77177", "scanner": "scanner-primary", "fingerprint": "10476a375dc7a923", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e4c7df7ebc1eab4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/targeted_reprocess.js:23"}, "properties": {"repobilityId": "91bdbde20b3bd993", "scanner": "scanner-primary", "fingerprint": "4e4c7df7ebc1eab4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9257839d6945b374", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check_status_duplicates.js:20"}, "properties": {"repobilityId": "7dd2dc173fea9299", "scanner": "scanner-primary", "fingerprint": "9257839d6945b374", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0666f5743a5d6397", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/reprocess_faturamento_robust.js:26"}, "properties": {"repobilityId": "0d1aaae22105cee0", "scanner": "scanner-primary", "fingerprint": "0666f5743a5d6397", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-90133926aaafd6fc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/explore_db.ts:9"}, "properties": {"repobilityId": "461c869ecefbd8f6", "scanner": "scanner-primary", "fingerprint": "90133926aaafd6fc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-32ede327b357c152", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/simulate_status_api.js:21"}, "properties": {"repobilityId": "94347be24bc33b45", "scanner": "scanner-primary", "fingerprint": "32ede327b357c152", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0ac47a06fe0948e0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/try_alter_table.js:15"}, "properties": {"repobilityId": "ae6e69df38a2087a", "scanner": "scanner-primary", "fingerprint": "0ac47a06fe0948e0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a9653f7aefb12140", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/find_ti_depto.js:15"}, "properties": {"repobilityId": "47e138ccf8e3dd2d", "scanner": "scanner-primary", "fingerprint": "a9653f7aefb12140", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fc5e059328a9e40e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/components/PWAInstallPrompt.tsx:42"}, "properties": {"repobilityId": "430c6a452b396a08", "scanner": "scanner-primary", "fingerprint": "fc5e059328a9e40e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bf58b9d3b758a3b9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/components/PWARegistration.tsx:11"}, "properties": {"repobilityId": "2f1c0ad4e6eaa312", "scanner": "scanner-primary", "fingerprint": "bf58b9d3b758a3b9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a2feb6b38175937b", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/central-solicitacoes/dashboards/DefaultDashboard.tsx:55"}, "properties": {"repobilityId": "da3b90b9e35845a1", "scanner": "scanner-primary", "fingerprint": "a2feb6b38175937b", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-e94ab4306da6820d", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/layout.tsx:46"}, "properties": {"repobilityId": "0d72350965068f5b", "scanner": "scanner-primary", "fingerprint": "e94ab4306da6820d", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-13eb04635c183dfb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/central-solicitacoes/ai-suggest/route.ts:160"}, "properties": {"repobilityId": "f71140185166c91c", "scanner": "scanner-primary", "fingerprint": "13eb04635c183dfb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9a2fc6b9d8c21f01", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/central-solicitacoes/ai-classify/route.ts:150"}, "properties": {"repobilityId": "3fd8f8bfc17a16a6", "scanner": "scanner-primary", "fingerprint": "9a2fc6b9d8c21f01", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ade06ec3f4df737a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/central-solicitacoes/stats/route.ts:42"}, "properties": {"repobilityId": "e4848cb18763976d", "scanner": "scanner-primary", "fingerprint": "ade06ec3f4df737a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4972a3c190945e57", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/operacoes/[id]/agente-config/route.ts:45"}, "properties": {"repobilityId": "4a2c77cd10e1376b", "scanner": "scanner-primary", "fingerprint": "4972a3c190945e57", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b740b65771f27db", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/metas-faturamento/route.ts:63"}, "properties": {"repobilityId": "8d39fbaade729789", "scanner": "scanner-primary", "fingerprint": "6b740b65771f27db", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f464a17ee73fcefd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/sac/ai/cron-analise/route.ts:101"}, "properties": {"repobilityId": "61e769bf41061b07", "scanner": "scanner-primary", "fingerprint": "f464a17ee73fcefd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-95e86eabdcf23f90", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/sac/ai/analisar-pendentes/route.ts:64"}, "properties": {"repobilityId": "28525bda18b460c4", "scanner": "scanner-primary", "fingerprint": "95e86eabdcf23f90", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d859199ed6a07a8d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/sac/mobichat/sync/route.ts:97"}, "properties": {"repobilityId": "6d4e8a07598dd37e", "scanner": "scanner-primary", "fingerprint": "d859199ed6a07a8d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b3194de4f94ae9bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/sac/atendimentos/[id]/ai-analisar/route.ts:29"}, "properties": {"repobilityId": "8dace4aaad94221d", "scanner": "scanner-primary", "fingerprint": "b3194de4f94ae9bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eb7c34f2c4e50d47", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/webhooks/mobichat/route.ts:45"}, "properties": {"repobilityId": "204f3d53415507ef", "scanner": "scanner-primary", "fingerprint": "eb7c34f2c4e50d47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-25f29b4187ad032d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/faturamento/templates/route.ts:23"}, "properties": {"repobilityId": "c18bfb34c28ee2d0", "scanner": "scanner-primary", "fingerprint": "25f29b4187ad032d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6771611b27168ffd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/api/faturamento/importar-movimentos/route.ts:40"}, "properties": {"repobilityId": "f49bd8af309611b5", "scanner": "scanner-primary", "fingerprint": "6771611b27168ffd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-85ca0ddf562316b6", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/central-solicitacoes/nova/page.tsx:2067"}, "properties": {"repobilityId": "5aee16209995dff1", "scanner": "scanner-primary", "fingerprint": "85ca0ddf562316b6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d038a355978f6dd2", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:200"}, "properties": {"repobilityId": "dabdbdfcbcfad1ed", "scanner": "scanner-primary", "fingerprint": "d038a355978f6dd2", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-d891c4ad4b256cf4", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:329"}, "properties": {"repobilityId": "6aa8ca448ecb17a9", "scanner": "scanner-primary", "fingerprint": "d891c4ad4b256cf4", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-3d1b19d3961daf90", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(dashboard)/admin/notificacoes/canais/page.tsx:595"}, "properties": {"repobilityId": "a1ac7dc58f695033", "scanner": "scanner-primary", "fingerprint": "3d1b19d3961daf90", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-760091c89e231721", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/admin/usuarios/page.tsx:546"}, "properties": {"repobilityId": "c78b3253e5f57cea", "scanner": "scanner-primary", "fingerprint": "760091c89e231721", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7c85bcc585f6ca21", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/admin/faturamento/page.tsx:1216"}, "properties": {"repobilityId": "6884c51befe2f679", "scanner": "scanner-primary", "fingerprint": "7c85bcc585f6ca21", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7960ad3bccef4965", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(dashboard)/admin/faturamento/page.tsx:187"}, "properties": {"repobilityId": "b515b2e84fc3c27a", "scanner": "scanner-primary", "fingerprint": "7960ad3bccef4965", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a7b346eb861b63e6", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(dashboard)/admin/faturamento/alertas/page.tsx:88"}, "properties": {"repobilityId": "2b69b78ac8646d39", "scanner": "scanner-primary", "fingerprint": "a7b346eb861b63e6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-65b49f82370db2ad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/faturamento-alertas.ts:84"}, "properties": {"repobilityId": "9c2a241c70dfb65c", "scanner": "scanner-primary", "fingerprint": "65b49f82370db2ad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9b74ec0cff3c2230", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/mobile/fcm.ts:108"}, "properties": {"repobilityId": "4954373921f25a36", "scanner": "scanner-primary", "fingerprint": "9b74ec0cff3c2230", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-11041f674fe41b5b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/hooks/useSessionWatcher.ts:79"}, "properties": {"repobilityId": "eb0f3b69ba45474a", "scanner": "scanner-primary", "fingerprint": "11041f674fe41b5b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-07becd287fe173f2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/sac/ia-auto-trigger.ts:64"}, "properties": {"repobilityId": "a14dca553a3b229f", "scanner": "scanner-primary", "fingerprint": "07becd287fe173f2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4786515fc32c1b62", "level": "error", "message": {"text": "Possible secret in skills/api-documentation-generator/SKILL.md"}, "properties": {"repobilityId": "78e3c5c746c02593", "scanner": "scanner-primary", "fingerprint": "4786515fc32c1b62", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/api-documentation-generator/SKILL.md"}, "region": {"startLine": 170}}}]}, {"ruleId": "scanner-b561fd71b8d49ea1", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in skills/frontend-mobile-security-xss-scan/SKILL.md:164"}, "properties": {"repobilityId": "2a79cbb34fbe5b9d", "scanner": "scanner-primary", "fingerprint": "b561fd71b8d49ea1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/frontend-mobile-security-xss-scan/SKILL.md"}, "region": {"startLine": 164}}}]}, {"ruleId": "scanner-4998469b40bbe5d2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skills/frontend-mobile-security-xss-scan/SKILL.md:215"}, "properties": {"repobilityId": "0c3cc7753c42211f", "scanner": "scanner-primary", "fingerprint": "4998469b40bbe5d2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/frontend-mobile-security-xss-scan/SKILL.md"}, "region": {"startLine": 215}}}]}, {"ruleId": "scanner-5623b592646c673d", "level": "error", "message": {"text": "Possible secret in skills/api-endpoint-builder/SKILL.md"}, "properties": {"repobilityId": "475b9a9383bf3da4", "scanner": "scanner-primary", "fingerprint": "5623b592646c673d", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/api-endpoint-builder/SKILL.md"}, "region": {"startLine": 285}}}]}, {"ruleId": "scanner-5623b592646c673d", "level": "error", "message": {"text": "Possible secret in skills/api-endpoint-builder/SKILL.md"}, "properties": {"repobilityId": "475b9a9383bf3da4", "scanner": "scanner-primary", "fingerprint": "5623b592646c673d", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/api-endpoint-builder/SKILL.md"}, "region": {"startLine": 300}}}]}, {"ruleId": "scanner-840b868178b4937e", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/central-solicitacoes/dashboards/DefaultDashboard.tsx:55"}, "properties": {"repobilityId": "b3a5a5b94a9a6efe", "scanner": "scanner-primary", "fingerprint": "840b868178b4937e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/central-solicitacoes/dashboards/DefaultDashboard.tsx"}, "region": {"startLine": 55}}}]}, {"ruleId": "scanner-8d6373e19925a90a", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/layout.tsx:46"}, "properties": {"repobilityId": "0bca654fa2052eb0", "scanner": "scanner-primary", "fingerprint": "8d6373e19925a90a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/layout.tsx"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-29efa463da77bebb", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:200"}, "properties": {"repobilityId": "4d295ccc5a1a09de", "scanner": "scanner-primary", "fingerprint": "29efa463da77bebb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx"}, "region": {"startLine": 200}}}]}, {"ruleId": "scanner-e764e9faae384927", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:329"}, "properties": {"repobilityId": "341967ffa0118134", "scanner": "scanner-primary", "fingerprint": "e764e9faae384927", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx"}, "region": {"startLine": 329}}}]}, {"ruleId": "scanner-14fd79cb236cec79", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(dashboard)/admin/notificacoes/canais/page.tsx:595"}, "properties": {"repobilityId": "56b2ecd9e073cbbd", "scanner": "scanner-primary", "fingerprint": "14fd79cb236cec79", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/(dashboard)/admin/notificacoes/canais/page.tsx"}, "region": {"startLine": 595}}}]}, {"ruleId": "scanner-c745e76730412d39", "level": "error", "message": {"text": "Possible secret in src/lib/mobile/fcm.ts"}, "properties": {"repobilityId": "a4d442f099551704", "scanner": "scanner-primary", "fingerprint": "c745e76730412d39", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/mobile/fcm.ts"}, "region": {"startLine": 9}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "30dc547e5dfa0d7e", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-4d1a4a25c49f8603", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/sac-colaborador/[id]/page.tsx (939 lines)"}, "properties": {"repobilityId": "8b41531f73c618bf", "scanner": "scanner-primary", "fingerprint": "4d1a4a25c49f8603", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-406b0d3ed2570620", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/central-solicitacoes/[id]/page.tsx (3964 lines)"}, "properties": {"repobilityId": "0b164884f74cbdef", "scanner": "scanner-primary", "fingerprint": "406b0d3ed2570620", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9fca7e6ca6320428", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/central-solicitacoes/nova/page.tsx (2898 lines)"}, "properties": {"repobilityId": "8a1e06fa82a8c59e", "scanner": "scanner-primary", "fingerprint": "9fca7e6ca6320428", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0421ec73c52a2139", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/admin/contas-fixas/faturas/page.tsx (1269 lines)"}, "properties": {"repobilityId": "5bb7ce025265690e", "scanner": "scanner-primary", "fingerprint": "0421ec73c52a2139", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3106ddc78265bc42", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/admin/operacoes/page.tsx (1056 lines)"}, "properties": {"repobilityId": "21032f636bbd89d9", "scanner": "scanner-primary", "fingerprint": "3106ddc78265bc42", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cde5def25da71c04", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx (1385 lines)"}, "properties": {"repobilityId": "af0f09fe4979b706", "scanner": "scanner-primary", "fingerprint": "cde5def25da71c04", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ad575f7a035ffb76", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/admin/patrimonio/[id]/page.tsx (1944 lines)"}, "properties": {"repobilityId": "cd36373ce2745a45", "scanner": "scanner-primary", "fingerprint": "ad575f7a035ffb76", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4c577cb7e2f768c3", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx (1245 lines)"}, "properties": {"repobilityId": "0eaacb969072675e", "scanner": "scanner-primary", "fingerprint": "4c577cb7e2f768c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b917ce47a60f3e06", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/admin/usuarios/page.tsx (896 lines)"}, "properties": {"repobilityId": "1ac42879c78ec5a9", "scanner": "scanner-primary", "fingerprint": "b917ce47a60f3e06", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-be1dcc020220281a", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx (1470 lines)"}, "properties": {"repobilityId": "26c57fae701ec1aa", "scanner": "scanner-primary", "fingerprint": "be1dcc020220281a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f9bad3986c3b003b", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/admin/faturamento/page.tsx (1814 lines)"}, "properties": {"repobilityId": "d221d8bab583a1f6", "scanner": "scanner-primary", "fingerprint": "f9bad3986c3b003b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-802c0a5d7e838be0", "level": "note", "message": {"text": "Very large file: src/app/(dashboard)/admin/faturamento/metas/page.tsx (1198 lines)"}, "properties": {"repobilityId": "0f74b282d334b993", "scanner": "scanner-primary", "fingerprint": "802c0a5d7e838be0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "973e4736f638d70d", "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": "f406f271c253771d", "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": "00d82cf7f645e3f7", "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": "0edebffee18da0d1", "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": "b46510d7079aa86b", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-bea357a6497a2d5d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "properties": {"repobilityId": "aae72df3934829ac", "scanner": "scanner-primary", "fingerprint": "bea357a6497a2d5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-122f91b7f2906dc4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "properties": {"repobilityId": "a2967269048b6a9d", "scanner": "scanner-primary", "fingerprint": "122f91b7f2906dc4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-18b7d2662f270820", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/rules/orchestrator.md"}, "properties": {"repobilityId": "a9673d0ae8ad268e", "scanner": "scanner-primary", "fingerprint": "18b7d2662f270820", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/rules/orchestrator.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-242ea83e4a858e1c", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/ai-studio-image/SKILL.md"}, "properties": {"repobilityId": "b9379089b24d9ff9", "scanner": "scanner-primary", "fingerprint": "242ea83e4a858e1c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/ai-studio-image/SKILL.md"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-276e8bb0c39cb3bf", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/ai-studio-image/SKILL.md"}, "properties": {"repobilityId": "5501c350f13fc640", "scanner": "scanner-primary", "fingerprint": "276e8bb0c39cb3bf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/ai-studio-image/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-803787c86848301d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/web-design-guidelines/SKILL.md"}, "properties": {"repobilityId": "610fb39c3be25639", "scanner": "scanner-primary", "fingerprint": "803787c86848301d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/web-design-guidelines/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-db3a351fc3a94abc", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/architecture/SKILL.md"}, "properties": {"repobilityId": "25c6e7e2bcbc245c", "scanner": "scanner-primary", "fingerprint": "db3a351fc3a94abc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/architecture/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-07d0716f70bfb96b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/database-design/SKILL.md"}, "properties": {"repobilityId": "1173a07863630185", "scanner": "scanner-primary", "fingerprint": "07d0716f70bfb96b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/database-design/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2d1dd574c997532f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/documentation/SKILL.md"}, "properties": {"repobilityId": "7f1cd865235d270c", "scanner": "scanner-primary", "fingerprint": "2d1dd574c997532f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/documentation/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-55e27bc5b83af7c0", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/audit-skills/SKILL.md"}, "properties": {"repobilityId": "62a3cf962d3ed4af", "scanner": "scanner-primary", "fingerprint": "55e27bc5b83af7c0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/audit-skills/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-18f5cea7b9dd377b", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/audit-skills/SKILL.md"}, "properties": {"repobilityId": "61516eb48181075a", "scanner": "scanner-primary", "fingerprint": "18f5cea7b9dd377b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/audit-skills/SKILL.md"}, "region": {"startLine": 82}}}]}, {"ruleId": "scanner-e85b25c72034a7e3", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/antigravity-skill-orchestrator/SKILL.md"}, "properties": {"repobilityId": "a599b0046fe6bb80", "scanner": "scanner-primary", "fingerprint": "e85b25c72034a7e3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/antigravity-skill-orchestrator/SKILL.md"}, "region": {"startLine": 94}}}]}, {"ruleId": "scanner-05164b9878fa6570", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/n8n-mcp-tools-expert/SKILL.md"}, "properties": {"repobilityId": "597e8b8c1548b5e4", "scanner": "scanner-primary", "fingerprint": "05164b9878fa6570", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/n8n-mcp-tools-expert/SKILL.md"}, "region": {"startLine": 561}}}]}, {"ruleId": "scanner-af62950407b96f49", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/devops-deploy/SKILL.md"}, "properties": {"repobilityId": "7dff99efe685e095", "scanner": "scanner-primary", "fingerprint": "af62950407b96f49", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/devops-deploy/SKILL.md"}, "region": {"startLine": 101}}}]}, {"ruleId": "scanner-631e8d625c1028ee", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/documentation-templates/SKILL.md"}, "properties": {"repobilityId": "d042f32e8c9b18f4", "scanner": "scanner-primary", "fingerprint": "631e8d625c1028ee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/documentation-templates/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1ab66e91cffe4398", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/frontend-mobile-security-xss-scan/SKILL.md"}, "properties": {"repobilityId": "d6293f6b2883807d", "scanner": "scanner-primary", "fingerprint": "1ab66e91cffe4398", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/frontend-mobile-security-xss-scan/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-82b4f91fd59f0312", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/app-builder/SKILL.md"}, "properties": {"repobilityId": "48f73dca90f9b12c", "scanner": "scanner-primary", "fingerprint": "82b4f91fd59f0312", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-builder/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-317fb058bedfe929", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/app-builder/templates/SKILL.md"}, "properties": {"repobilityId": "b5888584431be21b", "scanner": "scanner-primary", "fingerprint": "317fb058bedfe929", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/app-builder/templates/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7b2233973c3c495a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/database-migrations-migration-observability/SKILL.md"}, "properties": {"repobilityId": "1e38fe213562c920", "scanner": "scanner-primary", "fingerprint": "7b2233973c3c495a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/database-migrations-migration-observability/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-37a9cd5189085481", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/notebooklm/SKILL.md"}, "properties": {"repobilityId": "39fa6e7c1cdacdbc", "scanner": "scanner-primary", "fingerprint": "37a9cd5189085481", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/notebooklm/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-56a88650b4ca0b22", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/copywriting/SKILL.md"}, "properties": {"repobilityId": "0793a074819aebd2", "scanner": "scanner-primary", "fingerprint": "56a88650b4ca0b22", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/copywriting/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-553533e16c45193c", "level": "note", "message": {"text": "Legacy-named symbol `faturamento_consolidar_dia_v2` in query4.js:9"}, "properties": {"repobilityId": "1b9a2c5b91f71500", "scanner": "scanner-primary", "fingerprint": "553533e16c45193c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d13c37af414dfb69", "level": "note", "message": {"text": "Legacy-named symbol `faturamento_consolidar_dia_v2` in query5.js:9"}, "properties": {"repobilityId": "8ed3a0faa4bd2a55", "scanner": "scanner-primary", "fingerprint": "d13c37af414dfb69", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8ccb7965cd73029c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/run_test_payload.js:35"}, "properties": {"repobilityId": "3991d8a33e97b4a0", "scanner": "scanner-primary", "fingerprint": "8ccb7965cd73029c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c7d27de25bc8baa4", "level": "note", "message": {"text": "Legacy-named symbol `try_backup` in skills/ai-studio-image/scripts/config.py:28"}, "properties": {"repobilityId": "df4cf5312d01bd34", "scanner": "scanner-primary", "fingerprint": "c7d27de25bc8baa4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-31d010a9c12d03d9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/audio-transcriber/scripts/transcribe.py:26"}, "properties": {"repobilityId": "b0d819c2d3e75223", "scanner": "scanner-primary", "fingerprint": "31d010a9c12d03d9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6e75adb52e70f695", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/notebooklm/scripts/__init__.py:53"}, "properties": {"repobilityId": "d54f6840bcef4581", "scanner": "scanner-primary", "fingerprint": "6e75adb52e70f695", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-660c792ccb4848a2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/notebooklm/scripts/setup_environment.py:62"}, "properties": {"repobilityId": "8a219b24a0e3bf1f", "scanner": "scanner-primary", "fingerprint": "660c792ccb4848a2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7251cc3a703d55dd", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/notebooklm/scripts/run.py:38"}, "properties": {"repobilityId": "934c8627e02c137e", "scanner": "scanner-primary", "fingerprint": "7251cc3a703d55dd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a71a2f88f38bbe07", "level": "none", "message": {"text": "Commented-code block (6 lines) in public/sw.js:1"}, "properties": {"repobilityId": "738ea7ecd2f088d8", "scanner": "scanner-primary", "fingerprint": "a71a2f88f38bbe07", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04ec95ad2c8d95a0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/sw.js:87"}, "properties": {"repobilityId": "d31ccd569b369396", "scanner": "scanner-primary", "fingerprint": "04ec95ad2c8d95a0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2a7d4df223d22a64", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/central-solicitacoes/dashboards/TIDashboard.tsx:56"}, "properties": {"repobilityId": "055f099dde8beba2", "scanner": "scanner-primary", "fingerprint": "2a7d4df223d22a64", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-99277f29a70d3459", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/central-solicitacoes/dashboards/RHDashboard.tsx:42"}, "properties": {"repobilityId": "e7cdd6fe6d02fea6", "scanner": "scanner-primary", "fingerprint": "99277f29a70d3459", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a965e5a1c09f0a0c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/central-solicitacoes/dashboards/DiretoriaDashboard.tsx:58"}, "properties": {"repobilityId": "1481b5c325cd484c", "scanner": "scanner-primary", "fingerprint": "a965e5a1c09f0a0c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c3fd0fec42ce716c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/patrimonio/SubcategoriaModal.tsx:37"}, "properties": {"repobilityId": "2b93eec1f71e3deb", "scanner": "scanner-primary", "fingerprint": "c3fd0fec42ce716c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-71e88c5fae4d5709", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/sac/SacAnexoUploader.tsx:41"}, "properties": {"repobilityId": "358b418c918f23a8", "scanner": "scanner-primary", "fingerprint": "71e88c5fae4d5709", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0ff54349413400ae", "level": "note", "message": {"text": "Legacy-named symbol `evolution_central_logs_v1` in src/app/api/central-solicitacoes/[id]/route.ts:786"}, "properties": {"repobilityId": "46d28d941f6afbc2", "scanner": "scanner-primary", "fingerprint": "0ff54349413400ae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e5c695893fb742b3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/api/central-solicitacoes/[id]/route.ts:174"}, "properties": {"repobilityId": "a68ef9a0ae3000be", "scanner": "scanner-primary", "fingerprint": "e5c695893fb742b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c24ee935bcf78fbe", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/api/central-solicitacoes/[id]/aprovacao/route.ts:169"}, "properties": {"repobilityId": "3f8fc8e91219330a", "scanner": "scanner-primary", "fingerprint": "c24ee935bcf78fbe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd2e93272462e394", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/utils/veiculo/route.ts:34"}, "properties": {"repobilityId": "6e2b657402458940", "scanner": "scanner-primary", "fingerprint": "fd2e93272462e394", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-362a05dbd4050e2d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/api/mobile/v1/patio/app-config/route.ts:5"}, "properties": {"repobilityId": "835bd3da019b87ca", "scanner": "scanner-primary", "fingerprint": "362a05dbd4050e2d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a2c0b5f7d4ade73e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/api/admin/patio/resultados/route.ts:7"}, "properties": {"repobilityId": "e2d18afd4b3cba8b", "scanner": "scanner-primary", "fingerprint": "a2c0b5f7d4ade73e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21a45078839e44e7", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/app/api/admin/patio/tickets/route.ts:7"}, "properties": {"repobilityId": "4d87b8c166179885", "scanner": "scanner-primary", "fingerprint": "21a45078839e44e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d6d092b04f25e0e5", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/app/api/admin/patio/caixas/route.ts:7"}, "properties": {"repobilityId": "287b472dc5638a5c", "scanner": "scanner-primary", "fingerprint": "d6d092b04f25e0e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c1d36047a1fe86ab", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/patrimonio/[id]/download-termo/route.ts:102"}, "properties": {"repobilityId": "afc75ab4c2a2851d", "scanner": "scanner-primary", "fingerprint": "c1d36047a1fe86ab", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2e26a2861fcb0746", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/api/sac/mobichat/sync/route.ts:7"}, "properties": {"repobilityId": "925af2147d49d9c4", "scanner": "scanner-primary", "fingerprint": "2e26a2861fcb0746", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-abcf7628ccdcbd26", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/webhooks/assinafy/[secret]/route.ts:139"}, "properties": {"repobilityId": "b0a239b7b68ffc35", "scanner": "scanner-primary", "fingerprint": "abcf7628ccdcbd26", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6b64781a44b29512", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/api/calendario/eventos/[id]/route.ts:9"}, "properties": {"repobilityId": "286dac3003698897", "scanner": "scanner-primary", "fingerprint": "6b64781a44b29512", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0166530962bf7fb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/sac-colaborador/relatorios/RelatorioColaboradoresClient.tsx:93"}, "properties": {"repobilityId": "1ff1ffb2d1b97cff", "scanner": "scanner-primary", "fingerprint": "e0166530962bf7fb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f6477aa2933a4414", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:111"}, "properties": {"repobilityId": "a46b644b577fa939", "scanner": "scanner-primary", "fingerprint": "f6477aa2933a4414", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fac7bcb78ce84efb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:86"}, "properties": {"repobilityId": "b72f3904b3c4e725", "scanner": "scanner-primary", "fingerprint": "fac7bcb78ce84efb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5bfe48956c99fd24", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/page.tsx:52"}, "properties": {"repobilityId": "c782fe9c0ef0c589", "scanner": "scanner-primary", "fingerprint": "5bfe48956c99fd24", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1020c5ccf6ac0725", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:819"}, "properties": {"repobilityId": "1f5d328050c9666c", "scanner": "scanner-primary", "fingerprint": "1020c5ccf6ac0725", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cc5428805512eae4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/nova/page.tsx:137"}, "properties": {"repobilityId": "1d7ae32d5832e416", "scanner": "scanner-primary", "fingerprint": "cc5428805512eae4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3c1350ef4bf30146", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/todas/page.tsx:446"}, "properties": {"repobilityId": "f43d2fe8271fac9a", "scanner": "scanner-primary", "fingerprint": "3c1350ef4bf30146", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b8317ac173b6c06c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:79"}, "properties": {"repobilityId": "3b518c5a40452da5", "scanner": "scanner-primary", "fingerprint": "b8317ac173b6c06c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c9b5ba19a3655c5e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:190"}, "properties": {"repobilityId": "2d47a22121540474", "scanner": "scanner-primary", "fingerprint": "c9b5ba19a3655c5e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0b362f3393c45883", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:84"}, "properties": {"repobilityId": "4816da703850d095", "scanner": "scanner-primary", "fingerprint": "0b362f3393c45883", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-47fe8dce09ca8258", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/mural-avisos/MuralAvisosPageClient.tsx:15"}, "properties": {"repobilityId": "335dfd6f79d34668", "scanner": "scanner-primary", "fingerprint": "47fe8dce09ca8258", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-78689f81a46801f0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/notificacoes/page.tsx:116"}, "properties": {"repobilityId": "a9252ae4e28845c5", "scanner": "scanner-primary", "fingerprint": "78689f81a46801f0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cd45a21983654090", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/operacoes/page.tsx:14"}, "properties": {"repobilityId": "a3684ed44a61e23b", "scanner": "scanner-primary", "fingerprint": "cd45a21983654090", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-29a3fc076ff65131", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/dashboard/WeatherCard.tsx:167"}, "properties": {"repobilityId": "57c938524df265c7", "scanner": "scanner-primary", "fingerprint": "29a3fc076ff65131", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-682c728633383196", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/dashboard/CalendarioDashboardSection.tsx:22"}, "properties": {"repobilityId": "a6ad63c963a89c4c", "scanner": "scanner-primary", "fingerprint": "682c728633383196", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6e6e560aef8547e0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/dashboard/MuralAvisos.tsx:17"}, "properties": {"repobilityId": "ffd77a798886024b", "scanner": "scanner-primary", "fingerprint": "6e6e560aef8547e0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7619de21faaa481c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:92"}, "properties": {"repobilityId": "c0bbc868f4340fc7", "scanner": "scanner-primary", "fingerprint": "7619de21faaa481c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5618027867a27324", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:160"}, "properties": {"repobilityId": "111cb179db4304ed", "scanner": "scanner-primary", "fingerprint": "5618027867a27324", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-672bec1089f49287", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/faturas/nova/page.tsx:100"}, "properties": {"repobilityId": "10cdcf3c27b521b3", "scanner": "scanner-primary", "fingerprint": "672bec1089f49287", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3a7a4b1c7723948e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:92"}, "properties": {"repobilityId": "9fb7dbe99e5859e2", "scanner": "scanner-primary", "fingerprint": "3a7a4b1c7723948e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c24b1bfb41c71256", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/contas-fixas/faturas-tef/nova/page.tsx:90"}, "properties": {"repobilityId": "3f2e906987152a5c", "scanner": "scanner-primary", "fingerprint": "c24b1bfb41c71256", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f916bd8e1cf3fd35", "level": "note", "message": {"text": "Legacy-named symbol `evolution_contas_fixas_tef_v2` in src/app/(dashboard)/admin/contas-fixas/contratos-tef/novo/page.tsx:139"}, "properties": {"repobilityId": "50bdad8b6e3f4c3e", "scanner": "scanner-primary", "fingerprint": "f916bd8e1cf3fd35", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fb6d7cbf85d21b0a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/portal-clientes/novo/page.tsx:142"}, "properties": {"repobilityId": "2273588d341175e0", "scanner": "scanner-primary", "fingerprint": "fb6d7cbf85d21b0a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-768b2b86a384dfa4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:108"}, "properties": {"repobilityId": "25093bf3ae537e04", "scanner": "scanner-primary", "fingerprint": "768b2b86a384dfa4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ffdbdada360a2414", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/notificacoes/canais/page.tsx:168"}, "properties": {"repobilityId": "f993a89b650bac5b", "scanner": "scanner-primary", "fingerprint": "ffdbdada360a2414", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d75347e7551793c2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:110"}, "properties": {"repobilityId": "b48a525f2b3a6407", "scanner": "scanner-primary", "fingerprint": "d75347e7551793c2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5106925e6289bcac", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/operacoes/page.tsx:91"}, "properties": {"repobilityId": "c0bb9d96d2dab5af", "scanner": "scanner-primary", "fingerprint": "5106925e6289bcac", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d265917c8e84c0cb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/kanban/page.tsx:78"}, "properties": {"repobilityId": "1ebdde912b081b7c", "scanner": "scanner-primary", "fingerprint": "d265917c8e84c0cb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-47a55c40863253df", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/kanban/[id]/page.tsx:524"}, "properties": {"repobilityId": "428bab0b9dd1b1c0", "scanner": "scanner-primary", "fingerprint": "47a55c40863253df", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c54e61e1cdd7e676", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:658"}, "properties": {"repobilityId": "ed7e204390102dd7", "scanner": "scanner-primary", "fingerprint": "c54e61e1cdd7e676", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6637db9877b6b593", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/layout.tsx:58"}, "properties": {"repobilityId": "6d2e54f173d554c1", "scanner": "scanner-primary", "fingerprint": "6637db9877b6b593", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c2575eb37ee7bc00", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/config/page.tsx:283"}, "properties": {"repobilityId": "a1dac0c220c32d2f", "scanner": "scanner-primary", "fingerprint": "c2575eb37ee7bc00", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-22dae9ee442f4f7e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/tarifas/page.tsx:110"}, "properties": {"repobilityId": "d4d3377af7b34b38", "scanner": "scanner-primary", "fingerprint": "22dae9ee442f4f7e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5644500c7f9083db", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/financeiro/page.tsx:112"}, "properties": {"repobilityId": "966b2a2ecd53ca15", "scanner": "scanner-primary", "fingerprint": "5644500c7f9083db", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7fda9030a3b8d67b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patio/operadores/page.tsx:60"}, "properties": {"repobilityId": "fdb3af5894074459", "scanner": "scanner-primary", "fingerprint": "7fda9030a3b8d67b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d0feb7fbfd798e4f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patrimonio/novo/page.tsx:212"}, "properties": {"repobilityId": "fbe002d099be0f76", "scanner": "scanner-primary", "fingerprint": "d0feb7fbfd798e4f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e70341e9dc76164f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:40"}, "properties": {"repobilityId": "2deb60114824169a", "scanner": "scanner-primary", "fingerprint": "e70341e9dc76164f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-66cf52bface7c8cc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/supervisores/page.tsx:81"}, "properties": {"repobilityId": "b7e5a5591393b6b6", "scanner": "scanner-primary", "fingerprint": "66cf52bface7c8cc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2c1252db96d31fd8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:47"}, "properties": {"repobilityId": "78af17cdeeef63bf", "scanner": "scanner-primary", "fingerprint": "2c1252db96d31fd8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-768375b91e322bde", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/metas/tratativa/[id]/page.tsx:86"}, "properties": {"repobilityId": "e2a78ff5dc5014b8", "scanner": "scanner-primary", "fingerprint": "768375b91e322bde", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-87493100310f25e6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:32"}, "properties": {"repobilityId": "8c5e0b9f1d71c94b", "scanner": "scanner-primary", "fingerprint": "87493100310f25e6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7e82a56bd5a15a1e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:47"}, "properties": {"repobilityId": "5681f25c3ccc6e84", "scanner": "scanner-primary", "fingerprint": "7e82a56bd5a15a1e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9aaf974fff02a61f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/auditoria/faturamento/tratativa/[id]/page.tsx:82"}, "properties": {"repobilityId": "88f0193da4c5b62b", "scanner": "scanner-primary", "fingerprint": "9aaf974fff02a61f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-edab38b23e5d86b3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/estoque/movimentacoes/page.tsx:113"}, "properties": {"repobilityId": "93b4c8592476b0bf", "scanner": "scanner-primary", "fingerprint": "edab38b23e5d86b3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b9a4de201527e087", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/estoque/locais/page.tsx:98"}, "properties": {"repobilityId": "89f908f4353e4578", "scanner": "scanner-primary", "fingerprint": "b9a4de201527e087", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-95741fc156dee320", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:164"}, "properties": {"repobilityId": "d893ef8d081b84d7", "scanner": "scanner-primary", "fingerprint": "95741fc156dee320", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7d9f5478e6f71126", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/usuarios/page.tsx:159"}, "properties": {"repobilityId": "43977e8e856fde99", "scanner": "scanner-primary", "fingerprint": "7d9f5478e6f71126", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-400c1b3dee19cf50", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/PermissoesMatriz.tsx:17"}, "properties": {"repobilityId": "41af062025863aff", "scanner": "scanner-primary", "fingerprint": "400c1b3dee19cf50", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d129049b20de94ed", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/TecnologiaMuralAvisosClient.tsx:18"}, "properties": {"repobilityId": "44209a24d5cafaa6", "scanner": "scanner-primary", "fingerprint": "d129049b20de94ed", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dc35dc5ef718b0f5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:302"}, "properties": {"repobilityId": "8b3f83e8a5d82a59", "scanner": "scanner-primary", "fingerprint": "dc35dc5ef718b0f5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4a69128489e959ef", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/tecnologia-ia/logs-personal/page.tsx:64"}, "properties": {"repobilityId": "7e13831c33f6b661", "scanner": "scanner-primary", "fingerprint": "4a69128489e959ef", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b41a79de7d6f77ee", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/admin/faturamento/alertas/[id]/page.tsx:65"}, "properties": {"repobilityId": "7868a0dfc1c95c10", "scanner": "scanner-primary", "fingerprint": "b41a79de7d6f77ee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6eef4f0b219bf434", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/calendario/CalendarioPageClient.tsx:19"}, "properties": {"repobilityId": "31ee8a07928f4015", "scanner": "scanner-primary", "fingerprint": "6eef4f0b219bf434", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9fed1f3847574d97", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(dashboard)/calendario/EventoFormModal.tsx:121"}, "properties": {"repobilityId": "c90574e3fb554a0d", "scanner": "scanner-primary", "fingerprint": "9fed1f3847574d97", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-63e9837626e0fac2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/integrations/mobichat/client.ts:38"}, "properties": {"repobilityId": "6e45f2724e136752", "scanner": "scanner-primary", "fingerprint": "63e9837626e0fac2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-574881135f7f2f1e", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/notifications/publisher.ts:8"}, "properties": {"repobilityId": "b744d0d2b6a3ac61", "scanner": "scanner-primary", "fingerprint": "574881135f7f2f1e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f7818948dc8954e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/notifications/push-client.ts:1"}, "properties": {"repobilityId": "80011810167270ee", "scanner": "scanner-primary", "fingerprint": "4f7818948dc8954e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-be394f7d32f7d74b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/notifications/phone.ts:34"}, "properties": {"repobilityId": "3b39bb8ea0531120", "scanner": "scanner-primary", "fingerprint": "be394f7d32f7d74b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-207f2ab5fb4b592d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/notifications/channels/push-web.ts:1"}, "properties": {"repobilityId": "dc488cb75e44a7ee", "scanner": "scanner-primary", "fingerprint": "207f2ab5fb4b592d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf12feb7ef2b7da1", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/mobile/fcm.ts:1"}, "properties": {"repobilityId": "e62011fb0b4583a2", "scanner": "scanner-primary", "fingerprint": "bf12feb7ef2b7da1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-adedc05446ed10c1", "level": "note", "message": {"text": "Legacy-named symbol `evolution_user_sessions_v2` in src/lib/hooks/useSessionWatcher.ts:22"}, "properties": {"repobilityId": "89dc430f4303b276", "scanner": "scanner-primary", "fingerprint": "adedc05446ed10c1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-faa74774244d64df", "level": "note", "message": {"text": "Legacy-named symbol `evolution_sac_relatorio_colaboradores_v1` in src/lib/sac/relatorios.ts:20"}, "properties": {"repobilityId": "53e73078ac05ab38", "scanner": "scanner-primary", "fingerprint": "faa74774244d64df", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-97d668ca6abdf4b8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useNotifications.ts:56"}, "properties": {"repobilityId": "f70f64dca1df9362", "scanner": "scanner-primary", "fingerprint": "97d668ca6abdf4b8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "ca5aef65e216fd4b", "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": "b54e9affcced6581", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "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": "7cbd4e2083466f0f", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "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": "c1d1b4ebd6623744", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "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": "e50412ffa57b6c87", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-8cdf2789ab63d5bb", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:3000/api/personal/importar-resumo (scratch/run_test_payload.js:35)"}, "properties": {"repobilityId": "6963491ec9208f62", "scanner": "scanner-primary", "fingerprint": "8cdf2789ab63d5bb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4c7ba62ce72dba30", "level": "error", "message": {"text": "Dangling fetch: PUT /api/perfil/senha (src/components/ChangePasswordModal.tsx:89)"}, "properties": {"repobilityId": "a148ac04456d33d7", "scanner": "scanner-primary", "fingerprint": "4c7ba62ce72dba30", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0c430a107d6b53f6", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/ai-classify (src/components/central-solicitacoes/AIClassifyModal.tsx:61)"}, "properties": {"repobilityId": "f422a4ecd5249cdd", "scanner": "scanner-primary", "fingerprint": "0c430a107d6b53f6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b24f8d6177180301", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/central-solicitacoes/${solicitacao.id} (src/components/central-solicitacoes/AvaliacaoCard.tsx:68)"}, "properties": {"repobilityId": "dfca7b67da58aaed", "scanner": "scanner-primary", "fingerprint": "b24f8d6177180301", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1b42a544eef4bbb0", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/analytics (src/components/central-solicitacoes/dashboards/AdminDashboardV2.tsx:563)"}, "properties": {"repobilityId": "6d185660262f5bb6", "scanner": "scanner-primary", "fingerprint": "1b42a544eef4bbb0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-46b947461fc036ab", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/components/central-solicitacoes/dashboards/TIDashboard.tsx:48)"}, "properties": {"repobilityId": "88d5d66ae5fddb86", "scanner": "scanner-primary", "fingerprint": "46b947461fc036ab", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-18dad67c240b2d05", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/equipes (src/components/central-solicitacoes/dashboards/TIDashboard.tsx:56)"}, "properties": {"repobilityId": "ed45acd008ab17c5", "scanner": "scanner-primary", "fingerprint": "18dad67c240b2d05", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a5407f7f75cfb5d4", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes?limit=100 (src/components/central-solicitacoes/dashboards/TIDashboard.tsx:71)"}, "properties": {"repobilityId": "ae5749f5190c3381", "scanner": "scanner-primary", "fingerprint": "a5407f7f75cfb5d4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f7ae4d781cdc74b6", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/components/central-solicitacoes/dashboards/RHDashboard.tsx:35)"}, "properties": {"repobilityId": "bb65e5c5fba5aa62", "scanner": "scanner-primary", "fingerprint": "f7ae4d781cdc74b6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ffd1600d149fbaf8", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes?limit=100 (src/components/central-solicitacoes/dashboards/RHDashboard.tsx:42)"}, "properties": {"repobilityId": "652ca676d60af4b9", "scanner": "scanner-primary", "fingerprint": "ffd1600d149fbaf8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e5cbc334014af6a9", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/components/central-solicitacoes/dashboards/DiretoriaDashboard.tsx:51)"}, "properties": {"repobilityId": "66e21c3ff1594cac", "scanner": "scanner-primary", "fingerprint": "e5cbc334014af6a9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-11d2c578d601d307", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes?limit=100 (src/components/central-solicitacoes/dashboards/DiretoriaDashboard.tsx:58)"}, "properties": {"repobilityId": "e118523dc8aabd2c", "scanner": "scanner-primary", "fingerprint": "11d2c578d601d307", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d9325d645496e7c9", "level": "error", "message": {"text": "Dangling fetch: POST /api/patrimonio/subcategorias (src/components/patrimonio/SubcategoriaModal.tsx:37)"}, "properties": {"repobilityId": "8323104b64d75a64", "scanner": "scanner-primary", "fingerprint": "d9325d645496e7c9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7f50c01cc22bc397", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/patrimonio/subcategorias/${id} (src/components/patrimonio/SubcategoriaModal.tsx:49)"}, "properties": {"repobilityId": "d7657887c39bc85a", "scanner": "scanner-primary", "fingerprint": "7f50c01cc22bc397", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-55af11f18b26cd4d", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/patrimonio/subcategorias/${id} (src/components/patrimonio/SubcategoriaModal.tsx:59)"}, "properties": {"repobilityId": "f93265df30c5c2e0", "scanner": "scanner-primary", "fingerprint": "55af11f18b26cd4d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-83737db894464033", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/patrimonio/subcategorias/${id} (src/components/patrimonio/SubcategoriaModal.tsx:68)"}, "properties": {"repobilityId": "0d912185fb09b1d5", "scanner": "scanner-primary", "fingerprint": "83737db894464033", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a636612e64f7b8a1", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/patrimonio/subcategorias?id=${id} (src/components/patrimonio/SubcategoriaModal.tsx:78)"}, "properties": {"repobilityId": "3eb6694b849846d0", "scanner": "scanner-primary", "fingerprint": "a636612e64f7b8a1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-721f77cfc10070df", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/ai-analisar (src/components/sac/SacIaAnaliseCard.tsx:49)"}, "properties": {"repobilityId": "e986c7f11b5d5930", "scanner": "scanner-primary", "fingerprint": "721f77cfc10070df", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-32d6d139e23a6a06", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${atendimentoId}/classificar (src/components/sac/SacClassificarDialog.tsx:42)"}, "properties": {"repobilityId": "65d1516f4854bba3", "scanner": "scanner-primary", "fingerprint": "32d6d139e23a6a06", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ff47e9882e8230fe", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/busca/colaboradores?q=${encodeURIComponent(val)} (src/components/sac/SacIdentificacaoDialog.tsx:96)"}, "properties": {"repobilityId": "ab8283397f20d9d2", "scanner": "scanner-primary", "fingerprint": "ff47e9882e8230fe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f3b9de2a8aaf6df0", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/busca/operacoes?q=${encodeURIComponent(val)} (src/components/sac/SacIdentificacaoDialog.tsx:118)"}, "properties": {"repobilityId": "130d6365f9cff415", "scanner": "scanner-primary", "fingerprint": "f3b9de2a8aaf6df0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8f99ded09427da59", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${atendimentoId}/identificacao (src/components/sac/SacIdentificacaoDialog.tsx:149)"}, "properties": {"repobilityId": "7d1574970cde9649", "scanner": "scanner-primary", "fingerprint": "8f99ded09427da59", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-79ce626513491ef8", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${atendimentoId}/prioridade (src/components/sac/SacPrioridadeOverrideDialog.tsx:36)"}, "properties": {"repobilityId": "3e527461a2a2e81b", "scanner": "scanner-primary", "fingerprint": "79ce626513491ef8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8ecb196f93985547", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/atendimentos/${atendimentoId}/anexos/${anexoId} (src/components/sac/SacAnexoLista.tsx:33)"}, "properties": {"repobilityId": "0f382824623a3194", "scanner": "scanner-primary", "fingerprint": "8ecb196f93985547", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9d014a48a664ad6d", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${atendimentoId}/anexos/${anexoId} (src/components/sac/SacAnexoLista.tsx:50)"}, "properties": {"repobilityId": "eea6ac28dd32e43e", "scanner": "scanner-primary", "fingerprint": "9d014a48a664ad6d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-34fb7dbcaccb8039", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/usuarios/search?q=${encodeURIComponent(q)}&perfis=${perfis} (src/components/sac/SacEncaminharDialog.tsx:46)"}, "properties": {"repobilityId": "486f120e91c90ede", "scanner": "scanner-primary", "fingerprint": "34fb7dbcaccb8039", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e42b19f765b87f89", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/encaminhar (src/components/sac/SacEncaminharDialog.tsx:70)"}, "properties": {"repobilityId": "8a3be934b6540041", "scanner": "scanner-primary", "fingerprint": "e42b19f765b87f89", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a64e7185ac351d2a", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/demandas (src/components/sac/SacMobichatCard.tsx:57)"}, "properties": {"repobilityId": "5487aaf42fc0667b", "scanner": "scanner-primary", "fingerprint": "a64e7185ac351d2a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b4950a6ba1ad5bad", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/mobichat/vincular (src/components/sac/SacMobichatCard.tsx:75)"}, "properties": {"repobilityId": "0fba9dfa09d0b7f0", "scanner": "scanner-primary", "fingerprint": "b4950a6ba1ad5bad", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-91152503a9d58023", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/mobichat/enviar-mensagem (src/components/sac/SacMobichatCard.tsx:93)"}, "properties": {"repobilityId": "3d22d8c3ae7677f4", "scanner": "scanner-primary", "fingerprint": "91152503a9d58023", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-126994972d958669", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/mobichat/finalizar (src/components/sac/SacMobichatCard.tsx:111)"}, "properties": {"repobilityId": "759ad1f55652994e", "scanner": "scanner-primary", "fingerprint": "126994972d958669", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6b6b6daa3ab46b94", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/sac/atendimentos/${atendimentoId}/responsaveis/${respId} (src/components/sac/SacResponsavelLista.tsx:35)"}, "properties": {"repobilityId": "d103c737adb2f367", "scanner": "scanner-primary", "fingerprint": "6b6b6daa3ab46b94", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8fdea62351c0c090", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/colaboradores/search?q=${encodeURIComponent(q)} (src/components/sac/ColaboradorAutocomplete.tsx:60)"}, "properties": {"repobilityId": "9b377e46956a329d", "scanner": "scanner-primary", "fingerprint": "8fdea62351c0c090", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b755adec81fb5939", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/atendimentos/${atendimentoId}/anexos (src/components/sac/SacAnexoUploader.tsx:26)"}, "properties": {"repobilityId": "29c12a4405ae6453", "scanner": "scanner-primary", "fingerprint": "b755adec81fb5939", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-10046b2af2a7d3fe", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/components/faturamento/AlertaTratativaModal.tsx:72)"}, "properties": {"repobilityId": "ac8599ccddc09ff7", "scanner": "scanner-primary", "fingerprint": "10046b2af2a7d3fe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-18073a9778425350", "level": "error", "message": {"text": "Dangling fetch: GET /api/usuarios?perfil=auditoria (src/components/faturamento/AlertaTratativaModal.tsx:82)"}, "properties": {"repobilityId": "bc772d84d5e8ba43", "scanner": "scanner-primary", "fingerprint": "18073a9778425350", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-38dae27e389bc134", "level": "error", "message": {"text": "Dangling fetch: GET /api/faturamento/alertas?alerta_id=${alerta.id}&mode=history (src/components/faturamento/AlertaTratativaModal.tsx:89)"}, "properties": {"repobilityId": "d15abb6c1a246b13", "scanner": "scanner-primary", "fingerprint": "38dae27e389bc134", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0f36dbd722d13afb", "level": "error", "message": {"text": "Dangling fetch: POST /api/faturamento/alertas (src/components/faturamento/AlertaTratativaModal.tsx:102)"}, "properties": {"repobilityId": "14dbd507f7888e42", "scanner": "scanner-primary", "fingerprint": "0f36dbd722d13afb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-36e530f6be447e20", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/faturamento/alertas?feedback_id=${fid} (src/components/faturamento/AlertaTratativaModal.tsx:137)"}, "properties": {"repobilityId": "3d3af8e875be6c52", "scanner": "scanner-primary", "fingerprint": "36e530f6be447e20", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f92049bc0f63ac01", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/faturamento/alertas (src/components/faturamento/AlertaTratativaModal.tsx:149)"}, "properties": {"repobilityId": "be9fe18a1ff87a9d", "scanner": "scanner-primary", "fingerprint": "f92049bc0f63ac01", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-82529f321dbe0823", "level": "error", "message": {"text": "Dangling fetch: GET https://wdapi2.com.br/consulta/${placa}/f78e4d2627e7f9f305b4e64f9f687a74 (src/app/api/utils/veiculo/route.ts:38)"}, "properties": {"repobilityId": "0cbc4810b706ca5b", "scanner": "scanner-primary", "fingerprint": "82529f321dbe0823", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c3272d13f1bed734", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (src/app/api/auditoria/auditor-senior/analisar/route.ts:440)"}, "properties": {"repobilityId": "3202fb508b4328ca", "scanner": "scanner-primary", "fingerprint": "c3272d13f1bed734", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-842c282fcaab68fd", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/atendimentos?${params} (src/app/(dashboard)/sac-colaborador/page.tsx:101)"}, "properties": {"repobilityId": "461f3427588f643b", "scanner": "scanner-primary", "fingerprint": "842c282fcaab68fd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f3e5686cb23fed4e", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/me (src/app/(dashboard)/sac-colaborador/page.tsx:102)"}, "properties": {"repobilityId": "dab367884d834c0e", "scanner": "scanner-primary", "fingerprint": "f3e5686cb23fed4e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0aab35aaabad1145", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/atendimentos?${params} (src/app/(dashboard)/sac-colaborador/page.tsx:126)"}, "properties": {"repobilityId": "6ffff10a794e1ffb", "scanner": "scanner-primary", "fingerprint": "0aab35aaabad1145", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e55cbb7b2e430e15", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/operacoes/search?q=${encodeURIComponent(q)} (src/app/(dashboard)/sac-colaborador/novo/page.tsx:72)"}, "properties": {"repobilityId": "9c923926a45cdf7b", "scanner": "scanner-primary", "fingerprint": "e55cbb7b2e430e15", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b572d2d17646da7b", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/atendimentos (src/app/(dashboard)/sac-colaborador/novo/page.tsx:106)"}, "properties": {"repobilityId": "004af21136b8f021", "scanner": "scanner-primary", "fingerprint": "b572d2d17646da7b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a79733bb672eda73", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/atendimentos?${params} (src/app/(dashboard)/sac-colaborador/relatorios/RelatorioColaboradoresClient.tsx:93)"}, "properties": {"repobilityId": "2b549fa363b2a827", "scanner": "scanner-primary", "fingerprint": "a79733bb672eda73", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9be850d24873a79e", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/atendimentos/${id}/anexos (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:150)"}, "properties": {"repobilityId": "532360391459705b", "scanner": "scanner-primary", "fingerprint": "9be850d24873a79e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5f03c6b65c6a8168", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/atendimentos/${id}/mobichat/mensagens (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:158)"}, "properties": {"repobilityId": "5521b2c1c0a22b2a", "scanner": "scanner-primary", "fingerprint": "5f03c6b65c6a8168", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-136083522eb07819", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/atendimentos/${id} (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:179)"}, "properties": {"repobilityId": "5e02f95d9b2b5f6e", "scanner": "scanner-primary", "fingerprint": "136083522eb07819", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8e902d7b2bd3d560", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:180)"}, "properties": {"repobilityId": "b5cd597d69c58946", "scanner": "scanner-primary", "fingerprint": "8e902d7b2bd3d560", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-81373194b6a8ebd0", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/me (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:181)"}, "properties": {"repobilityId": "0a741ee0e1830500", "scanner": "scanner-primary", "fingerprint": "81373194b6a8ebd0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-802404fa0db22105", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/atendimentos/${id} (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:211)"}, "properties": {"repobilityId": "072fd5ed2ed85de1", "scanner": "scanner-primary", "fingerprint": "802404fa0db22105", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dd9dc824f7c9f6ae", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${id} (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:277)"}, "properties": {"repobilityId": "0945687b3b188162", "scanner": "scanner-primary", "fingerprint": "dd9dc824f7c9f6ae", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9d7ea96c29dd9a27", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${id}/status (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:292)"}, "properties": {"repobilityId": "60300fe127a067e4", "scanner": "scanner-primary", "fingerprint": "9d7ea96c29dd9a27", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c1aa5ee2bf11e77a", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/atendimentos/${id}/cancelar (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:305)"}, "properties": {"repobilityId": "63daa9be76e2201b", "scanner": "scanner-primary", "fingerprint": "c1aa5ee2bf11e77a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-94407173f682cad6", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/atendimentos/${id}/movimentacoes (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:320)"}, "properties": {"repobilityId": "97ff8c4b965e2894", "scanner": "scanner-primary", "fingerprint": "94407173f682cad6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-180cd908784ee216", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/atendimentos/${id}/export/pdf (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:335)"}, "properties": {"repobilityId": "3bacca80425bb2f0", "scanner": "scanner-primary", "fingerprint": "180cd908784ee216", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-486f901347930e67", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/atendimentos/${id} (src/app/(dashboard)/sac-colaborador/[id]/page.tsx:364)"}, "properties": {"repobilityId": "b7abccc571233535", "scanner": "scanner-primary", "fingerprint": "486f901347930e67", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1852ecac1d1d8751", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/natureza-prioridade/page.tsx:32)"}, "properties": {"repobilityId": "730e33022419f1da", "scanner": "scanner-primary", "fingerprint": "1852ecac1d1d8751", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-61ed5fcfb2e8d04e", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/natureza-prioridade/page.tsx:60)"}, "properties": {"repobilityId": "d53251d4aed613c5", "scanner": "scanner-primary", "fingerprint": "61ed5fcfb2e8d04e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-496cf890999eb4cd", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/tipos-config (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:106)"}, "properties": {"repobilityId": "05925d7d1dd6d860", "scanner": "scanner-primary", "fingerprint": "496cf890999eb4cd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-47fc6880f9b27722", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/tipos-config/${form.codigo} (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:111)"}, "properties": {"repobilityId": "05668a578b6c49d2", "scanner": "scanner-primary", "fingerprint": "47fc6880f9b27722", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c06e70cb1cb0a852", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:249)"}, "properties": {"repobilityId": "094fdf95240f19ea", "scanner": "scanner-primary", "fingerprint": "c06e70cb1cb0a852", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-38e1d7854b494d9c", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:254)"}, "properties": {"repobilityId": "9255496815e8df86", "scanner": "scanner-primary", "fingerprint": "38e1d7854b494d9c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dfec5c9cb80b7381", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/tipos-config (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:474)"}, "properties": {"repobilityId": "f10c00f26e1ec061", "scanner": "scanner-primary", "fingerprint": "dfec5c9cb80b7381", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6d08e0e9bfefb79f", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:485)"}, "properties": {"repobilityId": "b1a8ae7a8ae83d22", "scanner": "scanner-primary", "fingerprint": "6d08e0e9bfefb79f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ae3f9ae94e3c54d1", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/natureza-prioridade (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:518)"}, "properties": {"repobilityId": "4d0334dd5999d7a7", "scanner": "scanner-primary", "fingerprint": "ae3f9ae94e3c54d1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a1b2fdc5b3aace7b", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/tipos-config/${tipo.codigo} (src/app/(dashboard)/sac-colaborador/admin/tipos-naturezas/page.tsx:535)"}, "properties": {"repobilityId": "5c79bf320df69188", "scanner": "scanner-primary", "fingerprint": "a1b2fdc5b3aace7b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-82f03db8b8fd4c11", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/admin/usuarios (src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:68)"}, "properties": {"repobilityId": "2db4c8826aece22d", "scanner": "scanner-primary", "fingerprint": "82f03db8b8fd4c11", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7c05a833564c191d", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/admin/usuarios/search?q=${encodeURIComponent(userQuery)} (src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:85)"}, "properties": {"repobilityId": "6d4b787223119f59", "scanner": "scanner-primary", "fingerprint": "7c05a833564c191d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f15fc6795078ed7c", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/admin/usuarios (src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:110)"}, "properties": {"repobilityId": "66e734e266cd3ef9", "scanner": "scanner-primary", "fingerprint": "f15fc6795078ed7c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-386f25d680fb6151", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/sac/admin/usuarios/${confirm.userId}?perfil=${confirm.perfil} (src/app/(dashboard)/sac-colaborador/admin/usuarios/page.tsx:128)"}, "properties": {"repobilityId": "169f349e47d6d920", "scanner": "scanner-primary", "fingerprint": "386f25d680fb6151", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6fd0f8e263da9649", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/feriados (src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:55)"}, "properties": {"repobilityId": "34cfcfb7ac8c2e6e", "scanner": "scanner-primary", "fingerprint": "6fd0f8e263da9649", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7d249443459bb04a", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/feriados (src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:86)"}, "properties": {"repobilityId": "bebac2a1f38b4116", "scanner": "scanner-primary", "fingerprint": "7d249443459bb04a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-cb2fdbdbbd82ca91", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/sac/feriados/${id} (src/app/(dashboard)/sac-colaborador/admin/feriados/page.tsx:103)"}, "properties": {"repobilityId": "28231bf525a94843", "scanner": "scanner-primary", "fingerprint": "cb2fdbdbbd82ca91", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b058fcbe2a520b20", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/ai/monitor (src/app/(dashboard)/sac-colaborador/admin/ia-analise/page.tsx:236)"}, "properties": {"repobilityId": "6da0bd4ff7e370ac", "scanner": "scanner-primary", "fingerprint": "b058fcbe2a520b20", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f7f221da1561c328", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/ai/monitor (src/app/(dashboard)/sac-colaborador/admin/ia-analise/page.tsx:248)"}, "properties": {"repobilityId": "21e41d2af469cf90", "scanner": "scanner-primary", "fingerprint": "f7f221da1561c328", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a8219a74c9fa4583", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/ai/monitor (src/app/(dashboard)/sac-colaborador/admin/ia-analise/page.tsx:264)"}, "properties": {"repobilityId": "e19e6588e2d4a34d", "scanner": "scanner-primary", "fingerprint": "a8219a74c9fa4583", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5b250493cda0f87b", "level": "error", "message": {"text": "Dangling fetch: GET /api/sac/demandas (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:62)"}, "properties": {"repobilityId": "ed5d48ff61f247a1", "scanner": "scanner-primary", "fingerprint": "5b250493cda0f87b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-45f48654c4fc7ef9", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/demandas/${id} (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:83)"}, "properties": {"repobilityId": "b29f0dba0cfba51e", "scanner": "scanner-primary", "fingerprint": "45f48654c4fc7ef9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3f5304dd95c0aa7e", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/sac/demandas/${d.id} (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:101)"}, "properties": {"repobilityId": "6362e9135f3ea323", "scanner": "scanner-primary", "fingerprint": "3f5304dd95c0aa7e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b6427f5ab2ef2f0e", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/sac/demandas/${d.id} (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:112)"}, "properties": {"repobilityId": "52d73615c12e138f", "scanner": "scanner-primary", "fingerprint": "b6427f5ab2ef2f0e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b3584348c3758924", "level": "error", "message": {"text": "Dangling fetch: POST /api/sac/demandas (src/app/(dashboard)/sac-colaborador/admin/demandas/page.tsx:125)"}, "properties": {"repobilityId": "86172515f772a6dc", "scanner": "scanner-primary", "fingerprint": "b3584348c3758924", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b5414a92e035a0c1", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/stats (src/app/(dashboard)/central-solicitacoes/page.tsx:49)"}, "properties": {"repobilityId": "5500117b06b47a23", "scanner": "scanner-primary", "fingerprint": "b5414a92e035a0c1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a1f917a99f674594", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/page.tsx:50)"}, "properties": {"repobilityId": "0ef3c2b494b58227", "scanner": "scanner-primary", "fingerprint": "a1f917a99f674594", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ed7b9f031fff60ee", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/minha-nota (src/app/(dashboard)/central-solicitacoes/page.tsx:51)"}, "properties": {"repobilityId": "bb7107ba9d38bfec", "scanner": "scanner-primary", "fingerprint": "ed7b9f031fff60ee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f932ef457c922aed", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/perfis-dashboard (src/app/(dashboard)/central-solicitacoes/page.tsx:52)"}, "properties": {"repobilityId": "cb959deb1c878e45", "scanner": "scanner-primary", "fingerprint": "f932ef457c922aed", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d5b1325447b42667", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/layout.tsx:64)"}, "properties": {"repobilityId": "0475d8d6da84fc79", "scanner": "scanner-primary", "fingerprint": "d5b1325447b42667", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bfe2503ca394f2c7", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/layout.tsx:70)"}, "properties": {"repobilityId": "50f4e0862d18e59a", "scanner": "scanner-primary", "fingerprint": "bfe2503ca394f2c7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-71f66654717f6119", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:57)"}, "properties": {"repobilityId": "86c40082ac279c44", "scanner": "scanner-primary", "fingerprint": "71f66654717f6119", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dda94edd15fb93d8", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:58)"}, "properties": {"repobilityId": "b67e43e05d452fb1", "scanner": "scanner-primary", "fingerprint": "dda94edd15fb93d8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ccfeb5b10c61dc14", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:59)"}, "properties": {"repobilityId": "7fe86d9f2bd79447", "scanner": "scanner-primary", "fingerprint": "ccfeb5b10c61dc14", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3c4ee4cb96d53684", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/relatorios?${params} (src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:90)"}, "properties": {"repobilityId": "5b3d89eb0ea433c1", "scanner": "scanner-primary", "fingerprint": "3c4ee4cb96d53684", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-73152b3bcbf4981e", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/relatorios/excel?${params} (src/app/(dashboard)/central-solicitacoes/relatorios/page.tsx:118)"}, "properties": {"repobilityId": "0f8fa65246562455", "scanner": "scanner-primary", "fingerprint": "73152b3bcbf4981e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e3db9e76514a528b", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes?minhas=true&limit=100 (src/app/(dashboard)/central-solicitacoes/minhas/page.tsx:18)"}, "properties": {"repobilityId": "d406bba92cee9559", "scanner": "scanner-primary", "fingerprint": "e3db9e76514a528b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2c3911ea429d99b0", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:406)"}, "properties": {"repobilityId": "785886fbb6576444", "scanner": "scanner-primary", "fingerprint": "2c3911ea429d99b0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1d3249a863f97683", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/${id}/interacoes (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:407)"}, "properties": {"repobilityId": "080065b3b8806b9b", "scanner": "scanner-primary", "fingerprint": "1d3249a863f97683", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-931fa3ede0bcbc69", "level": "error", "message": {"text": "Dangling fetch: GET /api/usuarios (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:436)"}, "properties": {"repobilityId": "cdaea1a93d9be524", "scanner": "scanner-primary", "fingerprint": "931fa3ede0bcbc69", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3a235d288271aa3c", "level": "error", "message": {"text": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:449)"}, "properties": {"repobilityId": "5c5f69f28b68cad7", "scanner": "scanner-primary", "fingerprint": "3a235d288271aa3c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0058147a72fd2c16", "level": "error", "message": {"text": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:519)"}, "properties": {"repobilityId": "e809082438cff5fb", "scanner": "scanner-primary", "fingerprint": "0058147a72fd2c16", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1d1b235dfdd2ed76", "level": "error", "message": {"text": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:539)"}, "properties": {"repobilityId": "1bfdea2aea2d0999", "scanner": "scanner-primary", "fingerprint": "1d1b235dfdd2ed76", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c5e2448b0a77aedb", "level": "error", "message": {"text": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:562)"}, "properties": {"repobilityId": "90288dc25fe79260", "scanner": "scanner-primary", "fingerprint": "c5e2448b0a77aedb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3201780f94b519d2", "level": "error", "message": {"text": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:576)"}, "properties": {"repobilityId": "382d5f34448f6b1e", "scanner": "scanner-primary", "fingerprint": "3201780f94b519d2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a4830b90f82207aa", "level": "error", "message": {"text": "Dangling fetch: PUT /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:588)"}, "properties": {"repobilityId": "8b1a83623b962be4", "scanner": "scanner-primary", "fingerprint": "a4830b90f82207aa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5ba06861f91fa27d", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/${id}/aprovacao (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:605)"}, "properties": {"repobilityId": "1225d62a6bb126a4", "scanner": "scanner-primary", "fingerprint": "5ba06861f91fa27d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9d5152be0d8c5fb5", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/central-solicitacoes/${id}/itens (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:631)"}, "properties": {"repobilityId": "a8e29a96c91599d2", "scanner": "scanner-primary", "fingerprint": "9d5152be0d8c5fb5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c29164848c94d380", "level": "error", "message": {"text": "Dangling fetch: GET /api/kanban/quadros (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:670)"}, "properties": {"repobilityId": "48fe3e4576438359", "scanner": "scanner-primary", "fingerprint": "c29164848c94d380", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6797257018109841", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/tarefas (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:689)"}, "properties": {"repobilityId": "0903ec45d92d6a95", "scanner": "scanner-primary", "fingerprint": "6797257018109841", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ccf14bab83a6fede", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/${id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:713)"}, "properties": {"repobilityId": "78a06fbf798327d0", "scanner": "scanner-primary", "fingerprint": "ccf14bab83a6fede", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e39eb31db6ae6f74", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/${id}/interacoes/${commentToDelete.id} (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:733)"}, "properties": {"repobilityId": "a51d80762d7b5cfa", "scanner": "scanner-primary", "fingerprint": "e39eb31db6ae6f74", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d87b190f7ce96245", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/upload (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:794)"}, "properties": {"repobilityId": "8cd751061ed82e63", "scanner": "scanner-primary", "fingerprint": "d87b190f7ce96245", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f6fd156e126df8b3", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/${id}/interacoes (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:819)"}, "properties": {"repobilityId": "37c4f1439c9b2fad", "scanner": "scanner-primary", "fingerprint": "f6fd156e126df8b3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-31a9adebaf902d05", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/${id}/interacoes (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:856)"}, "properties": {"repobilityId": "2340fe4e0ac407ae", "scanner": "scanner-primary", "fingerprint": "31a9adebaf902d05", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4138b8a3763b6a35", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/${id}/ai-resumo (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:3045)"}, "properties": {"repobilityId": "9712ad562cd540a8", "scanner": "scanner-primary", "fingerprint": "4138b8a3763b6a35", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ed7e2e39b88fb5f4", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/${id}/ai-resumo (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:3090)"}, "properties": {"repobilityId": "66c60255a18b24ff", "scanner": "scanner-primary", "fingerprint": "ed7e2e39b88fb5f4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7572440076965dfd", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/${id}/ai-assistente (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:3181)"}, "properties": {"repobilityId": "00394fe18f3bd175", "scanner": "scanner-primary", "fingerprint": "7572440076965dfd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6dc7b8eb5342dac9", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/${id}/ai-assistente (src/app/(dashboard)/central-solicitacoes/[id]/page.tsx:3266)"}, "properties": {"repobilityId": "36ffb1dbd92469a4", "scanner": "scanner-primary", "fingerprint": "6dc7b8eb5342dac9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-209153413a142b88", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:135)"}, "properties": {"repobilityId": "d4bea6f892e20a5f", "scanner": "scanner-primary", "fingerprint": "209153413a142b88", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-15eedd1d41ffe53e", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/pendente-avaliacao (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:136)"}, "properties": {"repobilityId": "247c40ad25731492", "scanner": "scanner-primary", "fingerprint": "15eedd1d41ffe53e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5491355ca7594f95", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:137)"}, "properties": {"repobilityId": "31d83a2646193764", "scanner": "scanner-primary", "fingerprint": "5491355ca7594f95", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-361892ea788d0b66", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:219)"}, "properties": {"repobilityId": "0b5e7e22debd55c5", "scanner": "scanner-primary", "fingerprint": "361892ea788d0b66", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b11961222a502a1b", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/me/supervisores (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:224)"}, "properties": {"repobilityId": "84763428189c9a0c", "scanner": "scanner-primary", "fingerprint": "b11961222a502a1b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f38ed00872d2e07f", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/operacoes (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:245)"}, "properties": {"repobilityId": "14607154415340e9", "scanner": "scanner-primary", "fingerprint": "f38ed00872d2e07f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c4ef73cebd54ad50", "level": "error", "message": {"text": "Dangling fetch: GET /api/estoque/locais?operacao_id=${operacaoIdValue} (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:276)"}, "properties": {"repobilityId": "975f290aacfa88b2", "scanner": "scanner-primary", "fingerprint": "c4ef73cebd54ad50", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a0c98b3ed8b561ca", "level": "error", "message": {"text": "Dangling fetch: GET /api/estoque/itens?subcategoria_id=${selectedSubcatId}&ativo=true (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:300)"}, "properties": {"repobilityId": "cef156db662f1591", "scanner": "scanner-primary", "fingerprint": "a0c98b3ed8b561ca", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f0a993627e0e3e4b", "level": "error", "message": {"text": "Dangling fetch: GET /api/estoque/disponibilidade?${params} (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:316)"}, "properties": {"repobilityId": "685f8af81ba7cffc", "scanner": "scanner-primary", "fingerprint": "f0a993627e0e3e4b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7cad287e9c3d2304", "level": "error", "message": {"text": "Dangling fetch: GET /api/estoque/locais (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:385)"}, "properties": {"repobilityId": "0ae7420e64f8dece", "scanner": "scanner-primary", "fingerprint": "7cad287e9c3d2304", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1fa83a65a8f20e4e", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/ai-validar (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:466)"}, "properties": {"repobilityId": "2da1f977de0aebff", "scanner": "scanner-primary", "fingerprint": "1fa83a65a8f20e4e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e77354c63a7c5497", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:582)"}, "properties": {"repobilityId": "cf4d261c87112111", "scanner": "scanner-primary", "fingerprint": "e77354c63a7c5497", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fa8699f3fed3b0be", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/ai-suggest/upload (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:643)"}, "properties": {"repobilityId": "186cf3497ccba811", "scanner": "scanner-primary", "fingerprint": "fa8699f3fed3b0be", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-091758c611d562d4", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/ai-suggest/upload (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:701)"}, "properties": {"repobilityId": "f9e99c317984da28", "scanner": "scanner-primary", "fingerprint": "091758c611d562d4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-805dca9ebbaf4bcf", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/ai-suggest (src/app/(dashboard)/central-solicitacoes/nova/page.tsx:746)"}, "properties": {"repobilityId": "abe18952974342f7", "scanner": "scanner-primary", "fingerprint": "805dca9ebbaf4bcf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e48095833d4d0254", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/metricas?inicio=${periodo.inicio}&fim=${periodo.fim} (src/app/(dashboard)/central-solicitacoes/indicadores/page.tsx:25)"}, "properties": {"repobilityId": "3e44eb302ea93fe1", "scanner": "scanner-primary", "fingerprint": "e48095833d4d0254", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f4aca5540247be4c", "level": "error", "message": {"text": "Dangling fetch: GET /central-solicitacoes/${sol.id} (src/app/(dashboard)/central-solicitacoes/finalizadas/page.tsx:76)"}, "properties": {"repobilityId": "e61ae831d5c5e6cf", "scanner": "scanner-primary", "fingerprint": "f4aca5540247be4c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-142c8dbec6025e62", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/${sol.id} (src/app/(dashboard)/central-solicitacoes/finalizadas/page.tsx:77)"}, "properties": {"repobilityId": "867d4192d4e1a50a", "scanner": "scanner-primary", "fingerprint": "142c8dbec6025e62", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0487c850a905d93d", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes?${params} (src/app/(dashboard)/central-solicitacoes/finalizadas/page.tsx:158)"}, "properties": {"repobilityId": "1cd3f33648a18ec7", "scanner": "scanner-primary", "fingerprint": "0487c850a905d93d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4f197dfebcc92b3a", "level": "error", "message": {"text": "Dangling fetch: GET /central-solicitacoes/${sol.id} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:168)"}, "properties": {"repobilityId": "d53a8945bad1a68b", "scanner": "scanner-primary", "fingerprint": "4f197dfebcc92b3a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c1a565ae917fd65e", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/${sol.id} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:169)"}, "properties": {"repobilityId": "b59f2b246c540abc", "scanner": "scanner-primary", "fingerprint": "c1a565ae917fd65e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a4313347470d1b53", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes?${params} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:446)"}, "properties": {"repobilityId": "ae1a53d6426f9a0d", "scanner": "scanner-primary", "fingerprint": "a4313347470d1b53", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-563d6aa7c8fe6673", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:461)"}, "properties": {"repobilityId": "6a30213b7b0acff5", "scanner": "scanner-primary", "fingerprint": "563d6aa7c8fe6673", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c8ff82b6866e6a11", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/opcoes-filtro (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:463)"}, "properties": {"repobilityId": "e2964653cc31235b", "scanner": "scanner-primary", "fingerprint": "c8ff82b6866e6a11", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b2533c11325528f6", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes?${params} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:486)"}, "properties": {"repobilityId": "cbf60f5c3c4557f6", "scanner": "scanner-primary", "fingerprint": "b2533c11325528f6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1db170b7dcf8bce6", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/export?${params} (src/app/(dashboard)/central-solicitacoes/todas/page.tsx:563)"}, "properties": {"repobilityId": "537b991c9164d3bc", "scanner": "scanner-primary", "fingerprint": "1db170b7dcf8bce6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9bdec9dc9359c63b", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/configuracoes/page.tsx:77)"}, "properties": {"repobilityId": "8cadc36e503b30d8", "scanner": "scanner-primary", "fingerprint": "9bdec9dc9359c63b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9d30788b345d3861", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/configuracoes/page.tsx:78)"}, "properties": {"repobilityId": "f2ea97a2c81ed193", "scanner": "scanner-primary", "fingerprint": "9d30788b345d3861", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f64024b9205ff56c", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:77)"}, "properties": {"repobilityId": "63a65343b53768e8", "scanner": "scanner-primary", "fingerprint": "f64024b9205ff56c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f55e8517dcd4fc6d", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/aprovacoes/stats (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:78)"}, "properties": {"repobilityId": "12de72cffe495ed4", "scanner": "scanner-primary", "fingerprint": "f55e8517dcd4fc6d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-52a1cdfc38414534", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/config?include_inactive=true (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:79)"}, "properties": {"repobilityId": "3b0db65f0312577e", "scanner": "scanner-primary", "fingerprint": "52a1cdfc38414534", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ffbe71a2511b9c19", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/equipes (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:80)"}, "properties": {"repobilityId": "cb4c4d46d5d15fc6", "scanner": "scanner-primary", "fingerprint": "ffbe71a2511b9c19", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fb332a1c57cb82ac", "level": "error", "message": {"text": "Dangling fetch: GET /api/usuarios (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:81)"}, "properties": {"repobilityId": "12c9f070516f72a4", "scanner": "scanner-primary", "fingerprint": "fb332a1c57cb82ac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ae6b50d2c940e363", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/admin/manager (src/app/(dashboard)/central-solicitacoes/configuracoes/aprovacoes/page.tsx:123)"}, "properties": {"repobilityId": "d83c85b67ac40296", "scanner": "scanner-primary", "fingerprint": "ae6b50d2c940e363", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5660027273c60f73", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/equipes (src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:23)"}, "properties": {"repobilityId": "f486b045704d10c4", "scanner": "scanner-primary", "fingerprint": "5660027273c60f73", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-eb3b04d5682f1dee", "level": "error", "message": {"text": "Dangling fetch: GET /api/usuarios (src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:24)"}, "properties": {"repobilityId": "0c77d938c23f2193", "scanner": "scanner-primary", "fingerprint": "eb3b04d5682f1dee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2553ebfa2bb3a5bb", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:25)"}, "properties": {"repobilityId": "088ce5a9b21f900f", "scanner": "scanner-primary", "fingerprint": "2553ebfa2bb3a5bb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b41472e0c3e7d3e6", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/admin/equipes (src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:57)"}, "properties": {"repobilityId": "300619804445f108", "scanner": "scanner-primary", "fingerprint": "b41472e0c3e7d3e6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-286f6c0f6d451822", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/admin/equipes?id=${confirmRemove.id} (src/app/(dashboard)/central-solicitacoes/configuracoes/equipes/page.tsx:87)"}, "properties": {"repobilityId": "42c1600aa9e18b8c", "scanner": "scanner-primary", "fingerprint": "286f6c0f6d451822", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b4a072d707110f42", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/status (src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:129)"}, "properties": {"repobilityId": "b94acd437600eaf5", "scanner": "scanner-primary", "fingerprint": "b4a072d707110f42", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0aecd0bf39833e9f", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/departamentos (src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:130)"}, "properties": {"repobilityId": "6d240d54e8ea12e6", "scanner": "scanner-primary", "fingerprint": "0aecd0bf39833e9f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7b200a5321618a1a", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/status (src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:190)"}, "properties": {"repobilityId": "e1d8f7cf5cdb8a5e", "scanner": "scanner-primary", "fingerprint": "7b200a5321618a1a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9180a2cbfbcc20bb", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/status?id=${confirmDelete.id} (src/app/(dashboard)/central-solicitacoes/configuracoes/status/page.tsx:223)"}, "properties": {"repobilityId": "47250eed909c9272", "scanner": "scanner-primary", "fingerprint": "9180a2cbfbcc20bb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-47f922b8d976aa95", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/departamentos (src/app/(dashboard)/central-solicitacoes/configuracoes/departamentos/page.tsx:105)"}, "properties": {"repobilityId": "060c1084e0ab7c9b", "scanner": "scanner-primary", "fingerprint": "47f922b8d976aa95", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ca6c5e34ff1043a1", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/departamentos (src/app/(dashboard)/central-solicitacoes/configuracoes/departamentos/page.tsx:159)"}, "properties": {"repobilityId": "9ca140df6bcf8051", "scanner": "scanner-primary", "fingerprint": "ca6c5e34ff1043a1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2b611c567da001a6", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/departamentos?id=${confirmDelete.id} (src/app/(dashboard)/central-solicitacoes/configuracoes/departamentos/page.tsx:192)"}, "properties": {"repobilityId": "ed4439de03cb82de", "scanner": "scanner-primary", "fingerprint": "2b611c567da001a6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1665cfd4371ff6ef", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/config?include_inactive=true (src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:84)"}, "properties": {"repobilityId": "9a4b6508033cc2e0", "scanner": "scanner-primary", "fingerprint": "1665cfd4371ff6ef", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f12eefc8fb898c85", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/me/atendente-deptos (src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:85)"}, "properties": {"repobilityId": "c20e974e6d159a2e", "scanner": "scanner-primary", "fingerprint": "f12eefc8fb898c85", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2102594b7172165c", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:86)"}, "properties": {"repobilityId": "8191b88e87dc022d", "scanner": "scanner-primary", "fingerprint": "2102594b7172165c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-56d46c07e850d474", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/admin/manager (src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:240)"}, "properties": {"repobilityId": "9e5a412a2c56040c", "scanner": "scanner-primary", "fingerprint": "56d46c07e850d474", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8daa308d81b0efc9", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/admin/manager (src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:266)"}, "properties": {"repobilityId": "37c67732a1116635", "scanner": "scanner-primary", "fingerprint": "8daa308d81b0efc9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dadb7eb5dee9dcb4", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/admin/manager (src/app/(dashboard)/central-solicitacoes/configuracoes/categorias/page.tsx:296)"}, "properties": {"repobilityId": "22a2cae9da114db5", "scanner": "scanner-primary", "fingerprint": "dadb7eb5dee9dcb4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0de4de8e9faa4421", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/perfis-dashboard (src/app/(dashboard)/central-solicitacoes/configuracoes/perfis/page.tsx:93)"}, "properties": {"repobilityId": "c37f657fed19cd4a", "scanner": "scanner-primary", "fingerprint": "0de4de8e9faa4421", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-21e8214b1a6211c4", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/admin/equipes (src/app/(dashboard)/central-solicitacoes/configuracoes/perfis/page.tsx:94)"}, "properties": {"repobilityId": "3625da20bc2d4423", "scanner": "scanner-primary", "fingerprint": "21e8214b1a6211c4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-034f48c0d0893c74", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/central-solicitacoes/configuracoes/perfis/page.tsx:95)"}, "properties": {"repobilityId": "f14884963190b23f", "scanner": "scanner-primary", "fingerprint": "034f48c0d0893c74", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5716e7fe5edeff76", "level": "error", "message": {"text": "Dangling fetch: PUT /api/central-solicitacoes/admin/perfis-dashboard (src/app/(dashboard)/central-solicitacoes/configuracoes/perfis/page.tsx:134)"}, "properties": {"repobilityId": "0906009a002d40ff", "scanner": "scanner-primary", "fingerprint": "5716e7fe5edeff76", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0648b1c3dabcb10d", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/avisos/${confirmDelete.id} (src/app/(dashboard)/mural-avisos/MuralAvisosPageClient.tsx:73)"}, "properties": {"repobilityId": "8cf9693b44ecf491", "scanner": "scanner-primary", "fingerprint": "0648b1c3dabcb10d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3d9189918faeafec", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/${item.id}/read (src/app/(dashboard)/notificacoes/page.tsx:116)"}, "properties": {"repobilityId": "70dab924768d47c6", "scanner": "scanner-primary", "fingerprint": "3d9189918faeafec", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9ba6d0c40c24cb47", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/read-all (src/app/(dashboard)/notificacoes/page.tsx:128)"}, "properties": {"repobilityId": "25812023329d22e6", "scanner": "scanner-primary", "fingerprint": "9ba6d0c40c24cb47", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ca7e49321b6ff97e", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications/preferences (src/app/(dashboard)/notificacoes/preferencias/page.tsx:189)"}, "properties": {"repobilityId": "1cfe4de05e1951c0", "scanner": "scanner-primary", "fingerprint": "ca7e49321b6ff97e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-154f0e05d0e5d02d", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications/recipients (src/app/(dashboard)/notificacoes/preferencias/page.tsx:190)"}, "properties": {"repobilityId": "c164e8c9a3f847ff", "scanner": "scanner-primary", "fingerprint": "154f0e05d0e5d02d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-019d884065aefb3b", "level": "error", "message": {"text": "Dangling fetch: PUT /api/notifications/preferences (src/app/(dashboard)/notificacoes/preferencias/page.tsx:250)"}, "properties": {"repobilityId": "c3c32c3781d8932c", "scanner": "scanner-primary", "fingerprint": "019d884065aefb3b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-489bdb0d6941d0dc", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/usuarios/me/notificacoes (src/app/(dashboard)/perfil/WhatsAppToggle.tsx:22)"}, "properties": {"repobilityId": "2c1c523277bb8b99", "scanner": "scanner-primary", "fingerprint": "489bdb0d6941d0dc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-48f74588d2fae548", "level": "error", "message": {"text": "Dangling fetch: POST /api/perfil/avatar (src/app/(dashboard)/perfil/AvatarUploader.tsx:58)"}, "properties": {"repobilityId": "aeb86ab3cf8f5407", "scanner": "scanner-primary", "fingerprint": "48f74588d2fae548", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3e52b0ef163ba81b", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/perfil/avatar (src/app/(dashboard)/perfil/AvatarUploader.tsx:79)"}, "properties": {"repobilityId": "5f146b2cd03387e7", "scanner": "scanner-primary", "fingerprint": "3e52b0ef163ba81b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a6c8dd3201e563b5", "level": "error", "message": {"text": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/operacoes/page.tsx:14)"}, "properties": {"repobilityId": "c4f3f7ac3c37ce82", "scanner": "scanner-primary", "fingerprint": "a6c8dd3201e563b5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bf58880fa0897b82", "level": "error", "message": {"text": "Dangling fetch: GET https://api.bigdatacloud.net/data/reverse-geocode-client?latitude=${latitude}&longitude=${longitude}&localityLanguage=pt (src/app/(dashboard)/dashboard/WeatherCard.tsx:174)"}, "properties": {"repobilityId": "df166e4932258b5a", "scanner": "scanner-primary", "fingerprint": "bf58880fa0897b82", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-006af451df733d41", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/avisos/${confirmDelete.id} (src/app/(dashboard)/dashboard/MuralAvisos.tsx:79)"}, "properties": {"repobilityId": "eaf379f21796c89d", "scanner": "scanner-primary", "fingerprint": "006af451df733d41", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2445ef9032cb616c", "level": "error", "message": {"text": "Dangling fetch: POST /api/contas-fixas/fornecedores (src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:49)"}, "properties": {"repobilityId": "d9af38ed968cf485", "scanner": "scanner-primary", "fingerprint": "2445ef9032cb616c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b3b738934505086f", "level": "error", "message": {"text": "Dangling fetch: PUT /api/contas-fixas/fornecedores/${id} (src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:79)"}, "properties": {"repobilityId": "40c2a9831379c763", "scanner": "scanner-primary", "fingerprint": "b3b738934505086f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ba19b996847fd186", "level": "error", "message": {"text": "Dangling fetch: PUT /api/contas-fixas/fornecedores/${f.id} (src/app/(dashboard)/admin/contas-fixas/fornecedores/page.tsx:92)"}, "properties": {"repobilityId": "766370fd240fef98", "scanner": "scanner-primary", "fingerprint": "ba19b996847fd186", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a424260056f84fdf", "level": "error", "message": {"text": "Dangling fetch: POST /api/contas-fixas/faturas/${id}/pagar (src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:110)"}, "properties": {"repobilityId": "23251831039a6c73", "scanner": "scanner-primary", "fingerprint": "a424260056f84fdf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-51dd942d8a6d4e00", "level": "error", "message": {"text": "Dangling fetch: POST /api/contas-fixas/faturas/${id}/cancelar (src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:133)"}, "properties": {"repobilityId": "ee7f8cdb8cd1515a", "scanner": "scanner-primary", "fingerprint": "51dd942d8a6d4e00", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-cb7814dd38d649ac", "level": "error", "message": {"text": "Dangling fetch: POST /api/contas-fixas/faturas/${id}/anexos (src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:153)"}, "properties": {"repobilityId": "fe0bedf244f025b0", "scanner": "scanner-primary", "fingerprint": "cb7814dd38d649ac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3f2b530ad389154d", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/contas-fixas/faturas/${id}/anexos/${aid} (src/app/(dashboard)/admin/contas-fixas/faturas/[id]/page.tsx:184)"}, "properties": {"repobilityId": "b2988a42db95a765", "scanner": "scanner-primary", "fingerprint": "3f2b530ad389154d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-27c262180d47b389", "level": "error", "message": {"text": "Dangling fetch: POST /api/contas-fixas/faturas/${faturaId}/anexos (src/app/(dashboard)/admin/contas-fixas/faturas/nova/page.tsx:100)"}, "properties": {"repobilityId": "15898e49f67e6ecc", "scanner": "scanner-primary", "fingerprint": "27c262180d47b389", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ca36fa9e3f109962", "level": "error", "message": {"text": "Dangling fetch: POST /api/contas-fixas/faturas (src/app/(dashboard)/admin/contas-fixas/faturas/nova/page.tsx:134)"}, "properties": {"repobilityId": "74e2b4d0dde7b8ae", "scanner": "scanner-primary", "fingerprint": "ca36fa9e3f109962", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b78b33aab3ee3941", "level": "error", "message": {"text": "Dangling fetch: POST /api/contas-fixas/cnpjs (src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:49)"}, "properties": {"repobilityId": "7cdde14ea1abd107", "scanner": "scanner-primary", "fingerprint": "b78b33aab3ee3941", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dd53338649e70ccc", "level": "error", "message": {"text": "Dangling fetch: PUT /api/contas-fixas/cnpjs/${c.id} (src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:79)"}, "properties": {"repobilityId": "9579a7bb7cee2aa7", "scanner": "scanner-primary", "fingerprint": "dd53338649e70ccc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9030f96a614d580d", "level": "error", "message": {"text": "Dangling fetch: PUT /api/contas-fixas/cnpjs/${c.id} (src/app/(dashboard)/admin/contas-fixas/cnpjs/page.tsx:92)"}, "properties": {"repobilityId": "99c84329fc263b11", "scanner": "scanner-primary", "fingerprint": "9030f96a614d580d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-20537f07ae33ae4d", "level": "error", "message": {"text": "Dangling fetch: POST /api/contas-fixas/contratos (src/app/(dashboard)/admin/contas-fixas/contratos/novo/page.tsx:76)"}, "properties": {"repobilityId": "10ef7805e0871f41", "scanner": "scanner-primary", "fingerprint": "20537f07ae33ae4d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dba3788b9200969f", "level": "error", "message": {"text": "Dangling fetch: PUT /api/contas-fixas/contratos/${id} (src/app/(dashboard)/admin/contas-fixas/contratos/[id]/editar/page.tsx:91)"}, "properties": {"repobilityId": "7230904649d35ff3", "scanner": "scanner-primary", "fingerprint": "dba3788b9200969f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a61a9a68a9fadc5e", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/contas-fixas/contratos/${id} (src/app/(dashboard)/admin/contas-fixas/contratos/[id]/editar/page.tsx:114)"}, "properties": {"repobilityId": "787fc4902c1ce6f6", "scanner": "scanner-primary", "fingerprint": "a61a9a68a9fadc5e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-473be22b87b08777", "level": "error", "message": {"text": "Dangling fetch: POST /api/contas-fixas/faturas/${faturaId}/anexos (src/app/(dashboard)/admin/contas-fixas/faturas-tef/nova/page.tsx:90)"}, "properties": {"repobilityId": "309078923fb23895", "scanner": "scanner-primary", "fingerprint": "473be22b87b08777", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-334dbd240d33a14e", "level": "error", "message": {"text": "Dangling fetch: POST /api/contas-fixas/faturas (src/app/(dashboard)/admin/contas-fixas/faturas-tef/nova/page.tsx:111)"}, "properties": {"repobilityId": "3d989dd36e0133e7", "scanner": "scanner-primary", "fingerprint": "334dbd240d33a14e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8371a3d1d7ac04d9", "level": "error", "message": {"text": "Dangling fetch: POST /api/contas-fixas/contratos (src/app/(dashboard)/admin/contas-fixas/contratos-tef/novo/page.tsx:75)"}, "properties": {"repobilityId": "c55785f03bf1f43c", "scanner": "scanner-primary", "fingerprint": "8371a3d1d7ac04d9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b672eb8e6e01d15b", "level": "error", "message": {"text": "Dangling fetch: POST /api/portal/clientes (src/app/(dashboard)/admin/portal-clientes/novo/page.tsx:142)"}, "properties": {"repobilityId": "9011658e603c1617", "scanner": "scanner-primary", "fingerprint": "b672eb8e6e01d15b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-97d3771c9103d37e", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/portal/clientes/${id} (src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:108)"}, "properties": {"repobilityId": "bbf683308449c530", "scanner": "scanner-primary", "fingerprint": "97d3771c9103d37e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-325161b2314e062f", "level": "error", "message": {"text": "Dangling fetch: PUT /api/portal/clientes/${id}/operacoes (src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:116)"}, "properties": {"repobilityId": "080bb1eb7fb7f5df", "scanner": "scanner-primary", "fingerprint": "325161b2314e062f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d0075694970e4dde", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/portal/clientes/${id} (src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:131)"}, "properties": {"repobilityId": "dc34df53ffe62c36", "scanner": "scanner-primary", "fingerprint": "d0075694970e4dde", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f8b6f25557cd2153", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/portal/clientes/${id} (src/app/(dashboard)/admin/portal-clientes/[id]/page.tsx:140)"}, "properties": {"repobilityId": "87ece4289eac2f16", "scanner": "scanner-primary", "fingerprint": "f8b6f25557cd2153", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2dd192522912d096", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications/admin/event-types (src/app/(dashboard)/admin/notificacoes/page.tsx:34)"}, "properties": {"repobilityId": "4911f40cf6ed274b", "scanner": "scanner-primary", "fingerprint": "2dd192522912d096", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b291d2c05cb7f5c3", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications/admin/deliveries?status=failed&page=0 (src/app/(dashboard)/admin/notificacoes/page.tsx:35)"}, "properties": {"repobilityId": "3751c4c4cb1a8f98", "scanner": "scanner-primary", "fingerprint": "b291d2c05cb7f5c3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a93f691d4f643b6a", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/notificacoes-log?status=falha,pulado,enviado&desde=${sinceStr}T00:00:00.000Z&ate=${todayStr}T23:59:59.000Z&limit=500 (src/app/(dashboard)/admin/notificacoes/page.tsx:36)"}, "properties": {"repobilityId": "1435bd01d0c2e53a", "scanner": "scanner-primary", "fingerprint": "a93f691d4f643b6a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c0ee09d8e8bae78a", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications/admin/event-types (src/app/(dashboard)/admin/notificacoes/eventos/page.tsx:94)"}, "properties": {"repobilityId": "cbc23d7a67a32962", "scanner": "scanner-primary", "fingerprint": "c0ee09d8e8bae78a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b561cb2ec94c29bc", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/admin/event-types/${id} (src/app/(dashboard)/admin/notificacoes/eventos/page.tsx:130)"}, "properties": {"repobilityId": "1592ebd5692416c6", "scanner": "scanner-primary", "fingerprint": "b561cb2ec94c29bc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ab756b90050a7085", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/admin/event-types/${eventId} (src/app/(dashboard)/admin/notificacoes/eventos/page.tsx:149)"}, "properties": {"repobilityId": "1bbaa435281e8c87", "scanner": "scanner-primary", "fingerprint": "ab756b90050a7085", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2bf2d22480fbe1ea", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/admin/event-types/${eventId} (src/app/(dashboard)/admin/notificacoes/eventos/page.tsx:177)"}, "properties": {"repobilityId": "b0928a6d37289a25", "scanner": "scanner-primary", "fingerprint": "2bf2d22480fbe1ea", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e5aea5b844fd5bd1", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications/admin/templates (src/app/(dashboard)/admin/notificacoes/templates/page.tsx:75)"}, "properties": {"repobilityId": "704f152cb9ba2da1", "scanner": "scanner-primary", "fingerprint": "e5aea5b844fd5bd1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-07efabfc41fa385a", "level": "error", "message": {"text": "Dangling fetch: PUT /api/notifications/admin/templates (src/app/(dashboard)/admin/notificacoes/templates/page.tsx:157)"}, "properties": {"repobilityId": "8dd2d2a0ece4b371", "scanner": "scanner-primary", "fingerprint": "07efabfc41fa385a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-26bf2ebb90a40790", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications/admin/email-audit?days=${days} (src/app/(dashboard)/admin/notificacoes/auditoria-email/page.tsx:45)"}, "properties": {"repobilityId": "d5e206ce9bf4b741", "scanner": "scanner-primary", "fingerprint": "26bf2ebb90a40790", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f44f2080a18c2b7a", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/notificacoes-config (src/app/(dashboard)/admin/notificacoes/canais/page.tsx:75)"}, "properties": {"repobilityId": "dd1f4c53a026c8da", "scanner": "scanner-primary", "fingerprint": "f44f2080a18c2b7a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b640defb230a0d18", "level": "error", "message": {"text": "Dangling fetch: PUT /api/central-solicitacoes/notificacoes-config (src/app/(dashboard)/admin/notificacoes/canais/page.tsx:168)"}, "properties": {"repobilityId": "74571699db78884b", "scanner": "scanner-primary", "fingerprint": "b640defb230a0d18", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-737bc784e4164b1c", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/notificacoes-templates (src/app/(dashboard)/admin/notificacoes/canais/page.tsx:197)"}, "properties": {"repobilityId": "3ccef10837188d24", "scanner": "scanner-primary", "fingerprint": "737bc784e4164b1c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bbe856446732858d", "level": "error", "message": {"text": "Dangling fetch: PUT /api/central-solicitacoes/notificacoes-templates (src/app/(dashboard)/admin/notificacoes/canais/page.tsx:235)"}, "properties": {"repobilityId": "7a5d916a9f208fd7", "scanner": "scanner-primary", "fingerprint": "bbe856446732858d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-42f1554ef905f1bd", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/central-solicitacoes/notificacoes-templates?evento=${selEvento} (src/app/(dashboard)/admin/notificacoes/canais/page.tsx:253)"}, "properties": {"repobilityId": "f7909756317f3b36", "scanner": "scanner-primary", "fingerprint": "42f1554ef905f1bd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4d721254ff7e096c", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications/admin/recipients (src/app/(dashboard)/admin/notificacoes/destinatarios/page.tsx:74)"}, "properties": {"repobilityId": "2d143ae715694443", "scanner": "scanner-primary", "fingerprint": "4d721254ff7e096c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-653930645b75c821", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications/admin/deliveries?${p} (src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:110)"}, "properties": {"repobilityId": "d18df903d2260dce", "scanner": "scanner-primary", "fingerprint": "653930645b75c821", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f29ee6584fee55a0", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/notificacoes-log?${p} (src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:132)"}, "properties": {"repobilityId": "7f98eb6834929bf1", "scanner": "scanner-primary", "fingerprint": "f29ee6584fee55a0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-12d2010495a749f6", "level": "error", "message": {"text": "Dangling fetch: POST /api/notifications/admin/deliveries/${id}/retry (src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:160)"}, "properties": {"repobilityId": "4503507209111796", "scanner": "scanner-primary", "fingerprint": "12d2010495a749f6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b7bdc1bea7851018", "level": "error", "message": {"text": "Dangling fetch: POST /api/central-solicitacoes/notificacoes-log/${id}/reenviar (src/app/(dashboard)/admin/notificacoes/entregas/page.tsx:185)"}, "properties": {"repobilityId": "29a38ba6d68203e2", "scanner": "scanner-primary", "fingerprint": "b7bdc1bea7851018", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-aec51eb14d755d6b", "level": "error", "message": {"text": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/admin/operacoes/page.tsx:91)"}, "properties": {"repobilityId": "7ab90b07d2171f04", "scanner": "scanner-primary", "fingerprint": "aec51eb14d755d6b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d2471d114b79d5fb", "level": "error", "message": {"text": "Dangling fetch: GET /api/usuarios?perfil=supervisor (src/app/(dashboard)/admin/operacoes/page.tsx:92)"}, "properties": {"repobilityId": "3c5c8628b1499c82", "scanner": "scanner-primary", "fingerprint": "d2471d114b79d5fb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b20ae5387cb942f0", "level": "error", "message": {"text": "Dangling fetch: GET /api/usuarios?perfil=gerente_operacoes (src/app/(dashboard)/admin/operacoes/page.tsx:93)"}, "properties": {"repobilityId": "da8b90ede48ade39", "scanner": "scanner-primary", "fingerprint": "b20ae5387cb942f0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-13602b45a3cd9997", "level": "error", "message": {"text": "Dangling fetch: GET /api/automacoes (src/app/(dashboard)/admin/operacoes/page.tsx:94)"}, "properties": {"repobilityId": "c041bad4b6c03e10", "scanner": "scanner-primary", "fingerprint": "13602b45a3cd9997", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-cc7287735538c8cc", "level": "error", "message": {"text": "Dangling fetch: GET /api/faturamento/templates (src/app/(dashboard)/admin/operacoes/page.tsx:95)"}, "properties": {"repobilityId": "53b08992eacda2b7", "scanner": "scanner-primary", "fingerprint": "cc7287735538c8cc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ce7c6f4293cfbbd6", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/admin/operacoes/page.tsx:96)"}, "properties": {"repobilityId": "9d1730745720af97", "scanner": "scanner-primary", "fingerprint": "ce7c6f4293cfbbd6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5877d10dfec6ad53", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/operacoes/${op.id} (src/app/(dashboard)/admin/operacoes/page.tsx:243)"}, "properties": {"repobilityId": "14966c13a0d18216", "scanner": "scanner-primary", "fingerprint": "5877d10dfec6ad53", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0f524b5b362ea5f8", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/operacoes/${editando.id} (src/app/(dashboard)/admin/operacoes/page.tsx:256)"}, "properties": {"repobilityId": "b06e68faafb26d42", "scanner": "scanner-primary", "fingerprint": "0f524b5b362ea5f8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8860ec7ba480025e", "level": "error", "message": {"text": "Dangling fetch: PUT /api/kanban/quadros/${editando.id} (src/app/(dashboard)/admin/kanban/page.tsx:67)"}, "properties": {"repobilityId": "0ae6bc546a8848a9", "scanner": "scanner-primary", "fingerprint": "8860ec7ba480025e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4a938ce18825e8be", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/quadros (src/app/(dashboard)/admin/kanban/page.tsx:78)"}, "properties": {"repobilityId": "1bb919a4adbed10b", "scanner": "scanner-primary", "fingerprint": "4a938ce18825e8be", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2a8ae895eb32cc6d", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/kanban/quadros/${quadro.id} (src/app/(dashboard)/admin/kanban/page.tsx:104)"}, "properties": {"repobilityId": "af5e15104acb2bab", "scanner": "scanner-primary", "fingerprint": "2a8ae895eb32cc6d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6f29f76980d8b5c4", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/kanban/quadros/${boardId}/reordenar (src/app/(dashboard)/admin/kanban/[id]/page.tsx:524)"}, "properties": {"repobilityId": "2900ba842952db53", "scanner": "scanner-primary", "fingerprint": "6f29f76980d8b5c4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c3fedcb4d219d7d2", "level": "error", "message": {"text": "Dangling fetch: PUT /api/kanban/tarefas/${activeId} (src/app/(dashboard)/admin/kanban/[id]/page.tsx:538)"}, "properties": {"repobilityId": "1cfe5782593b41e8", "scanner": "scanner-primary", "fingerprint": "c3fedcb4d219d7d2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ff6ed4f5972a0395", "level": "error", "message": {"text": "Dangling fetch: PUT /api/kanban/tarefas/${activeId} (src/app/(dashboard)/admin/kanban/[id]/page.tsx:545)"}, "properties": {"repobilityId": "03b54a4c3c987256", "scanner": "scanner-primary", "fingerprint": "ff6ed4f5972a0395", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-08182b611fba2862", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/tarefas (src/app/(dashboard)/admin/kanban/[id]/page.tsx:552)"}, "properties": {"repobilityId": "539422c0ae37761f", "scanner": "scanner-primary", "fingerprint": "08182b611fba2862", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-99f635b90ff28f57", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/quadros/${boardId}/colunas (src/app/(dashboard)/admin/kanban/[id]/page.tsx:589)"}, "properties": {"repobilityId": "9ff9cd9ea1e01e11", "scanner": "scanner-primary", "fingerprint": "99f635b90ff28f57", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5c3d27e9d57eb2e9", "level": "error", "message": {"text": "Dangling fetch: PUT /api/kanban/colunas/${renomearColuna.id} (src/app/(dashboard)/admin/kanban/[id]/page.tsx:603)"}, "properties": {"repobilityId": "221f2cab1d36d7f5", "scanner": "scanner-primary", "fingerprint": "5c3d27e9d57eb2e9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ee5d1b04cb71aa70", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/kanban/colunas/${colunaId} (src/app/(dashboard)/admin/kanban/[id]/page.tsx:617)"}, "properties": {"repobilityId": "a70090fa31a469cf", "scanner": "scanner-primary", "fingerprint": "ee5d1b04cb71aa70", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f1e0f8dd3537f29d", "level": "error", "message": {"text": "Dangling fetch: PUT /api/kanban/checklists/${cl.id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:190)"}, "properties": {"repobilityId": "7d38ccefb23b5e16", "scanner": "scanner-primary", "fingerprint": "f1e0f8dd3537f29d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-75addaf3954ad711", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/kanban/checklists/${cl.id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:203)"}, "properties": {"repobilityId": "99795100055710df", "scanner": "scanner-primary", "fingerprint": "75addaf3954ad711", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2e42f86c58a6c38b", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/checklists/${clId}/itens (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:216)"}, "properties": {"repobilityId": "5d10386e3d24f09d", "scanner": "scanner-primary", "fingerprint": "2e42f86c58a6c38b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5c5d0a4e77a66e52", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/kanban/checklist/${item.id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:241)"}, "properties": {"repobilityId": "ae469a848a9676e9", "scanner": "scanner-primary", "fingerprint": "5c5d0a4e77a66e52", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-97ec3ef221b4fd91", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/kanban/checklist/${itemId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:250)"}, "properties": {"repobilityId": "15ab9b3791e4bc0a", "scanner": "scanner-primary", "fingerprint": "97ec3ef221b4fd91", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-20bc11a37ddf7257", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/checklists/${cl.id}/save-as-template (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:258)"}, "properties": {"repobilityId": "fe846e6038263238", "scanner": "scanner-primary", "fingerprint": "20bc11a37ddf7257", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ec14c89892c9a3bc", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/checklists/from-template (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:273)"}, "properties": {"repobilityId": "60d5aa2c47d4bdb6", "scanner": "scanner-primary", "fingerprint": "ec14c89892c9a3bc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b79dfa2543f91d0d", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/checklists (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:552)"}, "properties": {"repobilityId": "8e8dbb63d4f616ef", "scanner": "scanner-primary", "fingerprint": "b79dfa2543f91d0d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0ff7e06af2d733e1", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/anexos (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:626)"}, "properties": {"repobilityId": "24bc768210b43cd8", "scanner": "scanner-primary", "fingerprint": "0ff7e06af2d733e1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f6440060d4d61463", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/kanban/anexos/${id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:635)"}, "properties": {"repobilityId": "5b65781b04ea81ea", "scanner": "scanner-primary", "fingerprint": "f6440060d4d61463", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6683e0e663e0b4ec", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/links (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:644)"}, "properties": {"repobilityId": "ed65187e1a9e0384", "scanner": "scanner-primary", "fingerprint": "6683e0e663e0b4ec", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-13f17c998a15b648", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/kanban/links/${id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:658)"}, "properties": {"repobilityId": "9d0c1eef69500efb", "scanner": "scanner-primary", "fingerprint": "13f17c998a15b648", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-64468765b8a639fa", "level": "error", "message": {"text": "Dangling fetch: PUT /api/kanban/tarefas/${tarefaId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1019)"}, "properties": {"repobilityId": "161f3a832ccc0ff1", "scanner": "scanner-primary", "fingerprint": "64468765b8a639fa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ed4e98b3abee72bf", "level": "error", "message": {"text": "Dangling fetch: PUT /api/kanban/tarefas/${tarefaId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1032)"}, "properties": {"repobilityId": "54fde61b8cfd9e1b", "scanner": "scanner-primary", "fingerprint": "ed4e98b3abee72bf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b58c91920cb8c41a", "level": "error", "message": {"text": "Dangling fetch: PUT /api/kanban/tarefas/${tarefaId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1043)"}, "properties": {"repobilityId": "20953b907816c3f2", "scanner": "scanner-primary", "fingerprint": "b58c91920cb8c41a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1e3c37e58f73c242", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/upload (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1068)"}, "properties": {"repobilityId": "53021ee79fed3e49", "scanner": "scanner-primary", "fingerprint": "1e3c37e58f73c242", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-311be2fcacd0e2c2", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/comentarios (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1075)"}, "properties": {"repobilityId": "565854daba27a772", "scanner": "scanner-primary", "fingerprint": "311be2fcacd0e2c2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1008e8208b1389f4", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/kanban/comentarios/${id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1088)"}, "properties": {"repobilityId": "0e0e9b06b158e368", "scanner": "scanner-primary", "fingerprint": "1008e8208b1389f4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-26a0cca9d27dc9a9", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/kanban/tarefas/${tarefaId}/tags/${tag.id} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1096)"}, "properties": {"repobilityId": "264f27834f7ae0bc", "scanner": "scanner-primary", "fingerprint": "26a0cca9d27dc9a9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-be3620359eea0e39", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/tarefas/${tarefaId}/tags (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1098)"}, "properties": {"repobilityId": "63283981f3fd972f", "scanner": "scanner-primary", "fingerprint": "be3620359eea0e39", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6b161700b13544d6", "level": "error", "message": {"text": "Dangling fetch: POST /api/kanban/tags (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1108)"}, "properties": {"repobilityId": "890346aa97e48be9", "scanner": "scanner-primary", "fingerprint": "6b161700b13544d6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-20c88a0bfa905211", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/kanban/tarefas/${tarefaId} (src/app/(dashboard)/admin/kanban/[id]/TaskDetailPanel.tsx:1122)"}, "properties": {"repobilityId": "ef22cd1363961d5b", "scanner": "scanner-primary", "fingerprint": "20c88a0bfa905211", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fe19b65a711b2a25", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/page.tsx:50)"}, "properties": {"repobilityId": "8f2c9a2313d6a126", "scanner": "scanner-primary", "fingerprint": "fe19b65a711b2a25", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-071d651785087a3f", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/patio/operadores (src/app/(dashboard)/admin/patio/page.tsx:51)"}, "properties": {"repobilityId": "cbfbdb3aa2f23736", "scanner": "scanner-primary", "fingerprint": "071d651785087a3f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-85d1b3dd7a6b508e", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/patio/tarifas (src/app/(dashboard)/admin/patio/page.tsx:52)"}, "properties": {"repobilityId": "a98da0175914e0a9", "scanner": "scanner-primary", "fingerprint": "85d1b3dd7a6b508e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0a111e821288641d", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/layout.tsx:58)"}, "properties": {"repobilityId": "175445690157ee1d", "scanner": "scanner-primary", "fingerprint": "0a111e821288641d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c6c69175e215942b", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/patio/config (src/app/(dashboard)/admin/patio/config/page.tsx:173)"}, "properties": {"repobilityId": "5c813066e66bfc85", "scanner": "scanner-primary", "fingerprint": "c6c69175e215942b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-298967f9ce8f2a39", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/patio/dispositivos (src/app/(dashboard)/admin/patio/config/page.tsx:182)"}, "properties": {"repobilityId": "26f51d72e0f1aaf8", "scanner": "scanner-primary", "fingerprint": "298967f9ce8f2a39", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-91e65c142eae1bbe", "level": "error", "message": {"text": "Dangling fetch: POST /api/admin/patio/config (src/app/(dashboard)/admin/patio/config/page.tsx:214)"}, "properties": {"repobilityId": "863845cd7efc3ca3", "scanner": "scanner-primary", "fingerprint": "91e65c142eae1bbe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-524a331656bfce29", "level": "error", "message": {"text": "Dangling fetch: POST /api/admin/patio/config (src/app/(dashboard)/admin/patio/config/page.tsx:241)"}, "properties": {"repobilityId": "a971511e9e9a1313", "scanner": "scanner-primary", "fingerprint": "524a331656bfce29", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ea63c0be3d1fa39d", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/admin/patio/dispositivos/${editandoDisp.id} (src/app/(dashboard)/admin/patio/config/page.tsx:278)"}, "properties": {"repobilityId": "98d0ccb0f8ca6c05", "scanner": "scanner-primary", "fingerprint": "ea63c0be3d1fa39d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-58c62f94a7e593e4", "level": "error", "message": {"text": "Dangling fetch: POST /api/admin/patio/dispositivos (src/app/(dashboard)/admin/patio/config/page.tsx:283)"}, "properties": {"repobilityId": "0d3445a687fd959d", "scanner": "scanner-primary", "fingerprint": "58c62f94a7e593e4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-085ee44196cb7eba", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/admin/patio/dispositivos/${d.id} (src/app/(dashboard)/admin/patio/config/page.tsx:299)"}, "properties": {"repobilityId": "5ddbb824366a900d", "scanner": "scanner-primary", "fingerprint": "085ee44196cb7eba", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-13c4b25fb0c87145", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/admin/patio/dispositivos/${d.id} (src/app/(dashboard)/admin/patio/config/page.tsx:312)"}, "properties": {"repobilityId": "a232faed0858bbc1", "scanner": "scanner-primary", "fingerprint": "13c4b25fb0c87145", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b88ed4bd55bbb080", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/pagamentos/page.tsx:66)"}, "properties": {"repobilityId": "eb3228b4cac03926", "scanner": "scanner-primary", "fingerprint": "b88ed4bd55bbb080", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-384e88ef94f2e1d6", "level": "error", "message": {"text": "Dangling fetch: POST /api/admin/patio/config (src/app/(dashboard)/admin/patio/pagamentos/page.tsx:110)"}, "properties": {"repobilityId": "79af0d82238d8d55", "scanner": "scanner-primary", "fingerprint": "384e88ef94f2e1d6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f825071b70e403d8", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/tarifas/page.tsx:110)"}, "properties": {"repobilityId": "d8fd0f9fe7a30ef3", "scanner": "scanner-primary", "fingerprint": "f825071b70e403d8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a4620b82d2ac2fdc", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/admin/patio/tarifas/${t.id} (src/app/(dashboard)/admin/patio/tarifas/page.tsx:185)"}, "properties": {"repobilityId": "1933ff91a4ad9eb9", "scanner": "scanner-primary", "fingerprint": "a4620b82d2ac2fdc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-48a09d061cc1e8a7", "level": "error", "message": {"text": "Dangling fetch: PUT /api/admin/patio/tarifas/${t.id} (src/app/(dashboard)/admin/patio/tarifas/page.tsx:187)"}, "properties": {"repobilityId": "90eb05c4a98e5618", "scanner": "scanner-primary", "fingerprint": "48a09d061cc1e8a7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-cdf247c8d39184f9", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/patio/resultados?${p.toString()} (src/app/(dashboard)/admin/patio/financeiro/page.tsx:105)"}, "properties": {"repobilityId": "3e031cf719ef2be6", "scanner": "scanner-primary", "fingerprint": "cdf247c8d39184f9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b1c063dbe6d5c6b1", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/patio/caixas?${p.toString()} (src/app/(dashboard)/admin/patio/financeiro/page.tsx:112)"}, "properties": {"repobilityId": "cd339f81ad5cc0ac", "scanner": "scanner-primary", "fingerprint": "b1c063dbe6d5c6b1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-71a97d52e063b12e", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/patio/caixas/${id} (src/app/(dashboard)/admin/patio/financeiro/page.tsx:132)"}, "properties": {"repobilityId": "1a7219b505b5eba4", "scanner": "scanner-primary", "fingerprint": "71a97d52e063b12e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-09603e93d19e2708", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/patio/config?ativos=true (src/app/(dashboard)/admin/patio/operadores/page.tsx:60)"}, "properties": {"repobilityId": "bc7f407abac9f392", "scanner": "scanner-primary", "fingerprint": "09603e93d19e2708", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0396898d03ab984d", "level": "error", "message": {"text": "Dangling fetch: PUT /api/admin/patio/operadores/${op.id} (src/app/(dashboard)/admin/patio/operadores/page.tsx:130)"}, "properties": {"repobilityId": "f6c2507453b24032", "scanner": "scanner-primary", "fingerprint": "0396898d03ab984d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-53269e7c46699d2f", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/patio/tickets?${p.toString()} (src/app/(dashboard)/admin/patio/operacao/page.tsx:79)"}, "properties": {"repobilityId": "9ff629ef6c783c10", "scanner": "scanner-primary", "fingerprint": "53269e7c46699d2f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dcf639bf55c790dc", "level": "error", "message": {"text": "Dangling fetch: POST /api/patrimonio (src/app/(dashboard)/admin/patrimonio/novo/page.tsx:185)"}, "properties": {"repobilityId": "9869087708d01187", "scanner": "scanner-primary", "fingerprint": "dcf639bf55c790dc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a8257fa2a274e45f", "level": "error", "message": {"text": "Dangling fetch: POST /api/patrimonio/${patrimonioId}/anexos (src/app/(dashboard)/admin/patrimonio/novo/page.tsx:212)"}, "properties": {"repobilityId": "dc367c6767155710", "scanner": "scanner-primary", "fingerprint": "a8257fa2a274e45f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f9454a72b70fe932", "level": "error", "message": {"text": "Dangling fetch: POST /api/patrimonio/${patrimonioId}/anexos (src/app/(dashboard)/admin/patrimonio/novo/page.tsx:220)"}, "properties": {"repobilityId": "44b9ef5d9ebb12bb", "scanner": "scanner-primary", "fingerprint": "f9454a72b70fe932", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-61150976351775f7", "level": "error", "message": {"text": "Dangling fetch: POST /api/patrimonio/${p.id}/reenviar-termo (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:164)"}, "properties": {"repobilityId": "7d4cba66d072a145", "scanner": "scanner-primary", "fingerprint": "61150976351775f7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c6534322d95ec226", "level": "error", "message": {"text": "Dangling fetch: POST /api/patrimonio/${p.id}/transferir (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:189)"}, "properties": {"repobilityId": "f03323004bd445a4", "scanner": "scanner-primary", "fingerprint": "c6534322d95ec226", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-507b71be23ace844", "level": "error", "message": {"text": "Dangling fetch: PUT /api/patrimonio/${p.id} (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:223)"}, "properties": {"repobilityId": "22e7cca407c22b60", "scanner": "scanner-primary", "fingerprint": "507b71be23ace844", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-19143d1b02d2cb52", "level": "error", "message": {"text": "Dangling fetch: POST /api/patrimonio/${p.id}/manutencoes (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:283)"}, "properties": {"repobilityId": "1228cd94f35050b2", "scanner": "scanner-primary", "fingerprint": "19143d1b02d2cb52", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-53f578ca2790c5f2", "level": "error", "message": {"text": "Dangling fetch: POST /api/patrimonio/${p.id}/vistorias (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:313)"}, "properties": {"repobilityId": "647563e751540d16", "scanner": "scanner-primary", "fingerprint": "53f578ca2790c5f2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3294993f56aab902", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/patrimonio/${p.id}/anexos?anexo_id=${confirmDeleteAnexoId} (src/app/(dashboard)/admin/patrimonio/[id]/page.tsx:411)"}, "properties": {"repobilityId": "eb7004c8923e224b", "scanner": "scanner-primary", "fingerprint": "3294993f56aab902", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-04262f8d11ec747f", "level": "error", "message": {"text": "Dangling fetch: POST /api/patrimonio/categorias (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:40)"}, "properties": {"repobilityId": "74ce4e512b0be68d", "scanner": "scanner-primary", "fingerprint": "04262f8d11ec747f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5e989699398636e6", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/patrimonio/categorias/${id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:52)"}, "properties": {"repobilityId": "ed8e66e2b58f4cb3", "scanner": "scanner-primary", "fingerprint": "5e989699398636e6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-839758dc2379578f", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/patrimonio/categorias/${id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:62)"}, "properties": {"repobilityId": "deebf688058c758c", "scanner": "scanner-primary", "fingerprint": "839758dc2379578f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9870ffc8b77db946", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/patrimonio/categorias/${id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:71)"}, "properties": {"repobilityId": "eeae8095e724308f", "scanner": "scanner-primary", "fingerprint": "9870ffc8b77db946", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-34e4933c78eb8b26", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/patrimonio/categorias/${confirmDeleteCat.id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:90)"}, "properties": {"repobilityId": "04d068dc99e4fbcc", "scanner": "scanner-primary", "fingerprint": "34e4933c78eb8b26", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-40c4e510fe6fc6f0", "level": "error", "message": {"text": "Dangling fetch: POST /api/patrimonio/status (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:114)"}, "properties": {"repobilityId": "41219ecc46e76be7", "scanner": "scanner-primary", "fingerprint": "40c4e510fe6fc6f0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-15f65197af785491", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/patrimonio/status/${editandoStatus.id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:126)"}, "properties": {"repobilityId": "fa1fdea959bc8735", "scanner": "scanner-primary", "fingerprint": "15f65197af785491", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fea820540ce7c6ba", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/patrimonio/status/${id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:136)"}, "properties": {"repobilityId": "0589a90ed2fce722", "scanner": "scanner-primary", "fingerprint": "fea820540ce7c6ba", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2d8ffb334d8c6ded", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/patrimonio/status/${confirmDeleteStatus.id} (src/app/(dashboard)/admin/patrimonio/categorias/page.tsx:155)"}, "properties": {"repobilityId": "717a13c7212f37af", "scanner": "scanner-primary", "fingerprint": "2d8ffb334d8c6ded", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-83bb06d05e2b26ce", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/patrimonio/alertas (src/app/(dashboard)/admin/patrimonio/alertas/page.tsx:17)"}, "properties": {"repobilityId": "cc110a27313c950d", "scanner": "scanner-primary", "fingerprint": "83bb06d05e2b26ce", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b87fcf4a49a06e0c", "level": "error", "message": {"text": "Dangling fetch: GET /api/usuarios?perfil=supervisor (src/app/(dashboard)/admin/supervisores/page.tsx:81)"}, "properties": {"repobilityId": "10b2ab61e36cd11f", "scanner": "scanner-primary", "fingerprint": "b87fcf4a49a06e0c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-93f4443baf76b641", "level": "error", "message": {"text": "Dangling fetch: GET /api/usuarios?perfil=gerente_operacoes (src/app/(dashboard)/admin/supervisores/page.tsx:82)"}, "properties": {"repobilityId": "e1fd2140cdbb399e", "scanner": "scanner-primary", "fingerprint": "93f4443baf76b641", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-73abf32c15e6091c", "level": "error", "message": {"text": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/admin/supervisores/page.tsx:83)"}, "properties": {"repobilityId": "1f3f185bb98fd4ef", "scanner": "scanner-primary", "fingerprint": "73abf32c15e6091c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a6e2076fbdc19003", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/usuarios/${supervisorId} (src/app/(dashboard)/admin/supervisores/page.tsx:138)"}, "properties": {"repobilityId": "4e6fdf4acd3d708b", "scanner": "scanner-primary", "fingerprint": "a6e2076fbdc19003", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-44953ec4f3b7387c", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/supervisores/${supervisorSelecionado.id}/operacoes (src/app/(dashboard)/admin/supervisores/page.tsx:190)"}, "properties": {"repobilityId": "06977e692d76955a", "scanner": "scanner-primary", "fingerprint": "44953ec4f3b7387c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d6369be7e688447b", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/supervisores/${supervisorSelecionado.id}/operacoes (src/app/(dashboard)/admin/supervisores/page.tsx:224)"}, "properties": {"repobilityId": "25e66aa1588407ce", "scanner": "scanner-primary", "fingerprint": "d6369be7e688447b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b6967f7797b79e5c", "level": "error", "message": {"text": "Dangling fetch: GET /api/operacoes?status=ativa (src/app/(dashboard)/admin/auditoria/auditor-senior/page.tsx:87)"}, "properties": {"repobilityId": "fd0d349eedd56210", "scanner": "scanner-primary", "fingerprint": "b6967f7797b79e5c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-15a243a7ba68c29d", "level": "error", "message": {"text": "Dangling fetch: POST /api/auditoria/auditor-senior/analisar (src/app/(dashboard)/admin/auditoria/auditor-senior/page.tsx:104)"}, "properties": {"repobilityId": "868910b9b144a78a", "scanner": "scanner-primary", "fingerprint": "15a243a7ba68c29d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7548255113c0be66", "level": "error", "message": {"text": "Dangling fetch: GET /api/operacoes?id=${id} (src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:45)"}, "properties": {"repobilityId": "023325c8c9217350", "scanner": "scanner-primary", "fingerprint": "7548255113c0be66", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-656dbaca398ffa3c", "level": "error", "message": {"text": "Dangling fetch: GET /api/faturamento/alertas?operacao_id=${id} (src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:46)"}, "properties": {"repobilityId": "26bb940d6f6ce8f8", "scanner": "scanner-primary", "fingerprint": "656dbaca398ffa3c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6db88386e26bf0e8", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/admin/auditoria/metas/operacao/[id]/page.tsx:47)"}, "properties": {"repobilityId": "2e3af952e63bbde2", "scanner": "scanner-primary", "fingerprint": "6db88386e26bf0e8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-93f0b2b30783ca41", "level": "error", "message": {"text": "Dangling fetch: GET /api/metas-faturamento/alertas/${id} (src/app/(dashboard)/admin/auditoria/metas/tratativa/[id]/page.tsx:80)"}, "properties": {"repobilityId": "49ace05170c0e0b7", "scanner": "scanner-primary", "fingerprint": "93f0b2b30783ca41", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3b3a01a936abe72a", "level": "error", "message": {"text": "Dangling fetch: GET /api/metas-faturamento/${dataAlert.meta_id} (src/app/(dashboard)/admin/auditoria/metas/tratativa/[id]/page.tsx:86)"}, "properties": {"repobilityId": "d347892076de9244", "scanner": "scanner-primary", "fingerprint": "3b3a01a936abe72a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-16aedfa1ff8d74fd", "level": "error", "message": {"text": "Dangling fetch: POST /api/metas-faturamento/alertas/${id}/tratativa (src/app/(dashboard)/admin/auditoria/metas/tratativa/[id]/page.tsx:110)"}, "properties": {"repobilityId": "c3d3da63acdc5fca", "scanner": "scanner-primary", "fingerprint": "16aedfa1ff8d74fd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-85e26ec3b3b0004d", "level": "error", "message": {"text": "Dangling fetch: GET /api/operacoes?status=ativa (src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:30)"}, "properties": {"repobilityId": "ac05a8b29deadf95", "scanner": "scanner-primary", "fingerprint": "85e26ec3b3b0004d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1fc84d999988690c", "level": "error", "message": {"text": "Dangling fetch: GET /api/faturamento/alertas (src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:31)"}, "properties": {"repobilityId": "bc5f53edce549657", "scanner": "scanner-primary", "fingerprint": "1fc84d999988690c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2ee143ee905390d4", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/profile (src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:32)"}, "properties": {"repobilityId": "02348358d7ac65a4", "scanner": "scanner-primary", "fingerprint": "2ee143ee905390d4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f7c9a760acf9ec84", "level": "error", "message": {"text": "Dangling fetch: GET /api/faturamento/alertas?mode=status (src/app/(dashboard)/admin/auditoria/faturamento/page.tsx:33)"}, "properties": {"repobilityId": "66d66573374cc9a3", "scanner": "scanner-primary", "fingerprint": "f7c9a760acf9ec84", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-167e218554fa64f9", "level": "error", "message": {"text": "Dangling fetch: GET /api/operacoes?id=${id} (src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:45)"}, "properties": {"repobilityId": "2eb6274f98968733", "scanner": "scanner-primary", "fingerprint": "167e218554fa64f9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-38647c9e8fabae63", "level": "error", "message": {"text": "Dangling fetch: GET /api/faturamento/alertas?operacao_id=${id} (src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:46)"}, "properties": {"repobilityId": "cd0b247a8905bcee", "scanner": "scanner-primary", "fingerprint": "38647c9e8fabae63", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3f40e65b2a3f50f5", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session (src/app/(dashboard)/admin/auditoria/faturamento/operacao/[id]/page.tsx:47)"}, "properties": {"repobilityId": "3dfebd407a156ee8", "scanner": "scanner-primary", "fingerprint": "3f40e65b2a3f50f5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8c270941fe079a7a", "level": "error", "message": {"text": "Dangling fetch: GET /api/metas-faturamento/alertas/${id} (src/app/(dashboard)/admin/auditoria/faturamento/tratativa/[id]/page.tsx:76)"}, "properties": {"repobilityId": "6a50d0d4bdd29070", "scanner": "scanner-primary", "fingerprint": "8c270941fe079a7a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b985b7414e886c03", "level": "error", "message": {"text": "Dangling fetch: GET /api/metas-faturamento/${dataAlert.meta_id} (src/app/(dashboard)/admin/auditoria/faturamento/tratativa/[id]/page.tsx:82)"}, "properties": {"repobilityId": "2ea732710bc81dea", "scanner": "scanner-primary", "fingerprint": "b985b7414e886c03", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e7e558931a39f7f3", "level": "error", "message": {"text": "Dangling fetch: POST /api/metas-faturamento/alertas/${id}/tratativa (src/app/(dashboard)/admin/auditoria/faturamento/tratativa/[id]/page.tsx:106)"}, "properties": {"repobilityId": "fbb20cd38e69b5f8", "scanner": "scanner-primary", "fingerprint": "e7e558931a39f7f3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-356923a61e798d59", "level": "error", "message": {"text": "Dangling fetch: POST /api/colaboradores (src/app/(dashboard)/admin/colaboradores/novo/page.tsx:44)"}, "properties": {"repobilityId": "35c79477bf722475", "scanner": "scanner-primary", "fingerprint": "356923a61e798d59", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a8260abc6f4a5452", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/colaboradores/${id} (src/app/(dashboard)/admin/colaboradores/[id]/page.tsx:40)"}, "properties": {"repobilityId": "c5e7aa063b4b9087", "scanner": "scanner-primary", "fingerprint": "a8260abc6f4a5452", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bd13e8114d52c4d8", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/colaboradores/${id}/operacoes/${vinculoId} (src/app/(dashboard)/admin/colaboradores/[id]/page.tsx:65)"}, "properties": {"repobilityId": "21cecd2b823297cc", "scanner": "scanner-primary", "fingerprint": "bd13e8114d52c4d8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-79c36b372ec278f3", "level": "error", "message": {"text": "Dangling fetch: POST /api/colaboradores/${id}/operacoes (src/app/(dashboard)/admin/colaboradores/[id]/page.tsx:82)"}, "properties": {"repobilityId": "695a98ffe50ac995", "scanner": "scanner-primary", "fingerprint": "79c36b372ec278f3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fb7053c295e5bc33", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/estoque/locais/${local.id} (src/app/(dashboard)/admin/estoque/locais/page.tsx:98)"}, "properties": {"repobilityId": "8c36027f06578cfb", "scanner": "scanner-primary", "fingerprint": "fb7053c295e5bc33", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-cc7c4cbd8fcaa32b", "level": "error", "message": {"text": "Dangling fetch: GET /api/estoque/locais/${localId}/operacoes (src/app/(dashboard)/admin/estoque/locais/page.tsx:113)"}, "properties": {"repobilityId": "e69568c01cc9ed8b", "scanner": "scanner-primary", "fingerprint": "cc7c4cbd8fcaa32b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9fd54be97f1b03ec", "level": "error", "message": {"text": "Dangling fetch: POST /api/estoque/locais/${vinculoLocalId}/operacoes (src/app/(dashboard)/admin/estoque/locais/page.tsx:129)"}, "properties": {"repobilityId": "5001700e3090141d", "scanner": "scanner-primary", "fingerprint": "9fd54be97f1b03ec", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c8d72e0425ccf602", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/estoque/locais/${vinculoLocalId}/operacoes (src/app/(dashboard)/admin/estoque/locais/page.tsx:149)"}, "properties": {"repobilityId": "a19ef0c1d272fec9", "scanner": "scanner-primary", "fingerprint": "c8d72e0425ccf602", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-08a5ae5347b04e67", "level": "error", "message": {"text": "Dangling fetch: POST /api/estoque/itens (src/app/(dashboard)/admin/estoque/itens/novo/page.tsx:85)"}, "properties": {"repobilityId": "7b049b8c5b2ca732", "scanner": "scanner-primary", "fingerprint": "08a5ae5347b04e67", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a6da22677d793e31", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/estoque/itens/${id} (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:116)"}, "properties": {"repobilityId": "c28eb0207d04ca6b", "scanner": "scanner-primary", "fingerprint": "a6da22677d793e31", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e1ec4203bf19283a", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/estoque/itens/${id} (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:133)"}, "properties": {"repobilityId": "ca8abc32b1f75ae7", "scanner": "scanner-primary", "fingerprint": "e1ec4203bf19283a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-eb065335ffb3fefe", "level": "error", "message": {"text": "Dangling fetch: POST /api/estoque/itens/${id}/variacoes (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:146)"}, "properties": {"repobilityId": "f88dd7f5a3ae7308", "scanner": "scanner-primary", "fingerprint": "eb065335ffb3fefe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b690f9575601e530", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/estoque/itens/${id}/variacoes (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:164)"}, "properties": {"repobilityId": "f3c3ea39988f29b9", "scanner": "scanner-primary", "fingerprint": "b690f9575601e530", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-932b7bfeb8c45617", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/estoque/itens/${id}/variacoes (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:174)"}, "properties": {"repobilityId": "69eb1caf4bb8be5c", "scanner": "scanner-primary", "fingerprint": "932b7bfeb8c45617", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f190b4f7999c4f10", "level": "error", "message": {"text": "Dangling fetch: POST /api/estoque/movimentacoes/entrada (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:198)"}, "properties": {"repobilityId": "b22c37ac8a19954b", "scanner": "scanner-primary", "fingerprint": "f190b4f7999c4f10", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-21b9982bb3d9fd17", "level": "error", "message": {"text": "Dangling fetch: POST /api/estoque/movimentacoes/saida (src/app/(dashboard)/admin/estoque/itens/[id]/page.tsx:235)"}, "properties": {"repobilityId": "9aa7773c90ef082d", "scanner": "scanner-primary", "fingerprint": "21b9982bb3d9fd17", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8010e4a01b34f316", "level": "error", "message": {"text": "Dangling fetch: GET /api/usuarios (src/app/(dashboard)/admin/usuarios/page.tsx:159)"}, "properties": {"repobilityId": "c9477c96dc094dba", "scanner": "scanner-primary", "fingerprint": "8010e4a01b34f316", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7c7962367b15dc0d", "level": "error", "message": {"text": "Dangling fetch: GET /api/usuarios?perfil=gerente_operacoes (src/app/(dashboard)/admin/usuarios/page.tsx:167)"}, "properties": {"repobilityId": "d442f49cd6250790", "scanner": "scanner-primary", "fingerprint": "7c7962367b15dc0d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9a62fd4b690e9bdf", "level": "error", "message": {"text": "Dangling fetch: GET /api/central-solicitacoes/config (src/app/(dashboard)/admin/usuarios/page.tsx:168)"}, "properties": {"repobilityId": "5f7fca70151314eb", "scanner": "scanner-primary", "fingerprint": "9a62fd4b690e9bdf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0ff1fea9853472a8", "level": "error", "message": {"text": "Dangling fetch: GET /api/colaboradores (src/app/(dashboard)/admin/usuarios/page.tsx:169)"}, "properties": {"repobilityId": "1b014d23077426bf", "scanner": "scanner-primary", "fingerprint": "0ff1fea9853472a8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-de33729f368de9e1", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/perfis (src/app/(dashboard)/admin/usuarios/page.tsx:187)"}, "properties": {"repobilityId": "c3a1e4553660a97b", "scanner": "scanner-primary", "fingerprint": "de33729f368de9e1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c7121d0e9a2aa7da", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/modulos (src/app/(dashboard)/admin/usuarios/page.tsx:188)"}, "properties": {"repobilityId": "3661f8adbdd844df", "scanner": "scanner-primary", "fingerprint": "c7121d0e9a2aa7da", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-18d4a006e16e95aa", "level": "error", "message": {"text": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/admin/usuarios/page.tsx:189)"}, "properties": {"repobilityId": "96273c97b5f1f4d5", "scanner": "scanner-primary", "fingerprint": "18d4a006e16e95aa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ba7cecdb904d4ac3", "level": "error", "message": {"text": "Dangling fetch: GET /api/permissoes?perfil=${perfilAtivo.identificador} (src/app/(dashboard)/admin/usuarios/page.tsx:214)"}, "properties": {"repobilityId": "0701be7dc6b7df59", "scanner": "scanner-primary", "fingerprint": "ba7cecdb904d4ac3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9efc287dde208e77", "level": "error", "message": {"text": "Dangling fetch: GET /api/permissoes?perfil=all (src/app/(dashboard)/admin/usuarios/page.tsx:226)"}, "properties": {"repobilityId": "6aad0419bfbadc35", "scanner": "scanner-primary", "fingerprint": "9efc287dde208e77", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8982b1526d208dff", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/usuarios-perfil?perfil=${perfilAtivo.identificador} (src/app/(dashboard)/admin/usuarios/page.tsx:229)"}, "properties": {"repobilityId": "2e08391f1374c1d8", "scanner": "scanner-primary", "fingerprint": "8982b1526d208dff", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-703fcf27174cc08a", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/usuarios/${usuario.id} (src/app/(dashboard)/admin/usuarios/page.tsx:277)"}, "properties": {"repobilityId": "8f42fe966046bc39", "scanner": "scanner-primary", "fingerprint": "703fcf27174cc08a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-217a2d8a971e2019", "level": "error", "message": {"text": "Dangling fetch: POST /api/permissoes (src/app/(dashboard)/admin/usuarios/page.tsx:291)"}, "properties": {"repobilityId": "b313094bb4df11c1", "scanner": "scanner-primary", "fingerprint": "217a2d8a971e2019", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2738761deb89e37b", "level": "error", "message": {"text": "Dangling fetch: POST /api/admin/perfis (src/app/(dashboard)/admin/usuarios/page.tsx:300)"}, "properties": {"repobilityId": "1ec6c3e7ceadb5fc", "scanner": "scanner-primary", "fingerprint": "2738761deb89e37b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6d70eccbc998d323", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/perfis (src/app/(dashboard)/admin/usuarios/page.tsx:304)"}, "properties": {"repobilityId": "73fd110a15bdbe30", "scanner": "scanner-primary", "fingerprint": "6d70eccbc998d323", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d958cbf243a07ddc", "level": "error", "message": {"text": "Dangling fetch: PUT /api/permissoes (src/app/(dashboard)/admin/usuarios/page.tsx:318)"}, "properties": {"repobilityId": "985fc120b94f2439", "scanner": "scanner-primary", "fingerprint": "d958cbf243a07ddc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a79c9fe9d3b9fe5a", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/admin/usuarios-perfil (src/app/(dashboard)/admin/usuarios/page.tsx:328)"}, "properties": {"repobilityId": "9a8a217e0d4950d8", "scanner": "scanner-primary", "fingerprint": "a79c9fe9d3b9fe5a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-526ff592bb8fcb23", "level": "error", "message": {"text": "Dangling fetch: GET /admin/faturamento-personal/${r.id} (src/app/(dashboard)/admin/faturamento-personal/page.tsx:710)"}, "properties": {"repobilityId": "97a22d65ab3587d4", "scanner": "scanner-primary", "fingerprint": "526ff592bb8fcb23", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b4c0d291e190073a", "level": "error", "message": {"text": "Dangling fetch: GET /api/faturamento-personal/${r.id} (src/app/(dashboard)/admin/faturamento-personal/page.tsx:711)"}, "properties": {"repobilityId": "3eab743fce06fb5f", "scanner": "scanner-primary", "fingerprint": "b4c0d291e190073a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-67620f07c6d16297", "level": "error", "message": {"text": "Dangling fetch: GET /api/integracoes/cloudpark/logs?${params} (src/app/(dashboard)/admin/tecnologia-ia/logs-cloudpark/page.tsx:45)"}, "properties": {"repobilityId": "f5f737bb3eb9b785", "scanner": "scanner-primary", "fingerprint": "67620f07c6d16297", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a2f97685fcd3e7bb", "level": "error", "message": {"text": "Dangling fetch: PUT /api/avisos/permissoes (src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/PermissoesMatriz.tsx:127)"}, "properties": {"repobilityId": "6b40c981c4306399", "scanner": "scanner-primary", "fingerprint": "a2f97685fcd3e7bb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-99a575a1d1351196", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/avisos/${confirmDelete.id} (src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/TecnologiaMuralAvisosClient.tsx:95)"}, "properties": {"repobilityId": "5ae21b8ec6965e7b", "scanner": "scanner-primary", "fingerprint": "99a575a1d1351196", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ec2e2f93650136d2", "level": "error", "message": {"text": "Dangling fetch: PUT /api/avisos/${confirmRestore.id} (src/app/(dashboard)/admin/tecnologia-ia/mural-avisos/TecnologiaMuralAvisosClient.tsx:112)"}, "properties": {"repobilityId": "070b758bf3feeed1", "scanner": "scanner-primary", "fingerprint": "ec2e2f93650136d2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8de11b984f140acc", "level": "error", "message": {"text": "Dangling fetch: GET /api/tecnologia-ia/chaves-tef (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:272)"}, "properties": {"repobilityId": "066470b84628f5c9", "scanner": "scanner-primary", "fingerprint": "8de11b984f140acc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9c78aac52c88e9ac", "level": "error", "message": {"text": "Dangling fetch: GET /api/operacoes (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:287)"}, "properties": {"repobilityId": "f0fded9ae3845cb2", "scanner": "scanner-primary", "fingerprint": "9c78aac52c88e9ac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a81301a3eeee28b4", "level": "error", "message": {"text": "Dangling fetch: GET /api/automacoes (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:302)"}, "properties": {"repobilityId": "7fa5309edf9c88a4", "scanner": "scanner-primary", "fingerprint": "a81301a3eeee28b4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e6602bc62312f56e", "level": "error", "message": {"text": "Dangling fetch: GET /api/tecnologia-ia/chaves-tef/${id}/historico (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:318)"}, "properties": {"repobilityId": "4895b227d8170788", "scanner": "scanner-primary", "fingerprint": "e6602bc62312f56e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-326502a9f96e246e", "level": "error", "message": {"text": "Dangling fetch: POST /api/tecnologia-ia/chaves-tef/upload (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:367)"}, "properties": {"repobilityId": "7c8914534fc40b88", "scanner": "scanner-primary", "fingerprint": "326502a9f96e246e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8a26e4b1864e7ee7", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/tecnologia-ia/chaves-tef/${confirmDeleteId} (src/app/(dashboard)/admin/tecnologia-ia/chaves-tef/page.tsx:431)"}, "properties": {"repobilityId": "8c98e46297c2f6d2", "scanner": "scanner-primary", "fingerprint": "8a26e4b1864e7ee7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bb5f58ba167b4522", "level": "error", "message": {"text": "Dangling fetch: POST /api/tecnologia-ia/maquinetas-stone (src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/novo/page.tsx:50)"}, "properties": {"repobilityId": "9ca24993922f5543", "scanner": "scanner-primary", "fingerprint": "bb5f58ba167b4522", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ab0170a2dfb34f8c", "level": "error", "message": {"text": "Dangling fetch: POST /api/tecnologia-ia/maquinetas-stone/${id}/fotos (src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/[id]/page.tsx:167)"}, "properties": {"repobilityId": "95253fa866727990", "scanner": "scanner-primary", "fingerprint": "ab0170a2dfb34f8c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e7103698663eba2b", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/tecnologia-ia/maquinetas-stone/${id}/fotos?foto_id=${fotoId} (src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/[id]/page.tsx:187)"}, "properties": {"repobilityId": "59792312f8c53d65", "scanner": "scanner-primary", "fingerprint": "e7103698663eba2b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-98bf859482f8acdc", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/tecnologia-ia/maquinetas-stone/${id} (src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/[id]/page.tsx:203)"}, "properties": {"repobilityId": "fce5bfb4c270e716", "scanner": "scanner-primary", "fingerprint": "98bf859482f8acdc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4dd410ebe3cc3954", "level": "error", "message": {"text": "Dangling fetch: PUT /api/tecnologia-ia/maquinetas-stone/${id} (src/app/(dashboard)/admin/tecnologia-ia/maquinetas-stone/[id]/editar/page.tsx:76)"}, "properties": {"repobilityId": "89141a4dcf3cf9cf", "scanner": "scanner-primary", "fingerprint": "4dd410ebe3cc3954", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bc6d409b5f8fee5d", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/tecnologia-ia/branding (src/app/(dashboard)/admin/tecnologia-ia/branding/page.tsx:43)"}, "properties": {"repobilityId": "fcc9952275543de5", "scanner": "scanner-primary", "fingerprint": "bc6d409b5f8fee5d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-eaa6dba2f6ffb59f", "level": "error", "message": {"text": "Dangling fetch: GET /api/tecnologia-ia/prompts (src/app/(dashboard)/admin/tecnologia-ia/prompts/page.tsx:46)"}, "properties": {"repobilityId": "fed73e604878e800", "scanner": "scanner-primary", "fingerprint": "eaa6dba2f6ffb59f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-88163471e0ce94b2", "level": "error", "message": {"text": "Dangling fetch: PUT /api/tecnologia-ia/prompts/${selected.identificador} (src/app/(dashboard)/admin/tecnologia-ia/prompts/page.tsx:90)"}, "properties": {"repobilityId": "e47402d134d86ed9", "scanner": "scanner-primary", "fingerprint": "88163471e0ce94b2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-978cb19ab35a88f2", "level": "error", "message": {"text": "Dangling fetch: GET /api/personal/logs?${params} (src/app/(dashboard)/admin/tecnologia-ia/logs-personal/page.tsx:64)"}, "properties": {"repobilityId": "14cdbc6f99466110", "scanner": "scanner-primary", "fingerprint": "978cb19ab35a88f2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-539a3d2d4750dba9", "level": "error", "message": {"text": "Dangling fetch: GET /api/control-xrm/logs?data=${selectedDate} (src/app/(dashboard)/admin/tecnologia-ia/logs-xrm/page.tsx:44)"}, "properties": {"repobilityId": "fdcc26644b5335b1", "scanner": "scanner-primary", "fingerprint": "539a3d2d4750dba9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9db1659f6a81f490", "level": "error", "message": {"text": "Dangling fetch: GET /api/faturamento?mode=details&operacao_id=${selectedOp.id}&date=${activeDate} (src/app/(dashboard)/admin/faturamento/page.tsx:738)"}, "properties": {"repobilityId": "3ca4091565128282", "scanner": "scanner-primary", "fingerprint": "9db1659f6a81f490", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-98f5abdce02e4142", "level": "error", "message": {"text": "Dangling fetch: POST /api/metas-faturamento (src/app/(dashboard)/admin/faturamento/metas/page.tsx:163)"}, "properties": {"repobilityId": "9178d6989b0bdbb3", "scanner": "scanner-primary", "fingerprint": "98f5abdce02e4142", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-48f806cb94dfcffa", "level": "error", "message": {"text": "Dangling fetch: GET /api/metas-faturamento?id=${id}&with_diarias=true (src/app/(dashboard)/admin/faturamento/metas/page.tsx:195)"}, "properties": {"repobilityId": "c1c6348e8d6e3d75", "scanner": "scanner-primary", "fingerprint": "48f806cb94dfcffa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6f3845488362f4ed", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/metas-faturamento/${confirmDeleteId} (src/app/(dashboard)/admin/faturamento/metas/page.tsx:209)"}, "properties": {"repobilityId": "d3e3e2ee823525c5", "scanner": "scanner-primary", "fingerprint": "6f3845488362f4ed", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3d41b3e343af45ae", "level": "error", "message": {"text": "Dangling fetch: GET /api/metas-faturamento/${id} (src/app/(dashboard)/admin/faturamento/metas/[id]/page.tsx:86)"}, "properties": {"repobilityId": "5379d1e2fd24a212", "scanner": "scanner-primary", "fingerprint": "3d41b3e343af45ae", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-95f9b0c53483dcbd", "level": "error", "message": {"text": "Dangling fetch: GET /admin/faturamento/alertas/${alerta.id} (src/app/(dashboard)/admin/faturamento/alertas/page.tsx:63)"}, "properties": {"repobilityId": "4ab195f2a3be7dec", "scanner": "scanner-primary", "fingerprint": "95f9b0c53483dcbd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-38905fa385a33b24", "level": "error", "message": {"text": "Dangling fetch: GET /api/metas-faturamento/alertas/${alerta.id} (src/app/(dashboard)/admin/faturamento/alertas/page.tsx:64)"}, "properties": {"repobilityId": "02be26dc1c314d62", "scanner": "scanner-primary", "fingerprint": "38905fa385a33b24", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-da00232acf66880d", "level": "error", "message": {"text": "Dangling fetch: GET /api/metas-faturamento/alertas?${query} (src/app/(dashboard)/admin/faturamento/alertas/page.tsx:125)"}, "properties": {"repobilityId": "24d19d16672bfc6b", "scanner": "scanner-primary", "fingerprint": "da00232acf66880d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-004ca28a5044ee64", "level": "error", "message": {"text": "Dangling fetch: GET /api/metas-faturamento/alertas/${id} (src/app/(dashboard)/admin/faturamento/alertas/[id]/page.tsx:36)"}, "properties": {"repobilityId": "2c5b709589056bcf", "scanner": "scanner-primary", "fingerprint": "004ca28a5044ee64", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c847b2d61c8df940", "level": "error", "message": {"text": "Dangling fetch: PUT /api/metas-faturamento/alertas/${id} (src/app/(dashboard)/admin/faturamento/alertas/[id]/page.tsx:65)"}, "properties": {"repobilityId": "d459bfbe5b52f7e7", "scanner": "scanner-primary", "fingerprint": "c847b2d61c8df940", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0be689f35ba873b4", "level": "error", "message": {"text": "Dangling fetch: GET /api/calendario/eventos/${ocorrencia.evento_id} (src/app/(dashboard)/calendario/EventoFormModal.tsx:121)"}, "properties": {"repobilityId": "badf694eca1c7be1", "scanner": "scanner-primary", "fingerprint": "0be689f35ba873b4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-aeadd0cdadcc4369", "level": "error", "message": {"text": "Dangling fetch: POST /api/notifications/push/subscribe (src/lib/notifications/push-client.ts:77)"}, "properties": {"repobilityId": "8d10b6727eee3303", "scanner": "scanner-primary", "fingerprint": "aeadd0cdadcc4369", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-de8e6172a4c5b6ae", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/notifications/push/subscribe (src/lib/notifications/push-client.ts:123)"}, "properties": {"repobilityId": "b436e9ae9f663657", "scanner": "scanner-primary", "fingerprint": "de8e6172a4c5b6ae", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e386fad6d1cfd5a0", "level": "error", "message": {"text": "Dangling fetch: GET https://ipapi.co/${encodeURIComponent(ip)}/json/ (src/lib/sessions/geo.ts:24)"}, "properties": {"repobilityId": "b12817f09640d471", "scanner": "scanner-primary", "fingerprint": "e386fad6d1cfd5a0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-77b91fbc8b2873e5", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/session-status?t=${Date.now()} (src/lib/hooks/useSessionWatcher.ts:54)"}, "properties": {"repobilityId": "90e8ebc8ed1e53b0", "scanner": "scanner-primary", "fingerprint": "77b91fbc8b2873e5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-306cfc7349b492e6", "level": "error", "message": {"text": "Dangling fetch: GET /api/realtime/auth-token (src/lib/supabase/realtime-auth.ts:12)"}, "properties": {"repobilityId": "762a9b6c9a750c92", "scanner": "scanner-primary", "fingerprint": "306cfc7349b492e6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9a6719f3541448de", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/${id}/read (src/hooks/useNotifications.ts:56)"}, "properties": {"repobilityId": "7d114643d07e472c", "scanner": "scanner-primary", "fingerprint": "9a6719f3541448de", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8cf90e62c3a99f05", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/read-all (src/hooks/useNotifications.ts:63)"}, "properties": {"repobilityId": "c0d4c6cca08295e3", "scanner": "scanner-primary", "fingerprint": "8cf90e62c3a99f05", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ee7dd2ccaea9ba04", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/${id}/archive (src/hooks/useNotifications.ts:68)"}, "properties": {"repobilityId": "94327aece1bc2169", "scanner": "scanner-primary", "fingerprint": "ee7dd2ccaea9ba04", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3a3c45156489b020", "level": "note", "message": {"text": "Unused endpoint: GET /api/users"}, "properties": {"repobilityId": "f2235b67fd313751", "scanner": "scanner-primary", "fingerprint": "3a3c45156489b020", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-49546f6900fb04c5", "level": "note", "message": {"text": "Unused endpoint: POST /api/users"}, "properties": {"repobilityId": "08399734f7dede13", "scanner": "scanner-primary", "fingerprint": "49546f6900fb04c5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0ffef5a07597afc9", "level": "note", "message": {"text": "Unused endpoint: GET /api/users/{user_id}"}, "properties": {"repobilityId": "662e2a5ad39a6931", "scanner": "scanner-primary", "fingerprint": "0ffef5a07597afc9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-887c385438b11bc5", "level": "note", "message": {"text": "Unused endpoint: PATCH /api/users/{user_id}"}, "properties": {"repobilityId": "790c4df3f5ae68ad", "scanner": "scanner-primary", "fingerprint": "887c385438b11bc5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c3fb176c336b8818", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/users/{user_id}"}, "properties": {"repobilityId": "63c2a5a3848656ce", "scanner": "scanner-primary", "fingerprint": "c3fb176c336b8818", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}