{"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": "scanner-1bd0637110b62868", "name": "Stray `console.log` in TS/JS \u2014 worker.js:75", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 worker.js:75"}, "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-9c3d32b2296b6ed3", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-intakes.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-intakes.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-ec954d8caa349dca", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-ar.js:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-ar.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-8d34990c81303195", "name": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/notify.ts:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/notify.ts:87"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e24c0f3a9efb2733", "name": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/deadline-check.ts:92", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/deadline-check.ts:92"}, "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-a0a638d7423521a2", "name": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/g2b-client.ts:140", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/g2b-client.ts:140"}, "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-4e8f760da7adfc0d", "name": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/change-history.ts:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/change-history.ts:77"}, "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-994e71068be72fb5", "name": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/poll.ts:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/poll.ts:57"}, "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-3960157b163f0531", "name": "Insecure pattern 'cors_wildcard' in worker.js:38", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in worker.js:38"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b5c8d7b8293c46ea", "name": "Insecure pattern 'cors_wildcard' in worker-src/mcp.js:297", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in worker-src/mcp.js:297"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-373fef75f641bcf1", "name": "Insecure pattern 'cors_wildcard' in worker-src/tenders/router.ts:67", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in worker-src/tenders/router.ts:67"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-05c40cd37e82dc94", "name": "Insecure pattern 'local_storage_auth_token' in fr-workwear-app/index.html:4764", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in fr-workwear-app/index.html:4764"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "0 test file(s) for 21 source file(s) (ratio 0.00). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01f96f71d9907a8c", "name": "README lacks setup or run instructions", "shortDescription": {"text": "README lacks setup or run instructions"}, "fullDescription": {"text": "A README exists, but it does not contain common install/setup/run markers. This matches a frequent generated-code pattern: UI is present, operational handoff is thin."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 72 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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci, tests, operator-readme. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, ci, tests, operator-readme. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-118b83ba9df73cc7", "name": "Commented-code block (7 lines) in sw.js:3", "shortDescription": {"text": "Commented-code block (7 lines) in sw.js:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-430f5658d272ccd6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sw.js:44", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sw.js:44"}, "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-8560f3b7e6563299", "name": "Commented-code block (11 lines) in worker.js:4", "shortDescription": {"text": "Commented-code block (11 lines) in worker.js:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-09075b4d52608ec1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worker.js:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worker.js:31"}, "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-3cab6a6ec5ebb69a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/import-intakes.js:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/import-intakes.js:31"}, "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-900e7cd6abfc0504", "name": "Commented-code block (8 lines) in scripts/import-ar.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/import-ar.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-995060245d836c89", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/import-ar.js:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/import-ar.js: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-c7247bf0000d0db0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worker-src/mcp.js:129", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worker-src/mcp.js:129"}, "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-4b01d2f704e45cba", "name": "Commented-code block (6 lines) in worker-src/tenders/router.ts:238", "shortDescription": {"text": "Commented-code block (6 lines) in worker-src/tenders/router.ts:238"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/24471"}, "properties": {"repository": "bangbongfather-sys/fr-workwear-app", "repoUrl": "https://github.com/bangbongfather-sys/fr-workwear-app", "branch": "main"}, "results": [{"ruleId": "scanner-1bd0637110b62868", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 worker.js:75"}, "properties": {"repobilityId": "1fb47c3a0b98f77b", "scanner": "scanner-primary", "fingerprint": "1bd0637110b62868", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9c3d32b2296b6ed3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-intakes.js:28"}, "properties": {"repobilityId": "3777f000863cc6e4", "scanner": "scanner-primary", "fingerprint": "9c3d32b2296b6ed3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ec954d8caa349dca", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-ar.js:33"}, "properties": {"repobilityId": "435c126fd94c85ae", "scanner": "scanner-primary", "fingerprint": "ec954d8caa349dca", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8d34990c81303195", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/notify.ts:87"}, "properties": {"repobilityId": "43e01dc1bcb59b50", "scanner": "scanner-primary", "fingerprint": "8d34990c81303195", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e24c0f3a9efb2733", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/deadline-check.ts:92"}, "properties": {"repobilityId": "06443e8254b6896e", "scanner": "scanner-primary", "fingerprint": "e24c0f3a9efb2733", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a0a638d7423521a2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/g2b-client.ts:140"}, "properties": {"repobilityId": "5c2d56927f19e3d2", "scanner": "scanner-primary", "fingerprint": "a0a638d7423521a2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e8f760da7adfc0d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/change-history.ts:77"}, "properties": {"repobilityId": "af983e2e5ac00e00", "scanner": "scanner-primary", "fingerprint": "4e8f760da7adfc0d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-994e71068be72fb5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 worker-src/tenders/poll.ts:57"}, "properties": {"repobilityId": "a50b19b9f3d068a0", "scanner": "scanner-primary", "fingerprint": "994e71068be72fb5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3960157b163f0531", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in worker.js:38"}, "properties": {"repobilityId": "52c95f8560202c9e", "scanner": "scanner-primary", "fingerprint": "3960157b163f0531", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worker.js"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-b5c8d7b8293c46ea", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in worker-src/mcp.js:297"}, "properties": {"repobilityId": "bf7d5279e35fddd7", "scanner": "scanner-primary", "fingerprint": "b5c8d7b8293c46ea", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worker-src/mcp.js"}, "region": {"startLine": 297}}}]}, {"ruleId": "scanner-373fef75f641bcf1", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in worker-src/tenders/router.ts:67"}, "properties": {"repobilityId": "ba4c2fa86247b66c", "scanner": "scanner-primary", "fingerprint": "373fef75f641bcf1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worker-src/tenders/router.ts"}, "region": {"startLine": 67}}}]}, {"ruleId": "scanner-05c40cd37e82dc94", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in fr-workwear-app/index.html:4764"}, "properties": {"repobilityId": "3268588111a4fb75", "scanner": "scanner-primary", "fingerprint": "05c40cd37e82dc94", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "fr-workwear-app/index.html"}, "region": {"startLine": 4764}}}]}, {"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-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "4a3998306c5a8331", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-01f96f71d9907a8c", "level": "note", "message": {"text": "README lacks setup or run instructions"}, "properties": {"repobilityId": "e7df649cb4145a4e", "scanner": "scanner-primary", "fingerprint": "01f96f71d9907a8c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["docs", "readme", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "8e4c0e9b006ec755", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "f23e45c1d53453a7", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "3bea72c2422b04a6", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"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-118b83ba9df73cc7", "level": "none", "message": {"text": "Commented-code block (7 lines) in sw.js:3"}, "properties": {"repobilityId": "eb49923928caa1f6", "scanner": "scanner-primary", "fingerprint": "118b83ba9df73cc7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-430f5658d272ccd6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sw.js:44"}, "properties": {"repobilityId": "40c44e46717f15db", "scanner": "scanner-primary", "fingerprint": "430f5658d272ccd6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8560f3b7e6563299", "level": "none", "message": {"text": "Commented-code block (11 lines) in worker.js:4"}, "properties": {"repobilityId": "4043274b68c54139", "scanner": "scanner-primary", "fingerprint": "8560f3b7e6563299", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09075b4d52608ec1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worker.js:31"}, "properties": {"repobilityId": "abcf84df21abe438", "scanner": "scanner-primary", "fingerprint": "09075b4d52608ec1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3cab6a6ec5ebb69a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/import-intakes.js:31"}, "properties": {"repobilityId": "332f5e46ed14df69", "scanner": "scanner-primary", "fingerprint": "3cab6a6ec5ebb69a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-900e7cd6abfc0504", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/import-ar.js:1"}, "properties": {"repobilityId": "e334f5dc3d42daa4", "scanner": "scanner-primary", "fingerprint": "900e7cd6abfc0504", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-995060245d836c89", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/import-ar.js:34"}, "properties": {"repobilityId": "8ce810ca5c5da1ba", "scanner": "scanner-primary", "fingerprint": "995060245d836c89", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c7247bf0000d0db0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worker-src/mcp.js:129"}, "properties": {"repobilityId": "4debd48d5d857316", "scanner": "scanner-primary", "fingerprint": "c7247bf0000d0db0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4b01d2f704e45cba", "level": "none", "message": {"text": "Commented-code block (6 lines) in worker-src/tenders/router.ts:238"}, "properties": {"repobilityId": "05f5bcc5d7964bb9", "scanner": "scanner-primary", "fingerprint": "4b01d2f704e45cba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}