{"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-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9729a232243212a0", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/vanilla.ts:433", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/vanilla.ts:433"}, "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-6c6294cd4e70a451", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "10up/action-wordpress-plugin-deploy@stable 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-7ffa33751be3d771", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e4ffd5b3f9b708f9", "name": "Very large file: src/plugins/user-test/ui.ts (1362 lines)", "shortDescription": {"text": "Very large file: src/plugins/user-test/ui.ts (1362 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 6 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 29 placeholder/mock markers across 6 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-cbc64a1faec1c2c9", "name": "Commented-code block (7 lines) in tsup.config.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in tsup.config.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9f3d9608d1be5cf6", "name": "Commented-code block (7 lines) in tests/identity-sdk-session.test.mjs:5", "shortDescription": {"text": "Commented-code block (7 lines) in tests/identity-sdk-session.test.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e4291c498cfa534a", "name": "Commented-code block (6 lines) in tests/plugin.test.mjs:532", "shortDescription": {"text": "Commented-code block (6 lines) in tests/plugin.test.mjs:532"}, "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-936861120af83001", "name": "Commented-code block (5 lines) in tests/replay-react-hook.test.mjs:5", "shortDescription": {"text": "Commented-code block (5 lines) in tests/replay-react-hook.test.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-414050aae5db7e86", "name": "Commented-code block (6 lines) in tests/headless-react-hook.test.mjs:5", "shortDescription": {"text": "Commented-code block (6 lines) in tests/headless-react-hook.test.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c3cbde1b38549f5b", "name": "Commented-code block (16 lines) in tests/replay-standalone.test.mjs:5", "shortDescription": {"text": "Commented-code block (16 lines) in tests/replay-standalone.test.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7726b790a811e168", "name": "Commented-code block (15 lines) in tests/headless.test.mjs:5", "shortDescription": {"text": "Commented-code block (15 lines) in tests/headless.test.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-285083ef0bea9650", "name": "Commented-code block (5 lines) in tests/user-test-chunk-close.test.mjs:7", "shortDescription": {"text": "Commented-code block (5 lines) in tests/user-test-chunk-close.test.mjs:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-75b5f40021c0e842", "name": "Commented-code block (5 lines) in tests/user-test-keyboard.test.mjs:6", "shortDescription": {"text": "Commented-code block (5 lines) in tests/user-test-keyboard.test.mjs:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a8ff3772803abaf", "name": "Commented-code block (7 lines) in tests/user-test-resume.test.mjs:222", "shortDescription": {"text": "Commented-code block (7 lines) in tests/user-test-resume.test.mjs:222"}, "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-404687323837091f", "name": "Commented-code block (5 lines) in tests/plugin-contract.test.mjs:74", "shortDescription": {"text": "Commented-code block (5 lines) in tests/plugin-contract.test.mjs:74"}, "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-ee9aaa620cce1cb5", "name": "Commented-code block (10 lines) in scripts/verify-dist.mjs:5", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/verify-dist.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6289c8945318c0b2", "name": "Commented-code block (10 lines) in scripts/sync-wp-vendor.mjs:2", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/sync-wp-vendor.mjs:2"}, "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-842ea337d828adef", "name": "`fetch()` without try/.catch or AbortSignal \u2014 wordpress/assets/js/usero-review-nudge.js:14", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 wordpress/assets/js/usero-review-nudge.js: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-cdf9908936cf787e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 wordpress/assets/js/usero-disconnect.js:15", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 wordpress/assets/js/usero-disconnect.js: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-d2b57d90528dc6fe", "name": "`fetch()` without try/.catch or AbortSignal \u2014 wordpress/assets/js/usero-connect.js:43", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 wordpress/assets/js/usero-connect.js:43"}, "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-a13001b2cbdba48e", "name": "Commented-code block (12 lines) in src/plugin.ts:8", "shortDescription": {"text": "Commented-code block (12 lines) in src/plugin.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-c3d26d63e59a22f7", "name": "Commented-code block (5 lines) in src/vanilla.ts:92", "shortDescription": {"text": "Commented-code block (5 lines) in src/vanilla.ts:92"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0823075b157f892a", "name": "Commented-code block (9 lines) in src/identity.ts:3", "shortDescription": {"text": "Commented-code block (9 lines) in src/identity.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3acae7f9e6e7d5f6", "name": "Commented-code block (5 lines) in src/react.tsx:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/react.tsx: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-4368b1b0cc1022c5", "name": "Commented-code block (8 lines) in src/core.ts:4", "shortDescription": {"text": "Commented-code block (8 lines) in src/core.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-538ccdc38a329307", "name": "Commented-code block (7 lines) in src/replay.ts:12", "shortDescription": {"text": "Commented-code block (7 lines) in src/replay.ts:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5d46182794a0f512", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/replay.ts:340", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/replay.ts:340"}, "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-01b0f45b0acd5795", "name": "Commented-code block (6 lines) in src/headless.ts:68", "shortDescription": {"text": "Commented-code block (6 lines) in src/headless.ts:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ff1fdc652d602f2e", "name": "Commented-code block (7 lines) in src/types.ts:33", "shortDescription": {"text": "Commented-code block (7 lines) in src/types.ts:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ba782fd9d931b168", "name": "Commented-code block (7 lines) in src/plugins/session-replay.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/plugins/session-replay.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-7ec5edc100f2198e", "name": "Commented-code block (11 lines) in src/plugins/user-test.ts:3", "shortDescription": {"text": "Commented-code block (11 lines) in src/plugins/user-test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d3eb5eeed113f045", "name": "Commented-code block (5 lines) in src/plugins/user-test/recorder.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/plugins/user-test/recorder.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-f6b614fdcb2e5746", "name": "Commented-code block (6 lines) in src/plugins/user-test/lifecycle.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/plugins/user-test/lifecycle.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-fb8890450daeb402", "name": "Commented-code block (5 lines) in src/plugins/user-test/ui.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/plugins/user-test/ui.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-611c7e0164292d22", "name": "Commented-code block (6 lines) in src/plugins/user-test/shared.ts:105", "shortDescription": {"text": "Commented-code block (6 lines) in src/plugins/user-test/shared.ts:105"}, "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-de288ace1f0fcec6", "name": "Commented-code block (6 lines) in src/plugins/user-test/session.ts:72", "shortDescription": {"text": "Commented-code block (6 lines) in src/plugins/user-test/session.ts:72"}, "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/21982"}, "properties": {"repository": "usero-feedback/usero", "repoUrl": "https://github.com/usero-feedback/usero", "branch": "main"}, "results": [{"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-9729a232243212a0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/vanilla.ts:433"}, "properties": {"repobilityId": "754f10a5642f584e", "scanner": "scanner-primary", "fingerprint": "9729a232243212a0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/vanilla.ts"}, "region": {"startLine": 433}}}]}, {"ruleId": "scanner-6c6294cd4e70a451", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9afd57d8981eb0d7", "scanner": "scanner-primary", "fingerprint": "6c6294cd4e70a451", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release-wordpress.yml"}, "region": {"startLine": 93}}}]}, {"ruleId": "scanner-7ffa33751be3d771", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "491a3ad29cbaf189", "scanner": "scanner-primary", "fingerprint": "7ffa33751be3d771", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publish.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e4ffd5b3f9b708f9", "level": "note", "message": {"text": "Very large file: src/plugins/user-test/ui.ts (1362 lines)"}, "properties": {"repobilityId": "16c1ee9b403bafd4", "scanner": "scanner-primary", "fingerprint": "e4ffd5b3f9b708f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "f5f9153757d1b0e1", "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": "88583c3cfcb9bd74", "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": "51e7718b5ab2be1c", "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": "43e5680a621832c6", "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": "ce7415e8ec07e3b9", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-cbc64a1faec1c2c9", "level": "none", "message": {"text": "Commented-code block (7 lines) in tsup.config.ts:3"}, "properties": {"repobilityId": "70a5dc9f855d40e6", "scanner": "scanner-primary", "fingerprint": "cbc64a1faec1c2c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9f3d9608d1be5cf6", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/identity-sdk-session.test.mjs:5"}, "properties": {"repobilityId": "73efe1a06c95b5ac", "scanner": "scanner-primary", "fingerprint": "9f3d9608d1be5cf6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4291c498cfa534a", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/plugin.test.mjs:532"}, "properties": {"repobilityId": "56d6e268a0b3f6a7", "scanner": "scanner-primary", "fingerprint": "e4291c498cfa534a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-936861120af83001", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/replay-react-hook.test.mjs:5"}, "properties": {"repobilityId": "dea34840cfa3f06d", "scanner": "scanner-primary", "fingerprint": "936861120af83001", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-414050aae5db7e86", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/headless-react-hook.test.mjs:5"}, "properties": {"repobilityId": "c6ac6758dd6b0a25", "scanner": "scanner-primary", "fingerprint": "414050aae5db7e86", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c3cbde1b38549f5b", "level": "none", "message": {"text": "Commented-code block (16 lines) in tests/replay-standalone.test.mjs:5"}, "properties": {"repobilityId": "18bb3538ad92dd08", "scanner": "scanner-primary", "fingerprint": "c3cbde1b38549f5b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7726b790a811e168", "level": "none", "message": {"text": "Commented-code block (15 lines) in tests/headless.test.mjs:5"}, "properties": {"repobilityId": "c504c356f984872e", "scanner": "scanner-primary", "fingerprint": "7726b790a811e168", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-285083ef0bea9650", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/user-test-chunk-close.test.mjs:7"}, "properties": {"repobilityId": "33e8b25a20901351", "scanner": "scanner-primary", "fingerprint": "285083ef0bea9650", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75b5f40021c0e842", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/user-test-keyboard.test.mjs:6"}, "properties": {"repobilityId": "86d40739b597a523", "scanner": "scanner-primary", "fingerprint": "75b5f40021c0e842", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a8ff3772803abaf", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/user-test-resume.test.mjs:222"}, "properties": {"repobilityId": "2033b15de69caa41", "scanner": "scanner-primary", "fingerprint": "7a8ff3772803abaf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-404687323837091f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/plugin-contract.test.mjs:74"}, "properties": {"repobilityId": "c64b357660ef0f5e", "scanner": "scanner-primary", "fingerprint": "404687323837091f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee9aaa620cce1cb5", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/verify-dist.mjs:5"}, "properties": {"repobilityId": "ddbbe07a4cb00c57", "scanner": "scanner-primary", "fingerprint": "ee9aaa620cce1cb5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6289c8945318c0b2", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/sync-wp-vendor.mjs:2"}, "properties": {"repobilityId": "b49dcb27fb2943e6", "scanner": "scanner-primary", "fingerprint": "6289c8945318c0b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-842ea337d828adef", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 wordpress/assets/js/usero-review-nudge.js:14"}, "properties": {"repobilityId": "7bab360b87ae2fe7", "scanner": "scanner-primary", "fingerprint": "842ea337d828adef", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cdf9908936cf787e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 wordpress/assets/js/usero-disconnect.js:15"}, "properties": {"repobilityId": "be7ad03ed252fbd7", "scanner": "scanner-primary", "fingerprint": "cdf9908936cf787e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d2b57d90528dc6fe", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 wordpress/assets/js/usero-connect.js:43"}, "properties": {"repobilityId": "77e28903037231e7", "scanner": "scanner-primary", "fingerprint": "d2b57d90528dc6fe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a13001b2cbdba48e", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/plugin.ts:8"}, "properties": {"repobilityId": "5140271942dde793", "scanner": "scanner-primary", "fingerprint": "a13001b2cbdba48e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c3d26d63e59a22f7", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/vanilla.ts:92"}, "properties": {"repobilityId": "9710291594f586b5", "scanner": "scanner-primary", "fingerprint": "c3d26d63e59a22f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0823075b157f892a", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/identity.ts:3"}, "properties": {"repobilityId": "8ed9bb9b59f87581", "scanner": "scanner-primary", "fingerprint": "0823075b157f892a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3acae7f9e6e7d5f6", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/react.tsx:1"}, "properties": {"repobilityId": "81d9f5aff33bdc04", "scanner": "scanner-primary", "fingerprint": "3acae7f9e6e7d5f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4368b1b0cc1022c5", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/core.ts:4"}, "properties": {"repobilityId": "58fb90d34f764823", "scanner": "scanner-primary", "fingerprint": "4368b1b0cc1022c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-538ccdc38a329307", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/replay.ts:12"}, "properties": {"repobilityId": "7afad3efe1b3b54d", "scanner": "scanner-primary", "fingerprint": "538ccdc38a329307", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5d46182794a0f512", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/replay.ts:340"}, "properties": {"repobilityId": "baa4769c804d2ecb", "scanner": "scanner-primary", "fingerprint": "5d46182794a0f512", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-01b0f45b0acd5795", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/headless.ts:68"}, "properties": {"repobilityId": "8d224fa55c1c41da", "scanner": "scanner-primary", "fingerprint": "01b0f45b0acd5795", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff1fdc652d602f2e", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/types.ts:33"}, "properties": {"repobilityId": "9ef6c1f01c1f1229", "scanner": "scanner-primary", "fingerprint": "ff1fdc652d602f2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba782fd9d931b168", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/plugins/session-replay.ts:1"}, "properties": {"repobilityId": "6c05118809b4c40c", "scanner": "scanner-primary", "fingerprint": "ba782fd9d931b168", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ec5edc100f2198e", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/plugins/user-test.ts:3"}, "properties": {"repobilityId": "64ba815642356c0f", "scanner": "scanner-primary", "fingerprint": "7ec5edc100f2198e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d3eb5eeed113f045", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/plugins/user-test/recorder.ts:1"}, "properties": {"repobilityId": "dc632ddb8d88f9d8", "scanner": "scanner-primary", "fingerprint": "d3eb5eeed113f045", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f6b614fdcb2e5746", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/plugins/user-test/lifecycle.ts:1"}, "properties": {"repobilityId": "6790a3bca3c31d01", "scanner": "scanner-primary", "fingerprint": "f6b614fdcb2e5746", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb8890450daeb402", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/plugins/user-test/ui.ts:1"}, "properties": {"repobilityId": "efc1337b4877eba9", "scanner": "scanner-primary", "fingerprint": "fb8890450daeb402", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-611c7e0164292d22", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/plugins/user-test/shared.ts:105"}, "properties": {"repobilityId": "d6c9bfb28e1c2f92", "scanner": "scanner-primary", "fingerprint": "611c7e0164292d22", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de288ace1f0fcec6", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/plugins/user-test/session.ts:72"}, "properties": {"repobilityId": "2fcd7755c6e05b46", "scanner": "scanner-primary", "fingerprint": "de288ace1f0fcec6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}