{"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-a20f5cc20284572e", "name": "Stray `console.log` in TS/JS \u2014 server/standaloneServer.ts:109", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/standaloneServer.ts:109"}, "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-55e6cdbe1664a69c", "name": "`truncate` class without `title=` for hover reveal \u2014 src/muse/components/ChangesPanel.tsx:101", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/muse/components/ChangesPanel.tsx:101"}, "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-60e886c34e257123", "name": "`truncate` class without `title=` for hover reveal \u2014 src/muse/components/FlagComposer.tsx:85", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/muse/components/FlagComposer.tsx:85"}, "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-3ac16e1d5a448272", "name": "`truncate` class without `title=` for hover reveal \u2014 src/muse/components/SelectionOverlay.tsx:41", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/muse/components/SelectionOverlay.tsx:41"}, "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-f37124ab660436a0", "name": "`truncate` class without `title=` for hover reveal \u2014 src/muse/components/canvas/PropertiesPanel.tsx:195", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/muse/components/canvas/PropertiesPanel.tsx:195"}, "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-a25e4d2fe3198570", "name": "Runtime dotenv file present in repo: .env.demo", "shortDescription": {"text": "Runtime dotenv file present in repo: .env.demo"}, "fullDescription": {"text": "`.env.demo` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-564b45d270cf0238", "name": "Runtime dotenv file present in repo: .env.production", "shortDescription": {"text": "Runtime dotenv file present in repo: .env.production"}, "fullDescription": {"text": "`.env.production` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0dd8bc2ff992e373", "name": "Insecure pattern 'node_child_process' in server/gitShare.ts:17", "shortDescription": {"text": "Insecure pattern 'node_child_process' in server/gitShare.ts:17"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-279c828bd3449b0d", "name": "Insecure pattern 'node_child_process' in server/__tests__/gitShare.test.ts:11", "shortDescription": {"text": "Insecure pattern 'node_child_process' in server/__tests__/gitShare.test.ts:11"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-90cf55ffae07e4f7", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8498a51c21a35206", "name": "Very large file: server/museCore.ts (1220 lines)", "shortDescription": {"text": "Very large file: server/museCore.ts (1220 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-b376f4adba8b79ec", "name": "Very large file: server/styleEdit.ts (1981 lines)", "shortDescription": {"text": "Very large file: server/styleEdit.ts (1981 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-3aae994a2c88edd2", "name": "Very large file: src/muse/components/canvas/CanvasMode.tsx (1790 lines)", "shortDescription": {"text": "Very large file: src/muse/components/canvas/CanvasMode.tsx (1790 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-38fc975a9bafd64c", "name": "Very large file: src/muse/components/canvas/ReorderOverlay.tsx (954 lines)", "shortDescription": {"text": "Very large file: src/muse/components/canvas/ReorderOverlay.tsx (954 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-9d82a401aff158f5", "name": "Very large file: src/muse/components/canvas/PropertiesPanel.tsx (1224 lines)", "shortDescription": {"text": "Very large file: src/muse/components/canvas/PropertiesPanel.tsx (1224 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-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "20 tests / 85 src (ratio 0.24)."}, "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 7 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 30 placeholder/mock markers across 10 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-53342318a6d5b1b5", "name": "Commented-code block (6 lines) in vite.config.ts:11", "shortDescription": {"text": "Commented-code block (6 lines) in vite.config.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0d138460a381458a", "name": "Commented-code block (8 lines) in tailwind.config.js:3", "shortDescription": {"text": "Commented-code block (8 lines) in tailwind.config.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-d02a23f28ea88552", "name": "Commented-code block (6 lines) in vitest.config.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in vitest.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-722bfae82c725593", "name": "Commented-code block (6 lines) in scripts/build-overlay-css.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/build-overlay-css.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-82ba12ac69753100", "name": "Commented-code block (5 lines) in packages/muse-mcp/src/index.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in packages/muse-mcp/src/index.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-974684748f833275", "name": "Commented-code block (5 lines) in packages/muse-mcp/src/flagsStore.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in packages/muse-mcp/src/flagsStore.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9283c763ee5add45", "name": "Commented-code block (7 lines) in server/standaloneServer.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in server/standaloneServer.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-f2e48f841a8eab5a", "name": "Commented-code block (9 lines) in server/gitShare.ts:1", "shortDescription": {"text": "Commented-code block (9 lines) in server/gitShare.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-4eb7798bb45ad4ef", "name": "Commented-code block (5 lines) in server/musePlugin.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in server/musePlugin.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-0dc43f29b2378511", "name": "Commented-code block (8 lines) in server/webAdapter.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in server/webAdapter.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-b38c4ca1b4f15ffe", "name": "Commented-code block (7 lines) in server/museCore.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in server/museCore.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-ac63efb592117b3d", "name": "Commented-code block (8 lines) in server/styleEdit.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in server/styleEdit.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-fa7c5d4fab409aa6", "name": "Commented-code block (7 lines) in server/__tests__/tokenSuggest.test.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in server/__tests__/tokenSuggest.test.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-b3b6fbf69d6403a4", "name": "Commented-code block (8 lines) in server/__tests__/styledEdit.test.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in server/__tests__/styledEdit.test.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-31b97793751e731a", "name": "Commented-code block (9 lines) in server/__tests__/appearanceProps.test.ts:1", "shortDescription": {"text": "Commented-code block (9 lines) in server/__tests__/appearanceProps.test.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-ff2d256bcdb6871a", "name": "Commented-code block (5 lines) in server/__tests__/layoutProps.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in server/__tests__/layoutProps.test.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-f17383604a543248", "name": "Commented-code block (5 lines) in server/__tests__/classPatch.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in server/__tests__/classPatch.test.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-5334ca91f324f2e7", "name": "Commented-code block (8 lines) in server/__tests__/cssVarEdit.test.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in server/__tests__/cssVarEdit.test.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-3f6870a4bf04374d", "name": "Commented-code block (10 lines) in server/__tests__/handlers.test.ts:1", "shortDescription": {"text": "Commented-code block (10 lines) in server/__tests__/handlers.test.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-971cf054eb06ada6", "name": "Commented-code block (11 lines) in server/__tests__/computeStyleEdit.test.ts:1", "shortDescription": {"text": "Commented-code block (11 lines) in server/__tests__/computeStyleEdit.test.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-2a86896a22721952", "name": "Commented-code block (8 lines) in server/__tests__/cssRuleEdit.test.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in server/__tests__/cssRuleEdit.test.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-0d1b5d507264f02b", "name": "Commented-code block (9 lines) in server/__tests__/gitShare.test.ts:1", "shortDescription": {"text": "Commented-code block (9 lines) in server/__tests__/gitShare.test.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-f5bccc0248765f34", "name": "Commented-code block (13 lines) in server/__tests__/variantEdit.test.ts:1", "shortDescription": {"text": "Commented-code block (13 lines) in server/__tests__/variantEdit.test.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-c9de88a5d39832e9", "name": "Commented-code block (8 lines) in server/__tests__/sessionChanges.test.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in server/__tests__/sessionChanges.test.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-fa65e164762a5343", "name": "Commented-code block (8 lines) in babel/muse-loc.cjs:1", "shortDescription": {"text": "Commented-code block (8 lines) in babel/muse-loc.cjs: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-27898a8b91a211ed", "name": "Commented-code block (18 lines) in src/muse/config.ts:1", "shortDescription": {"text": "Commented-code block (18 lines) in src/muse/config.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-3c71c478b26800eb", "name": "Commented-code block (7 lines) in src/muse/api.ts:152", "shortDescription": {"text": "Commented-code block (7 lines) in src/muse/api.ts:152"}, "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-ba49cbe99e94f8db", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/muse/api.ts:35", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/muse/api.ts: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-a494198fc5eb0568", "name": "Commented-code block (5 lines) in src/muse/sessionChanges.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/muse/sessionChanges.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-c5fc9d43f4d301be", "name": "Commented-code block (5 lines) in src/muse/cssom.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in src/muse/cssom.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-94748a8400d5431f", "name": "Commented-code block (7 lines) in src/muse/forcedState.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in src/muse/forcedState.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-104aac3f59c9c74a", "name": "Commented-code block (5 lines) in src/muse/useCanvasMode.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in src/muse/useCanvasMode.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-24d1e6181625dbef", "name": "Commented-code block (6 lines) in src/muse/store.ts:10", "shortDescription": {"text": "Commented-code block (6 lines) in src/muse/store.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b52c246c886cf4bc", "name": "Commented-code block (6 lines) in src/muse/animationFreeze.ts:40", "shortDescription": {"text": "Commented-code block (6 lines) in src/muse/animationFreeze.ts:40"}, "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-325e931f1841be8a", "name": "Commented-code block (6 lines) in src/muse/prefs.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in src/muse/prefs.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-c5adfa6b50d1c327", "name": "Commented-code block (6 lines) in src/muse/measure.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in src/muse/measure.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-bbb76ebe0dff2303", "name": "Commented-code block (6 lines) in src/muse/sourceLocation.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in src/muse/sourceLocation.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-182c63b00b82073b", "name": "Commented-code block (7 lines) in src/muse/MuseOverlay.tsx:70", "shortDescription": {"text": "Commented-code block (7 lines) in src/muse/MuseOverlay.tsx:70"}, "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-3a19511560d81931", "name": "Commented-code block (6 lines) in src/muse/types.ts:34", "shortDescription": {"text": "Commented-code block (6 lines) in src/muse/types.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-d9f30f81910194b3", "name": "Commented-code block (5 lines) in src/muse/components/ChangesPanel.tsx:8", "shortDescription": {"text": "Commented-code block (5 lines) in src/muse/components/ChangesPanel.tsx: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-8f65ef32eb60737b", "name": "Commented-code block (5 lines) in src/muse/components/FlagsPanel.tsx:8", "shortDescription": {"text": "Commented-code block (5 lines) in src/muse/components/FlagsPanel.tsx: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-e1c233c01cf825a6", "name": "Commented-code block (7 lines) in src/muse/components/MuseToolbar.tsx:17", "shortDescription": {"text": "Commented-code block (7 lines) in src/muse/components/MuseToolbar.tsx:17"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-21e99b12e1143992", "name": "Commented-code block (5 lines) in src/muse/components/FlagComposer.tsx:5", "shortDescription": {"text": "Commented-code block (5 lines) in src/muse/components/FlagComposer.tsx: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-590942d5ee3fc33c", "name": "Commented-code block (7 lines) in src/muse/components/TokenList.tsx:69", "shortDescription": {"text": "Commented-code block (7 lines) in src/muse/components/TokenList.tsx:69"}, "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-a3744e36fc93f3ec", "name": "Commented-code block (6 lines) in src/muse/components/UfoIcon.tsx:33", "shortDescription": {"text": "Commented-code block (6 lines) in src/muse/components/UfoIcon.tsx: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-ccb63e07ace5a62e", "name": "Commented-code block (7 lines) in src/muse/components/canvas/GapOverlay.tsx:7", "shortDescription": {"text": "Commented-code block (7 lines) in src/muse/components/canvas/GapOverlay.tsx: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-2042a23603747f3d", "name": "Commented-code block (5 lines) in src/muse/components/canvas/ScrubField.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/muse/components/canvas/ScrubField.tsx: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-50503b3f644c7cf6", "name": "Commented-code block (5 lines) in src/muse/components/canvas/CanvasMode.tsx:111", "shortDescription": {"text": "Commented-code block (5 lines) in src/muse/components/canvas/CanvasMode.tsx:111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7c5efca170b7bc1d", "name": "Commented-code block (8 lines) in src/muse/components/canvas/ColorPicker.tsx:69", "shortDescription": {"text": "Commented-code block (8 lines) in src/muse/components/canvas/ColorPicker.tsx:69"}, "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-7c7edbbe39489bf5", "name": "Commented-code block (7 lines) in src/muse/components/canvas/MeasureOverlay.tsx:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/muse/components/canvas/MeasureOverlay.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-e4205a9af7fc78ae", "name": "Commented-code block (9 lines) in src/muse/components/canvas/BoxModelOverlay.tsx:32", "shortDescription": {"text": "Commented-code block (9 lines) in src/muse/components/canvas/BoxModelOverlay.tsx:32"}, "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-c92957713b4d7c5f", "name": "Commented-code block (9 lines) in src/muse/components/canvas/ReorderOverlay.tsx:19", "shortDescription": {"text": "Commented-code block (9 lines) in src/muse/components/canvas/ReorderOverlay.tsx:19"}, "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-7f653cb2875959d4", "name": "Commented-code block (5 lines) in src/muse/components/canvas/PropertiesPanel.tsx:158", "shortDescription": {"text": "Commented-code block (5 lines) in src/muse/components/canvas/PropertiesPanel.tsx:158"}, "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-cb64de536b1c5ade", "name": "Commented-code block (7 lines) in src/muse/components/canvas/ResizeHandles.tsx:8", "shortDescription": {"text": "Commented-code block (7 lines) in src/muse/components/canvas/ResizeHandles.tsx: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-388e186076a6ef96", "name": "Commented-code block (9 lines) in src/muse/style/cssVarEdit.ts:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/muse/style/cssVarEdit.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-0da1f01b131b6e5e", "name": "Commented-code block (9 lines) in src/muse/style/writers.ts:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/muse/style/writers.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-a671ecc644970ed7", "name": "Commented-code block (8 lines) in src/muse/style/colorMath.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/muse/style/colorMath.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-bc03bf379d3f3726", "name": "Commented-code block (12 lines) in src/muse/style/properties.ts:1", "shortDescription": {"text": "Commented-code block (12 lines) in src/muse/style/properties.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-059829a9f693382a", "name": "Commented-code block (15 lines) in src/muse/style/tokenSuggest.ts:1", "shortDescription": {"text": "Commented-code block (15 lines) in src/muse/style/tokenSuggest.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-e9c49eff4c42a0e1", "name": "Commented-code block (10 lines) in src/muse/style/cssRuleEdit.ts:1", "shortDescription": {"text": "Commented-code block (10 lines) in src/muse/style/cssRuleEdit.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-cce47d0ad2b10f6f", "name": "Commented-code block (13 lines) in src/muse/style/styledEdit.ts:1", "shortDescription": {"text": "Commented-code block (13 lines) in src/muse/style/styledEdit.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-53599d903c803622", "name": "Commented-code block (12 lines) in src/muse/style/tailwindScales.ts:3", "shortDescription": {"text": "Commented-code block (12 lines) in src/muse/style/tailwindScales.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-443036e654aa3f25", "name": "Commented-code block (9 lines) in src/muse/style/copyPaste.ts:1", "shortDescription": {"text": "Commented-code block (9 lines) in src/muse/style/copyPaste.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-2630c971c031783f", "name": "Commented-code block (7 lines) in src/muse/style/screens.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/muse/style/screens.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-4c840c7aec6eb6fc", "name": "Commented-code block (11 lines) in src/muse/hooks/useTransientSurface.ts:4", "shortDescription": {"text": "Commented-code block (11 lines) in src/muse/hooks/useTransientSurface.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-a2752365fdbc3158", "name": "Commented-code block (5 lines) in src/muse/hooks/useFocusTrap.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/muse/hooks/useFocusTrap.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-213fa563b1134fce", "name": "Commented-code block (8 lines) in src/muse/hooks/useShadowHost.ts:4", "shortDescription": {"text": "Commented-code block (8 lines) in src/muse/hooks/useShadowHost.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-21de2d011df08897", "name": "Commented-code block (5 lines) in src/site/SiteApp.tsx:129", "shortDescription": {"text": "Commented-code block (5 lines) in src/site/SiteApp.tsx:129"}, "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-7c35c64dbfe73874", "name": "Commented-code block (6 lines) in src/site/theme.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in src/site/theme.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-a2e7759622d9dbc5", "name": "Commented-code block (5 lines) in src/site/ui.tsx:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/site/ui.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-d2fc64c9a7afc8d8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/site/feedback.ts:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/site/feedback.ts:13"}, "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-2bcb7f8f1cc97533", "name": "Commented-code block (5 lines) in src/site/pages/Styling.tsx:7", "shortDescription": {"text": "Commented-code block (5 lines) in src/site/pages/Styling.tsx: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-84abb140d46f9da9", "name": "Unused endpoint: USE /api/muse/write", "shortDescription": {"text": "Unused endpoint: USE /api/muse/write"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/write` 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-c7bfdc45fa0b4f19", "name": "Unused endpoint: USE /api/muse/style-edit", "shortDescription": {"text": "Unused endpoint: USE /api/muse/style-edit"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/style-edit` 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-62b668d825fee11d", "name": "Unused endpoint: USE /api/muse/style-scope", "shortDescription": {"text": "Unused endpoint: USE /api/muse/style-scope"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/style-scope` 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-63ea877c3a5f682a", "name": "Unused endpoint: USE /api/muse/text-edit", "shortDescription": {"text": "Unused endpoint: USE /api/muse/text-edit"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/text-edit` 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-ffdfdb6de4eb5574", "name": "Unused endpoint: USE /api/muse/text-editable", "shortDescription": {"text": "Unused endpoint: USE /api/muse/text-editable"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/text-editable` 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-7afd0aa7058f6ebe", "name": "Unused endpoint: USE /api/muse/reorder", "shortDescription": {"text": "Unused endpoint: USE /api/muse/reorder"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/reorder` 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-e2537610fba0e3e4", "name": "Unused endpoint: USE /api/muse/reorderable", "shortDescription": {"text": "Unused endpoint: USE /api/muse/reorderable"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/reorderable` 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-4ec86256bdc16600", "name": "Unused endpoint: USE /api/muse/token-edit", "shortDescription": {"text": "Unused endpoint: USE /api/muse/token-edit"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/token-edit` 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-9ef48abfa1a9114c", "name": "Unused endpoint: USE /api/muse/tokens", "shortDescription": {"text": "Unused endpoint: USE /api/muse/tokens"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/tokens` 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-1266a0c1a706b459", "name": "Unused endpoint: USE /api/muse/flag", "shortDescription": {"text": "Unused endpoint: USE /api/muse/flag"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/flag` 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-0814ebd01f779e8e", "name": "Unused endpoint: USE /api/muse/flags", "shortDescription": {"text": "Unused endpoint: USE /api/muse/flags"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/flags` 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-34e88e41173b0aa9", "name": "Unused endpoint: USE /api/muse/flag-resolve", "shortDescription": {"text": "Unused endpoint: USE /api/muse/flag-resolve"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/flag-resolve` 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-037dc406dab2bcf2", "name": "Unused endpoint: USE /api/muse/flag-delete", "shortDescription": {"text": "Unused endpoint: USE /api/muse/flag-delete"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/flag-delete` 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-6e27eb2f6e1ec7e9", "name": "Unused endpoint: USE /api/muse/share-probe", "shortDescription": {"text": "Unused endpoint: USE /api/muse/share-probe"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/share-probe` 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-88936cb7a7a19283", "name": "Unused endpoint: USE /api/muse/share", "shortDescription": {"text": "Unused endpoint: USE /api/muse/share"}, "fullDescription": {"text": "`server/musePlugin.ts` declares `USE /api/muse/share` 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/21185"}, "properties": {"repository": "thientran01/Muse", "repoUrl": "https://github.com/thientran01/Muse", "branch": "main"}, "results": [{"ruleId": "scanner-a20f5cc20284572e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/standaloneServer.ts:109"}, "properties": {"repobilityId": "127b47c81ffc6db0", "scanner": "scanner-primary", "fingerprint": "a20f5cc20284572e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-55e6cdbe1664a69c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/muse/components/ChangesPanel.tsx:101"}, "properties": {"repobilityId": "6b58b4b6cb8efd3b", "scanner": "scanner-primary", "fingerprint": "55e6cdbe1664a69c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-60e886c34e257123", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/muse/components/FlagComposer.tsx:85"}, "properties": {"repobilityId": "875951170e1a3cf9", "scanner": "scanner-primary", "fingerprint": "60e886c34e257123", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3ac16e1d5a448272", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/muse/components/SelectionOverlay.tsx:41"}, "properties": {"repobilityId": "d0aeef78ac893be6", "scanner": "scanner-primary", "fingerprint": "3ac16e1d5a448272", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f37124ab660436a0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/muse/components/canvas/PropertiesPanel.tsx:195"}, "properties": {"repobilityId": "25e711cffa534b5f", "scanner": "scanner-primary", "fingerprint": "f37124ab660436a0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a25e4d2fe3198570", "level": "error", "message": {"text": "Runtime dotenv file present in repo: .env.demo"}, "properties": {"repobilityId": "57bd1786d44b5717", "scanner": "scanner-primary", "fingerprint": "a25e4d2fe3198570", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".env.demo"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-564b45d270cf0238", "level": "error", "message": {"text": "Runtime dotenv file present in repo: .env.production"}, "properties": {"repobilityId": "da3016501941bee3", "scanner": "scanner-primary", "fingerprint": "564b45d270cf0238", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".env.production"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0dd8bc2ff992e373", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in server/gitShare.ts:17"}, "properties": {"repobilityId": "38a9f39a04cf6621", "scanner": "scanner-primary", "fingerprint": "0dd8bc2ff992e373", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/gitShare.ts"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-279c828bd3449b0d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in server/__tests__/gitShare.test.ts:11"}, "properties": {"repobilityId": "1d7d65da86b75f09", "scanner": "scanner-primary", "fingerprint": "279c828bd3449b0d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/__tests__/gitShare.test.ts"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-90cf55ffae07e4f7", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "492a1c00bf50049f", "scanner": "scanner-primary", "fingerprint": "90cf55ffae07e4f7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/muse-mcp/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8498a51c21a35206", "level": "note", "message": {"text": "Very large file: server/museCore.ts (1220 lines)"}, "properties": {"repobilityId": "5786c60f0491fc35", "scanner": "scanner-primary", "fingerprint": "8498a51c21a35206", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b376f4adba8b79ec", "level": "note", "message": {"text": "Very large file: server/styleEdit.ts (1981 lines)"}, "properties": {"repobilityId": "9117913303506939", "scanner": "scanner-primary", "fingerprint": "b376f4adba8b79ec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3aae994a2c88edd2", "level": "note", "message": {"text": "Very large file: src/muse/components/canvas/CanvasMode.tsx (1790 lines)"}, "properties": {"repobilityId": "fe9b18bde732b22f", "scanner": "scanner-primary", "fingerprint": "3aae994a2c88edd2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-38fc975a9bafd64c", "level": "note", "message": {"text": "Very large file: src/muse/components/canvas/ReorderOverlay.tsx (954 lines)"}, "properties": {"repobilityId": "888da983f5539038", "scanner": "scanner-primary", "fingerprint": "38fc975a9bafd64c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9d82a401aff158f5", "level": "note", "message": {"text": "Very large file: src/muse/components/canvas/PropertiesPanel.tsx (1224 lines)"}, "properties": {"repobilityId": "60a8d2147e342f9d", "scanner": "scanner-primary", "fingerprint": "9d82a401aff158f5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "99a687ed9c530d04", "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": "ec05137ea39284ce", "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": "8c7755f569447cf6", "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": "1e33dd3a865ddab5", "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": "3aa961c57fc8b88c", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-53342318a6d5b1b5", "level": "none", "message": {"text": "Commented-code block (6 lines) in vite.config.ts:11"}, "properties": {"repobilityId": "26a4de49ef4b8422", "scanner": "scanner-primary", "fingerprint": "53342318a6d5b1b5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d138460a381458a", "level": "none", "message": {"text": "Commented-code block (8 lines) in tailwind.config.js:3"}, "properties": {"repobilityId": "4016b4a98b93f433", "scanner": "scanner-primary", "fingerprint": "0d138460a381458a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d02a23f28ea88552", "level": "none", "message": {"text": "Commented-code block (6 lines) in vitest.config.ts:3"}, "properties": {"repobilityId": "55912474fb3fc414", "scanner": "scanner-primary", "fingerprint": "d02a23f28ea88552", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-722bfae82c725593", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/build-overlay-css.mjs:1"}, "properties": {"repobilityId": "4821392db8b68ad2", "scanner": "scanner-primary", "fingerprint": "722bfae82c725593", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82ba12ac69753100", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/muse-mcp/src/index.ts:4"}, "properties": {"repobilityId": "2b2ab73c02933f2c", "scanner": "scanner-primary", "fingerprint": "82ba12ac69753100", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-974684748f833275", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/muse-mcp/src/flagsStore.ts:6"}, "properties": {"repobilityId": "7c00adb5d17092d4", "scanner": "scanner-primary", "fingerprint": "974684748f833275", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9283c763ee5add45", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/standaloneServer.ts:1"}, "properties": {"repobilityId": "a1b32fe1f5a4c8c7", "scanner": "scanner-primary", "fingerprint": "9283c763ee5add45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f2e48f841a8eab5a", "level": "none", "message": {"text": "Commented-code block (9 lines) in server/gitShare.ts:1"}, "properties": {"repobilityId": "4570addda428390e", "scanner": "scanner-primary", "fingerprint": "f2e48f841a8eab5a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4eb7798bb45ad4ef", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/musePlugin.ts:1"}, "properties": {"repobilityId": "f35478831d082b74", "scanner": "scanner-primary", "fingerprint": "4eb7798bb45ad4ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0dc43f29b2378511", "level": "none", "message": {"text": "Commented-code block (8 lines) in server/webAdapter.ts:1"}, "properties": {"repobilityId": "7480567144faefc9", "scanner": "scanner-primary", "fingerprint": "0dc43f29b2378511", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b38c4ca1b4f15ffe", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/museCore.ts:1"}, "properties": {"repobilityId": "847f13688bd77df5", "scanner": "scanner-primary", "fingerprint": "b38c4ca1b4f15ffe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac63efb592117b3d", "level": "none", "message": {"text": "Commented-code block (8 lines) in server/styleEdit.ts:1"}, "properties": {"repobilityId": "f436ce360eb7b3c9", "scanner": "scanner-primary", "fingerprint": "ac63efb592117b3d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa7c5d4fab409aa6", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/__tests__/tokenSuggest.test.ts:1"}, "properties": {"repobilityId": "0704d458aefe7e99", "scanner": "scanner-primary", "fingerprint": "fa7c5d4fab409aa6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b3b6fbf69d6403a4", "level": "none", "message": {"text": "Commented-code block (8 lines) in server/__tests__/styledEdit.test.ts:1"}, "properties": {"repobilityId": "5edc9c75874e1e4e", "scanner": "scanner-primary", "fingerprint": "b3b6fbf69d6403a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31b97793751e731a", "level": "none", "message": {"text": "Commented-code block (9 lines) in server/__tests__/appearanceProps.test.ts:1"}, "properties": {"repobilityId": "ead7cb27c7d855d5", "scanner": "scanner-primary", "fingerprint": "31b97793751e731a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff2d256bcdb6871a", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/__tests__/layoutProps.test.ts:1"}, "properties": {"repobilityId": "ecc54d217171ecac", "scanner": "scanner-primary", "fingerprint": "ff2d256bcdb6871a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f17383604a543248", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/__tests__/classPatch.test.ts:1"}, "properties": {"repobilityId": "b57b6351e6ab69f0", "scanner": "scanner-primary", "fingerprint": "f17383604a543248", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5334ca91f324f2e7", "level": "none", "message": {"text": "Commented-code block (8 lines) in server/__tests__/cssVarEdit.test.ts:1"}, "properties": {"repobilityId": "e741234d3ede9779", "scanner": "scanner-primary", "fingerprint": "5334ca91f324f2e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f6870a4bf04374d", "level": "none", "message": {"text": "Commented-code block (10 lines) in server/__tests__/handlers.test.ts:1"}, "properties": {"repobilityId": "b90b735a9d88c54a", "scanner": "scanner-primary", "fingerprint": "3f6870a4bf04374d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-971cf054eb06ada6", "level": "none", "message": {"text": "Commented-code block (11 lines) in server/__tests__/computeStyleEdit.test.ts:1"}, "properties": {"repobilityId": "31e9328f6f4585d3", "scanner": "scanner-primary", "fingerprint": "971cf054eb06ada6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a86896a22721952", "level": "none", "message": {"text": "Commented-code block (8 lines) in server/__tests__/cssRuleEdit.test.ts:1"}, "properties": {"repobilityId": "6887b7ca1156bf3f", "scanner": "scanner-primary", "fingerprint": "2a86896a22721952", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d1b5d507264f02b", "level": "none", "message": {"text": "Commented-code block (9 lines) in server/__tests__/gitShare.test.ts:1"}, "properties": {"repobilityId": "2fa43c8069ea9886", "scanner": "scanner-primary", "fingerprint": "0d1b5d507264f02b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5bccc0248765f34", "level": "none", "message": {"text": "Commented-code block (13 lines) in server/__tests__/variantEdit.test.ts:1"}, "properties": {"repobilityId": "fde04fe0fb1468cd", "scanner": "scanner-primary", "fingerprint": "f5bccc0248765f34", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9de88a5d39832e9", "level": "none", "message": {"text": "Commented-code block (8 lines) in server/__tests__/sessionChanges.test.ts:1"}, "properties": {"repobilityId": "181bde50dfd159ac", "scanner": "scanner-primary", "fingerprint": "c9de88a5d39832e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa65e164762a5343", "level": "none", "message": {"text": "Commented-code block (8 lines) in babel/muse-loc.cjs:1"}, "properties": {"repobilityId": "5e367621c74feab5", "scanner": "scanner-primary", "fingerprint": "fa65e164762a5343", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27898a8b91a211ed", "level": "none", "message": {"text": "Commented-code block (18 lines) in src/muse/config.ts:1"}, "properties": {"repobilityId": "9a40d55e6b97482d", "scanner": "scanner-primary", "fingerprint": "27898a8b91a211ed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c71c478b26800eb", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/muse/api.ts:152"}, "properties": {"repobilityId": "8f3864c6edda143d", "scanner": "scanner-primary", "fingerprint": "3c71c478b26800eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba49cbe99e94f8db", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/muse/api.ts:35"}, "properties": {"repobilityId": "a235d6395d602869", "scanner": "scanner-primary", "fingerprint": "ba49cbe99e94f8db", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a494198fc5eb0568", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/muse/sessionChanges.ts:3"}, "properties": {"repobilityId": "063eee97f6e0572e", "scanner": "scanner-primary", "fingerprint": "a494198fc5eb0568", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5fc9d43f4d301be", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/muse/cssom.ts:5"}, "properties": {"repobilityId": "522e66287e688f5c", "scanner": "scanner-primary", "fingerprint": "c5fc9d43f4d301be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94748a8400d5431f", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/muse/forcedState.ts:3"}, "properties": {"repobilityId": "816ce57a0c532727", "scanner": "scanner-primary", "fingerprint": "94748a8400d5431f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-104aac3f59c9c74a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/muse/useCanvasMode.ts:7"}, "properties": {"repobilityId": "ab00a9785fbe4d1a", "scanner": "scanner-primary", "fingerprint": "104aac3f59c9c74a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-24d1e6181625dbef", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/muse/store.ts:10"}, "properties": {"repobilityId": "ae6552b82dfa6b11", "scanner": "scanner-primary", "fingerprint": "24d1e6181625dbef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b52c246c886cf4bc", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/muse/animationFreeze.ts:40"}, "properties": {"repobilityId": "07795442bf99a90a", "scanner": "scanner-primary", "fingerprint": "b52c246c886cf4bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-325e931f1841be8a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/muse/prefs.ts:3"}, "properties": {"repobilityId": "a91128ed4873842c", "scanner": "scanner-primary", "fingerprint": "325e931f1841be8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5adfa6b50d1c327", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/muse/measure.ts:4"}, "properties": {"repobilityId": "b347cb895b67cd2d", "scanner": "scanner-primary", "fingerprint": "c5adfa6b50d1c327", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bbb76ebe0dff2303", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/muse/sourceLocation.ts:6"}, "properties": {"repobilityId": "2437e6f41e8d017d", "scanner": "scanner-primary", "fingerprint": "bbb76ebe0dff2303", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-182c63b00b82073b", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/muse/MuseOverlay.tsx:70"}, "properties": {"repobilityId": "435c457f8975fa99", "scanner": "scanner-primary", "fingerprint": "182c63b00b82073b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a19511560d81931", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/muse/types.ts:34"}, "properties": {"repobilityId": "d9072ce03967396e", "scanner": "scanner-primary", "fingerprint": "3a19511560d81931", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d9f30f81910194b3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/muse/components/ChangesPanel.tsx:8"}, "properties": {"repobilityId": "d79999983a98599b", "scanner": "scanner-primary", "fingerprint": "d9f30f81910194b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8f65ef32eb60737b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/muse/components/FlagsPanel.tsx:8"}, "properties": {"repobilityId": "eabf36945d42a1b9", "scanner": "scanner-primary", "fingerprint": "8f65ef32eb60737b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1c233c01cf825a6", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/muse/components/MuseToolbar.tsx:17"}, "properties": {"repobilityId": "2b048a876c3dc7e7", "scanner": "scanner-primary", "fingerprint": "e1c233c01cf825a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21e99b12e1143992", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/muse/components/FlagComposer.tsx:5"}, "properties": {"repobilityId": "f53d76e129cb1d10", "scanner": "scanner-primary", "fingerprint": "21e99b12e1143992", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-590942d5ee3fc33c", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/muse/components/TokenList.tsx:69"}, "properties": {"repobilityId": "56025f8ed38ccabc", "scanner": "scanner-primary", "fingerprint": "590942d5ee3fc33c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a3744e36fc93f3ec", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/muse/components/UfoIcon.tsx:33"}, "properties": {"repobilityId": "96ebafa7b7a58a64", "scanner": "scanner-primary", "fingerprint": "a3744e36fc93f3ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ccb63e07ace5a62e", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/muse/components/canvas/GapOverlay.tsx:7"}, "properties": {"repobilityId": "6223e7f5048a6b2f", "scanner": "scanner-primary", "fingerprint": "ccb63e07ace5a62e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2042a23603747f3d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/muse/components/canvas/ScrubField.tsx:3"}, "properties": {"repobilityId": "72815c3d5bfa1c37", "scanner": "scanner-primary", "fingerprint": "2042a23603747f3d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50503b3f644c7cf6", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/muse/components/canvas/CanvasMode.tsx:111"}, "properties": {"repobilityId": "030f1adcafaa05b7", "scanner": "scanner-primary", "fingerprint": "50503b3f644c7cf6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c5efca170b7bc1d", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/muse/components/canvas/ColorPicker.tsx:69"}, "properties": {"repobilityId": "3b72e88a71a500ed", "scanner": "scanner-primary", "fingerprint": "7c5efca170b7bc1d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c7edbbe39489bf5", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/muse/components/canvas/MeasureOverlay.tsx:1"}, "properties": {"repobilityId": "8b059139fc61cb80", "scanner": "scanner-primary", "fingerprint": "7c7edbbe39489bf5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4205a9af7fc78ae", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/muse/components/canvas/BoxModelOverlay.tsx:32"}, "properties": {"repobilityId": "fcc5d346bbff635b", "scanner": "scanner-primary", "fingerprint": "e4205a9af7fc78ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c92957713b4d7c5f", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/muse/components/canvas/ReorderOverlay.tsx:19"}, "properties": {"repobilityId": "b2921a12e5766fcc", "scanner": "scanner-primary", "fingerprint": "c92957713b4d7c5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f653cb2875959d4", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/muse/components/canvas/PropertiesPanel.tsx:158"}, "properties": {"repobilityId": "de03dca75a6a9d75", "scanner": "scanner-primary", "fingerprint": "7f653cb2875959d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb64de536b1c5ade", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/muse/components/canvas/ResizeHandles.tsx:8"}, "properties": {"repobilityId": "b401659b0fa4fe19", "scanner": "scanner-primary", "fingerprint": "cb64de536b1c5ade", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-388e186076a6ef96", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/muse/style/cssVarEdit.ts:1"}, "properties": {"repobilityId": "c605ba6609765b9f", "scanner": "scanner-primary", "fingerprint": "388e186076a6ef96", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0da1f01b131b6e5e", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/muse/style/writers.ts:1"}, "properties": {"repobilityId": "0098a81bfc133bab", "scanner": "scanner-primary", "fingerprint": "0da1f01b131b6e5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a671ecc644970ed7", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/muse/style/colorMath.ts:1"}, "properties": {"repobilityId": "23df539b777a63ab", "scanner": "scanner-primary", "fingerprint": "a671ecc644970ed7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc03bf379d3f3726", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/muse/style/properties.ts:1"}, "properties": {"repobilityId": "ebbf52c07942592b", "scanner": "scanner-primary", "fingerprint": "bc03bf379d3f3726", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-059829a9f693382a", "level": "none", "message": {"text": "Commented-code block (15 lines) in src/muse/style/tokenSuggest.ts:1"}, "properties": {"repobilityId": "68d921856b555e17", "scanner": "scanner-primary", "fingerprint": "059829a9f693382a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e9c49eff4c42a0e1", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/muse/style/cssRuleEdit.ts:1"}, "properties": {"repobilityId": "d1e50ceed15dd90b", "scanner": "scanner-primary", "fingerprint": "e9c49eff4c42a0e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cce47d0ad2b10f6f", "level": "none", "message": {"text": "Commented-code block (13 lines) in src/muse/style/styledEdit.ts:1"}, "properties": {"repobilityId": "b93b5974114059ac", "scanner": "scanner-primary", "fingerprint": "cce47d0ad2b10f6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-53599d903c803622", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/muse/style/tailwindScales.ts:3"}, "properties": {"repobilityId": "7d0a2a1589045d7c", "scanner": "scanner-primary", "fingerprint": "53599d903c803622", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-443036e654aa3f25", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/muse/style/copyPaste.ts:1"}, "properties": {"repobilityId": "2673fe2888bc6111", "scanner": "scanner-primary", "fingerprint": "443036e654aa3f25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2630c971c031783f", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/muse/style/screens.ts:1"}, "properties": {"repobilityId": "bace3f3946fe3f3a", "scanner": "scanner-primary", "fingerprint": "2630c971c031783f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c840c7aec6eb6fc", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/muse/hooks/useTransientSurface.ts:4"}, "properties": {"repobilityId": "b93e875aa972925f", "scanner": "scanner-primary", "fingerprint": "4c840c7aec6eb6fc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a2752365fdbc3158", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/muse/hooks/useFocusTrap.ts:3"}, "properties": {"repobilityId": "207ecc83e218ba1d", "scanner": "scanner-primary", "fingerprint": "a2752365fdbc3158", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-213fa563b1134fce", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/muse/hooks/useShadowHost.ts:4"}, "properties": {"repobilityId": "e949839c5a8a7b29", "scanner": "scanner-primary", "fingerprint": "213fa563b1134fce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21de2d011df08897", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/site/SiteApp.tsx:129"}, "properties": {"repobilityId": "03df400697f5cdd3", "scanner": "scanner-primary", "fingerprint": "21de2d011df08897", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c35c64dbfe73874", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/site/theme.ts:3"}, "properties": {"repobilityId": "f9f646b4688b0cce", "scanner": "scanner-primary", "fingerprint": "7c35c64dbfe73874", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a2e7759622d9dbc5", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/site/ui.tsx:1"}, "properties": {"repobilityId": "d61c5b34cb3bb176", "scanner": "scanner-primary", "fingerprint": "a2e7759622d9dbc5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d2fc64c9a7afc8d8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/site/feedback.ts:13"}, "properties": {"repobilityId": "1e99e1d2ff3e620e", "scanner": "scanner-primary", "fingerprint": "d2fc64c9a7afc8d8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2bcb7f8f1cc97533", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/site/pages/Styling.tsx:7"}, "properties": {"repobilityId": "8685ec2787dc9e98", "scanner": "scanner-primary", "fingerprint": "2bcb7f8f1cc97533", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84abb140d46f9da9", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/write"}, "properties": {"repobilityId": "50b578822ff832b9", "scanner": "scanner-primary", "fingerprint": "84abb140d46f9da9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c7bfdc45fa0b4f19", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/style-edit"}, "properties": {"repobilityId": "df9533755b0a1b3f", "scanner": "scanner-primary", "fingerprint": "c7bfdc45fa0b4f19", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-62b668d825fee11d", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/style-scope"}, "properties": {"repobilityId": "a41309bc1aab1726", "scanner": "scanner-primary", "fingerprint": "62b668d825fee11d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-63ea877c3a5f682a", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/text-edit"}, "properties": {"repobilityId": "eadbf52f69bc8ca0", "scanner": "scanner-primary", "fingerprint": "63ea877c3a5f682a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ffdfdb6de4eb5574", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/text-editable"}, "properties": {"repobilityId": "d33ea2bb839e1c75", "scanner": "scanner-primary", "fingerprint": "ffdfdb6de4eb5574", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7afd0aa7058f6ebe", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/reorder"}, "properties": {"repobilityId": "70571541c173bcb6", "scanner": "scanner-primary", "fingerprint": "7afd0aa7058f6ebe", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e2537610fba0e3e4", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/reorderable"}, "properties": {"repobilityId": "1b889d625c1c2788", "scanner": "scanner-primary", "fingerprint": "e2537610fba0e3e4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4ec86256bdc16600", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/token-edit"}, "properties": {"repobilityId": "ecf5366ccb036737", "scanner": "scanner-primary", "fingerprint": "4ec86256bdc16600", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9ef48abfa1a9114c", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/tokens"}, "properties": {"repobilityId": "ce03ae2615b0c7f7", "scanner": "scanner-primary", "fingerprint": "9ef48abfa1a9114c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1266a0c1a706b459", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/flag"}, "properties": {"repobilityId": "da814bafab2a3667", "scanner": "scanner-primary", "fingerprint": "1266a0c1a706b459", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0814ebd01f779e8e", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/flags"}, "properties": {"repobilityId": "689191614808a485", "scanner": "scanner-primary", "fingerprint": "0814ebd01f779e8e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-34e88e41173b0aa9", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/flag-resolve"}, "properties": {"repobilityId": "b8bca435ad30e55d", "scanner": "scanner-primary", "fingerprint": "34e88e41173b0aa9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-037dc406dab2bcf2", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/flag-delete"}, "properties": {"repobilityId": "f60da2cb3fde1dad", "scanner": "scanner-primary", "fingerprint": "037dc406dab2bcf2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6e27eb2f6e1ec7e9", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/share-probe"}, "properties": {"repobilityId": "ad6b93517bab5d98", "scanner": "scanner-primary", "fingerprint": "6e27eb2f6e1ec7e9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-88936cb7a7a19283", "level": "note", "message": {"text": "Unused endpoint: USE /api/muse/share"}, "properties": {"repobilityId": "ed05528336396642", "scanner": "scanner-primary", "fingerprint": "88936cb7a7a19283", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}